Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: chrome/browser/geolocation/geolocation_permission_context_unittest.cc

Issue 2619603002: Remove android_java_ui as it is not used (Closed)
Patch Set: Rebase to master Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/geolocation/geolocation_permission_context.h" 5 #include "chrome/browser/geolocation/geolocation_permission_context.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "content/public/browser/notification_service.h" 44 #include "content/public/browser/notification_service.h"
45 #include "content/public/browser/render_frame_host.h" 45 #include "content/public/browser/render_frame_host.h"
46 #include "content/public/browser/web_contents.h" 46 #include "content/public/browser/web_contents.h"
47 #include "content/public/test/mock_render_process_host.h" 47 #include "content/public/test/mock_render_process_host.h"
48 #include "content/public/test/test_renderer_host.h" 48 #include "content/public/test/test_renderer_host.h"
49 #include "content/public/test/test_utils.h" 49 #include "content/public/test/test_utils.h"
50 #include "content/public/test/web_contents_tester.h" 50 #include "content/public/test/web_contents_tester.h"
51 #include "extensions/features/features.h" 51 #include "extensions/features/features.h"
52 #include "testing/gtest/include/gtest/gtest.h" 52 #include "testing/gtest/include/gtest/gtest.h"
53 53
54 #if BUILDFLAG(ANDROID_JAVA_UI) 54 #if defined(OS_ANDROID)
55 #include "chrome/browser/android/mock_location_settings.h" 55 #include "chrome/browser/android/mock_location_settings.h"
56 #include "chrome/browser/geolocation/geolocation_permission_context_android.h" 56 #include "chrome/browser/geolocation/geolocation_permission_context_android.h"
57 #include "components/prefs/pref_service.h" 57 #include "components/prefs/pref_service.h"
58 #else 58 #else
59 #include "chrome/browser/permissions/permission_request_manager.h" 59 #include "chrome/browser/permissions/permission_request_manager.h"
60 #include "chrome/browser/ui/website_settings/mock_permission_prompt_factory.h" 60 #include "chrome/browser/ui/website_settings/mock_permission_prompt_factory.h"
61 #endif 61 #endif
62 62
63 #if BUILDFLAG(ENABLE_EXTENSIONS) 63 #if BUILDFLAG(ENABLE_EXTENSIONS)
64 #include "extensions/browser/view_type_utils.h" 64 #include "extensions/browser/view_type_utils.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 void PermissionResponse(const PermissionRequestID& id, 143 void PermissionResponse(const PermissionRequestID& id,
144 ContentSetting content_setting); 144 ContentSetting content_setting);
145 void CheckPermissionMessageSent(int request_id, bool allowed); 145 void CheckPermissionMessageSent(int request_id, bool allowed);
146 void CheckPermissionMessageSentForTab(int tab, int request_id, bool allowed); 146 void CheckPermissionMessageSentForTab(int tab, int request_id, bool allowed);
147 void CheckPermissionMessageSentInternal(MockRenderProcessHost* process, 147 void CheckPermissionMessageSentInternal(MockRenderProcessHost* process,
148 int request_id, 148 int request_id,
149 bool allowed); 149 bool allowed);
150 void AddNewTab(const GURL& url); 150 void AddNewTab(const GURL& url);
151 void CheckTabContentsState(const GURL& requesting_frame, 151 void CheckTabContentsState(const GURL& requesting_frame,
152 ContentSetting expected_content_setting); 152 ContentSetting expected_content_setting);
153 #if !BUILDFLAG(ANDROID_JAVA_UI) 153 #if !defined(OS_ANDROID)
154 void SetupRequestManager(content::WebContents* web_contents); 154 void SetupRequestManager(content::WebContents* web_contents);
155 size_t GetBubblesQueueSize(PermissionRequestManager* manager); 155 size_t GetBubblesQueueSize(PermissionRequestManager* manager);
156 void AcceptBubble(PermissionRequestManager* manager); 156 void AcceptBubble(PermissionRequestManager* manager);
157 void DenyBubble(PermissionRequestManager* manager); 157 void DenyBubble(PermissionRequestManager* manager);
158 void CloseBubble(PermissionRequestManager* manager); 158 void CloseBubble(PermissionRequestManager* manager);
159 #endif 159 #endif
160 void RequestManagerDocumentLoadCompleted(); 160 void RequestManagerDocumentLoadCompleted();
161 void RequestManagerDocumentLoadCompleted(content::WebContents* web_contents); 161 void RequestManagerDocumentLoadCompleted(content::WebContents* web_contents);
162 ContentSetting GetGeolocationContentSetting(GURL frame_0, GURL frame_1); 162 ContentSetting GetGeolocationContentSetting(GURL frame_0, GURL frame_1);
163 size_t GetNumberOfPrompts(); 163 size_t GetNumberOfPrompts();
164 void AcceptPrompt(); 164 void AcceptPrompt();
165 base::string16 GetPromptText(); 165 base::string16 GetPromptText();
166 166
167 // owned by the browser context 167 // owned by the browser context
168 GeolocationPermissionContext* geolocation_permission_context_; 168 GeolocationPermissionContext* geolocation_permission_context_;
169 ClosedInfoBarTracker closed_infobar_tracker_; 169 ClosedInfoBarTracker closed_infobar_tracker_;
170 std::vector<std::unique_ptr<content::WebContents>> extra_tabs_; 170 std::vector<std::unique_ptr<content::WebContents>> extra_tabs_;
171 #if !BUILDFLAG(ANDROID_JAVA_UI) 171 #if !defined(OS_ANDROID)
172 std::vector<std::unique_ptr<MockPermissionPromptFactory>> 172 std::vector<std::unique_ptr<MockPermissionPromptFactory>>
173 mock_permission_prompt_factories_; 173 mock_permission_prompt_factories_;
174 #endif 174 #endif
175 175
176 // A map between renderer child id and a pair represending the bridge id and 176 // A map between renderer child id and a pair represending the bridge id and
177 // whether the requested permission was allowed. 177 // whether the requested permission was allowed.
178 base::hash_map<int, std::pair<int, bool> > responses_; 178 base::hash_map<int, std::pair<int, bool> > responses_;
179 }; 179 };
180 180
181 PermissionRequestID GeolocationPermissionContextTests::RequestID( 181 PermissionRequestID GeolocationPermissionContextTests::RequestID(
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 url, content::Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); 245 url, content::Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
246 content::NavigationEntry* entry = new_tab->GetController().GetPendingEntry(); 246 content::NavigationEntry* entry = new_tab->GetController().GetPendingEntry();
247 content::RenderFrameHostTester::For(new_tab->GetMainFrame()) 247 content::RenderFrameHostTester::For(new_tab->GetMainFrame())
248 ->SendNavigate(entry->GetUniqueID(), true, url); 248 ->SendNavigate(entry->GetUniqueID(), true, url);
249 249
250 // Set up required helpers, and make this be as "tabby" as the code requires. 250 // Set up required helpers, and make this be as "tabby" as the code requires.
251 #if BUILDFLAG(ENABLE_EXTENSIONS) 251 #if BUILDFLAG(ENABLE_EXTENSIONS)
252 extensions::SetViewType(new_tab, extensions::VIEW_TYPE_TAB_CONTENTS); 252 extensions::SetViewType(new_tab, extensions::VIEW_TYPE_TAB_CONTENTS);
253 #endif 253 #endif
254 254
255 #if BUILDFLAG(ANDROID_JAVA_UI) 255 #if defined(OS_ANDROID)
256 InfoBarService::CreateForWebContents(new_tab); 256 InfoBarService::CreateForWebContents(new_tab);
257 #else 257 #else
258 SetupRequestManager(new_tab); 258 SetupRequestManager(new_tab);
259 #endif 259 #endif
260 260
261 extra_tabs_.push_back(base::WrapUnique(new_tab)); 261 extra_tabs_.push_back(base::WrapUnique(new_tab));
262 } 262 }
263 263
264 void GeolocationPermissionContextTests::CheckTabContentsState( 264 void GeolocationPermissionContextTests::CheckTabContentsState(
265 const GURL& requesting_frame, 265 const GURL& requesting_frame,
(...skipping 16 matching lines...) Expand all
282 282
283 // Set up required helpers, and make this be as "tabby" as the code requires. 283 // Set up required helpers, and make this be as "tabby" as the code requires.
284 #if BUILDFLAG(ENABLE_EXTENSIONS) 284 #if BUILDFLAG(ENABLE_EXTENSIONS)
285 extensions::SetViewType(web_contents(), extensions::VIEW_TYPE_TAB_CONTENTS); 285 extensions::SetViewType(web_contents(), extensions::VIEW_TYPE_TAB_CONTENTS);
286 #endif 286 #endif
287 InfoBarService::CreateForWebContents(web_contents()); 287 InfoBarService::CreateForWebContents(web_contents());
288 TabSpecificContentSettings::CreateForWebContents(web_contents()); 288 TabSpecificContentSettings::CreateForWebContents(web_contents());
289 geolocation_permission_context_ = static_cast<GeolocationPermissionContext*>( 289 geolocation_permission_context_ = static_cast<GeolocationPermissionContext*>(
290 PermissionManager::Get(profile())->GetPermissionContext( 290 PermissionManager::Get(profile())->GetPermissionContext(
291 content::PermissionType::GEOLOCATION)); 291 content::PermissionType::GEOLOCATION));
292 #if BUILDFLAG(ANDROID_JAVA_UI) 292 #if defined(OS_ANDROID)
293 static_cast<GeolocationPermissionContextAndroid*>( 293 static_cast<GeolocationPermissionContextAndroid*>(
294 geolocation_permission_context_) 294 geolocation_permission_context_)
295 ->SetLocationSettingsForTesting( 295 ->SetLocationSettingsForTesting(
296 std::unique_ptr<LocationSettings>(new MockLocationSettings())); 296 std::unique_ptr<LocationSettings>(new MockLocationSettings()));
297 MockLocationSettings::SetLocationStatus(true, true); 297 MockLocationSettings::SetLocationStatus(true, true);
298 #else 298 #else
299 SetupRequestManager(web_contents()); 299 SetupRequestManager(web_contents());
300 #endif 300 #endif
301 } 301 }
302 302
303 void GeolocationPermissionContextTests::TearDown() { 303 void GeolocationPermissionContextTests::TearDown() {
304 #if !BUILDFLAG(ANDROID_JAVA_UI) 304 #if !defined(OS_ANDROID)
305 mock_permission_prompt_factories_.clear(); 305 mock_permission_prompt_factories_.clear();
306 #endif 306 #endif
307 extra_tabs_.clear(); 307 extra_tabs_.clear();
308 ChromeRenderViewHostTestHarness::TearDown(); 308 ChromeRenderViewHostTestHarness::TearDown();
309 } 309 }
310 310
311 #if !BUILDFLAG(ANDROID_JAVA_UI) 311 #if !defined(OS_ANDROID)
312 void GeolocationPermissionContextTests::SetupRequestManager( 312 void GeolocationPermissionContextTests::SetupRequestManager(
313 content::WebContents* web_contents) { 313 content::WebContents* web_contents) {
314 // Create PermissionRequestManager. 314 // Create PermissionRequestManager.
315 PermissionRequestManager::CreateForWebContents(web_contents); 315 PermissionRequestManager::CreateForWebContents(web_contents);
316 PermissionRequestManager* permission_request_manager = 316 PermissionRequestManager* permission_request_manager =
317 PermissionRequestManager::FromWebContents(web_contents); 317 PermissionRequestManager::FromWebContents(web_contents);
318 318
319 // Create a MockPermissionPromptFactory for the PermissionRequestManager. 319 // Create a MockPermissionPromptFactory for the PermissionRequestManager.
320 mock_permission_prompt_factories_.push_back( 320 mock_permission_prompt_factories_.push_back(
321 base::MakeUnique<MockPermissionPromptFactory>( 321 base::MakeUnique<MockPermissionPromptFactory>(
(...skipping 24 matching lines...) Expand all
346 } 346 }
347 #endif 347 #endif
348 348
349 void GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted() { 349 void GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted() {
350 GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted( 350 GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted(
351 web_contents()); 351 web_contents());
352 } 352 }
353 353
354 void GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted( 354 void GeolocationPermissionContextTests::RequestManagerDocumentLoadCompleted(
355 content::WebContents* web_contents) { 355 content::WebContents* web_contents) {
356 #if !BUILDFLAG(ANDROID_JAVA_UI) 356 #if !defined(OS_ANDROID)
357 PermissionRequestManager::FromWebContents(web_contents)-> 357 PermissionRequestManager::FromWebContents(web_contents)->
358 DocumentOnLoadCompletedInMainFrame(); 358 DocumentOnLoadCompletedInMainFrame();
359 #endif 359 #endif
360 } 360 }
361 361
362 ContentSetting GeolocationPermissionContextTests::GetGeolocationContentSetting( 362 ContentSetting GeolocationPermissionContextTests::GetGeolocationContentSetting(
363 GURL frame_0, GURL frame_1) { 363 GURL frame_0, GURL frame_1) {
364 return HostContentSettingsMapFactory::GetForProfile(profile()) 364 return HostContentSettingsMapFactory::GetForProfile(profile())
365 ->GetContentSetting(frame_0, 365 ->GetContentSetting(frame_0,
366 frame_1, 366 frame_1,
367 CONTENT_SETTINGS_TYPE_GEOLOCATION, 367 CONTENT_SETTINGS_TYPE_GEOLOCATION,
368 std::string()); 368 std::string());
369 } 369 }
370 370
371 size_t GeolocationPermissionContextTests::GetNumberOfPrompts() { 371 size_t GeolocationPermissionContextTests::GetNumberOfPrompts() {
372 #if !BUILDFLAG(ANDROID_JAVA_UI) 372 #if !defined(OS_ANDROID)
373 PermissionRequestManager* manager = 373 PermissionRequestManager* manager =
374 PermissionRequestManager::FromWebContents(web_contents()); 374 PermissionRequestManager::FromWebContents(web_contents());
375 return GetBubblesQueueSize(manager); 375 return GetBubblesQueueSize(manager);
376 #else 376 #else
377 return infobar_service()->infobar_count(); 377 return infobar_service()->infobar_count();
378 #endif 378 #endif
379 } 379 }
380 380
381 void GeolocationPermissionContextTests::AcceptPrompt() { 381 void GeolocationPermissionContextTests::AcceptPrompt() {
382 #if !BUILDFLAG(ANDROID_JAVA_UI) 382 #if !defined(OS_ANDROID)
383 PermissionRequestManager* manager = 383 PermissionRequestManager* manager =
384 PermissionRequestManager::FromWebContents(web_contents()); 384 PermissionRequestManager::FromWebContents(web_contents());
385 AcceptBubble(manager); 385 AcceptBubble(manager);
386 #else 386 #else
387 infobars::InfoBar* infobar = infobar_service()->infobar_at(0); 387 infobars::InfoBar* infobar = infobar_service()->infobar_at(0);
388 ConfirmInfoBarDelegate* infobar_delegate = 388 ConfirmInfoBarDelegate* infobar_delegate =
389 infobar->delegate()->AsConfirmInfoBarDelegate(); 389 infobar->delegate()->AsConfirmInfoBarDelegate();
390 infobar_delegate->Accept(); 390 infobar_delegate->Accept();
391 #endif 391 #endif
392 } 392 }
393 393
394 base::string16 GeolocationPermissionContextTests::GetPromptText() { 394 base::string16 GeolocationPermissionContextTests::GetPromptText() {
395 #if !BUILDFLAG(ANDROID_JAVA_UI) 395 #if !defined(OS_ANDROID)
396 PermissionRequestManager* manager = 396 PermissionRequestManager* manager =
397 PermissionRequestManager::FromWebContents(web_contents()); 397 PermissionRequestManager::FromWebContents(web_contents());
398 PermissionRequest* request = manager->requests_.front(); 398 PermissionRequest* request = manager->requests_.front();
399 return base::ASCIIToUTF16(request->GetOrigin().spec()) + 399 return base::ASCIIToUTF16(request->GetOrigin().spec()) +
400 request->GetMessageTextFragment(); 400 request->GetMessageTextFragment();
401 #else 401 #else
402 infobars::InfoBar* infobar = infobar_service()->infobar_at(0); 402 infobars::InfoBar* infobar = infobar_service()->infobar_at(0);
403 ConfirmInfoBarDelegate* infobar_delegate = 403 ConfirmInfoBarDelegate* infobar_delegate =
404 infobar->delegate()->AsConfirmInfoBarDelegate(); 404 infobar->delegate()->AsConfirmInfoBarDelegate();
405 return infobar_delegate->GetMessageText(); 405 return infobar_delegate->GetMessageText();
(...skipping 18 matching lines...) Expand all
424 GURL requesting_frame("http://www.example.com/geolocation"); 424 GURL requesting_frame("http://www.example.com/geolocation");
425 NavigateAndCommit(requesting_frame); 425 NavigateAndCommit(requesting_frame);
426 RequestManagerDocumentLoadCompleted(); 426 RequestManagerDocumentLoadCompleted();
427 427
428 EXPECT_EQ(0U, GetNumberOfPrompts()); 428 EXPECT_EQ(0U, GetNumberOfPrompts());
429 RequestGeolocationPermission(web_contents(), RequestID(0), requesting_frame, 429 RequestGeolocationPermission(web_contents(), RequestID(0), requesting_frame,
430 true); 430 true);
431 ASSERT_EQ(0U, GetNumberOfPrompts()); 431 ASSERT_EQ(0U, GetNumberOfPrompts());
432 } 432 }
433 433
434 #if BUILDFLAG(ANDROID_JAVA_UI) 434 #if defined(OS_ANDROID)
435 TEST_F(GeolocationPermissionContextTests, SinglePermissionInfobar) { 435 TEST_F(GeolocationPermissionContextTests, SinglePermissionInfobar) {
436 GURL requesting_frame("https://www.example.com/geolocation"); 436 GURL requesting_frame("https://www.example.com/geolocation");
437 NavigateAndCommit(requesting_frame); 437 NavigateAndCommit(requesting_frame);
438 EXPECT_EQ(0U, infobar_service()->infobar_count()); 438 EXPECT_EQ(0U, infobar_service()->infobar_count());
439 RequestGeolocationPermission( 439 RequestGeolocationPermission(
440 web_contents(), RequestID(0), requesting_frame, true); 440 web_contents(), RequestID(0), requesting_frame, true);
441 ASSERT_EQ(1U, infobar_service()->infobar_count()); 441 ASSERT_EQ(1U, infobar_service()->infobar_count());
442 infobars::InfoBar* infobar = infobar_service()->infobar_at(0); 442 infobars::InfoBar* infobar = infobar_service()->infobar_at(0);
443 ConfirmInfoBarDelegate* infobar_delegate = 443 ConfirmInfoBarDelegate* infobar_delegate =
444 infobar->delegate()->AsConfirmInfoBarDelegate(); 444 infobar->delegate()->AsConfirmInfoBarDelegate();
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 web_contents(), RequestID(1), requesting_frame_1, true); 522 web_contents(), RequestID(1), requesting_frame_1, true);
523 // Ensure only one infobar is created. 523 // Ensure only one infobar is created.
524 ASSERT_EQ(1U, GetNumberOfPrompts()); 524 ASSERT_EQ(1U, GetNumberOfPrompts());
525 base::string16 text_0 = GetPromptText(); 525 base::string16 text_0 = GetPromptText();
526 526
527 // Accept the first frame. 527 // Accept the first frame.
528 AcceptPrompt(); 528 AcceptPrompt();
529 CheckTabContentsState(requesting_frame_0, CONTENT_SETTING_ALLOW); 529 CheckTabContentsState(requesting_frame_0, CONTENT_SETTING_ALLOW);
530 CheckPermissionMessageSent(0, true); 530 CheckPermissionMessageSent(0, true);
531 531
532 #if BUILDFLAG(ANDROID_JAVA_UI) 532 #if defined(OS_ANDROID)
533 infobars::InfoBar* infobar_0 = infobar_service()->infobar_at(0); 533 infobars::InfoBar* infobar_0 = infobar_service()->infobar_at(0);
534 infobar_service()->RemoveInfoBar(infobar_0); 534 infobar_service()->RemoveInfoBar(infobar_0);
535 EXPECT_EQ(1U, closed_infobar_tracker_.size()); 535 EXPECT_EQ(1U, closed_infobar_tracker_.size());
536 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_0)); 536 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_0));
537 closed_infobar_tracker_.Clear(); 537 closed_infobar_tracker_.Clear();
538 #endif 538 #endif
539 539
540 // Now we should have a new infobar for the second frame. 540 // Now we should have a new infobar for the second frame.
541 ASSERT_EQ(1U, GetNumberOfPrompts()); 541 ASSERT_EQ(1U, GetNumberOfPrompts());
542 base::string16 text_1 = GetPromptText(); 542 base::string16 text_1 = GetPromptText();
543 543
544 // Check that the messages differ. 544 // Check that the messages differ.
545 EXPECT_NE(text_0, text_1); 545 EXPECT_NE(text_0, text_1);
546 546
547 // Cancel (block) this frame. 547 // Cancel (block) this frame.
548 #if !BUILDFLAG(ANDROID_JAVA_UI) 548 #if !defined(OS_ANDROID)
549 PermissionRequestManager* manager = 549 PermissionRequestManager* manager =
550 PermissionRequestManager::FromWebContents(web_contents()); 550 PermissionRequestManager::FromWebContents(web_contents());
551 DenyBubble(manager); 551 DenyBubble(manager);
552 #else 552 #else
553 infobars::InfoBar* infobar_1 = infobar_service()->infobar_at(0); 553 infobars::InfoBar* infobar_1 = infobar_service()->infobar_at(0);
554 infobar_1->delegate()->AsConfirmInfoBarDelegate()->Cancel(); 554 infobar_1->delegate()->AsConfirmInfoBarDelegate()->Cancel();
555 #endif 555 #endif
556 CheckTabContentsState(requesting_frame_1, CONTENT_SETTING_BLOCK); 556 CheckTabContentsState(requesting_frame_1, CONTENT_SETTING_BLOCK);
557 CheckPermissionMessageSent(1, false); 557 CheckPermissionMessageSent(1, false);
558 558
559 // Ensure the persisted permissions are ok. 559 // Ensure the persisted permissions are ok.
560 EXPECT_EQ( 560 EXPECT_EQ(
561 CONTENT_SETTING_ALLOW, 561 CONTENT_SETTING_ALLOW,
562 GetGeolocationContentSetting(requesting_frame_0, requesting_frame_0)); 562 GetGeolocationContentSetting(requesting_frame_0, requesting_frame_0));
563 EXPECT_EQ( 563 EXPECT_EQ(
564 CONTENT_SETTING_BLOCK, 564 CONTENT_SETTING_BLOCK,
565 GetGeolocationContentSetting(requesting_frame_1, requesting_frame_0)); 565 GetGeolocationContentSetting(requesting_frame_1, requesting_frame_0));
566 } 566 }
567 567
568 TEST_F(GeolocationPermissionContextTests, HashIsIgnored) { 568 TEST_F(GeolocationPermissionContextTests, HashIsIgnored) {
569 GURL url_a("https://www.example.com/geolocation#a"); 569 GURL url_a("https://www.example.com/geolocation#a");
570 GURL url_b("https://www.example.com/geolocation#b"); 570 GURL url_b("https://www.example.com/geolocation#b");
571 571
572 // Navigate to the first url. 572 // Navigate to the first url.
573 NavigateAndCommit(url_a); 573 NavigateAndCommit(url_a);
574 RequestManagerDocumentLoadCompleted(); 574 RequestManagerDocumentLoadCompleted();
575 575
576 // Check permission is requested. 576 // Check permission is requested.
577 ASSERT_EQ(0U, GetNumberOfPrompts()); 577 ASSERT_EQ(0U, GetNumberOfPrompts());
578 #if BUILDFLAG(ANDROID_JAVA_UI) 578 #if defined(OS_ANDROID)
579 const bool user_gesture = false; 579 const bool user_gesture = false;
580 #else 580 #else
581 const bool user_gesture = true; 581 const bool user_gesture = true;
582 #endif 582 #endif
583 RequestGeolocationPermission(web_contents(), RequestID(0), url_a, 583 RequestGeolocationPermission(web_contents(), RequestID(0), url_a,
584 user_gesture); 584 user_gesture);
585 ASSERT_EQ(1U, GetNumberOfPrompts()); 585 ASSERT_EQ(1U, GetNumberOfPrompts());
586 586
587 // Change the hash, we'll still be on the same page. 587 // Change the hash, we'll still be on the same page.
588 NavigateAndCommit(url_b); 588 NavigateAndCommit(url_b);
589 RequestManagerDocumentLoadCompleted(); 589 RequestManagerDocumentLoadCompleted();
590 590
591 // Accept. 591 // Accept.
592 AcceptPrompt(); 592 AcceptPrompt();
593 CheckTabContentsState(url_a, CONTENT_SETTING_ALLOW); 593 CheckTabContentsState(url_a, CONTENT_SETTING_ALLOW);
594 CheckTabContentsState(url_b, CONTENT_SETTING_ALLOW); 594 CheckTabContentsState(url_b, CONTENT_SETTING_ALLOW);
595 CheckPermissionMessageSent(0, true); 595 CheckPermissionMessageSent(0, true);
596 596
597 // Cleanup. 597 // Cleanup.
598 #if BUILDFLAG(ANDROID_JAVA_UI) 598 #if defined(OS_ANDROID)
599 infobars::InfoBar* infobar = infobar_service()->infobar_at(0); 599 infobars::InfoBar* infobar = infobar_service()->infobar_at(0);
600 infobar_service()->RemoveInfoBar(infobar); 600 infobar_service()->RemoveInfoBar(infobar);
601 EXPECT_EQ(1U, closed_infobar_tracker_.size()); 601 EXPECT_EQ(1U, closed_infobar_tracker_.size());
602 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar)); 602 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar));
603 #endif 603 #endif
604 } 604 }
605 605
606 // TODO(felt): The bubble is rejecting file:// permission requests. 606 // TODO(felt): The bubble is rejecting file:// permission requests.
607 // Fix and enable this test. crbug.com/444047 607 // Fix and enable this test. crbug.com/444047
608 #if BUILDFLAG(ANDROID_JAVA_UI) 608 #if defined(OS_ANDROID)
609 #define MAYBE_PermissionForFileScheme PermissionForFileScheme 609 #define MAYBE_PermissionForFileScheme PermissionForFileScheme
610 #else 610 #else
611 #define MAYBE_PermissionForFileScheme DISABLED_PermissionForFileScheme 611 #define MAYBE_PermissionForFileScheme DISABLED_PermissionForFileScheme
612 #endif 612 #endif
613 TEST_F(GeolocationPermissionContextTests, MAYBE_PermissionForFileScheme) { 613 TEST_F(GeolocationPermissionContextTests, MAYBE_PermissionForFileScheme) {
614 GURL requesting_frame("file://example/geolocation.html"); 614 GURL requesting_frame("file://example/geolocation.html");
615 NavigateAndCommit(requesting_frame); 615 NavigateAndCommit(requesting_frame);
616 RequestManagerDocumentLoadCompleted(); 616 RequestManagerDocumentLoadCompleted();
617 617
618 // Check permission is requested. 618 // Check permission is requested.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 web_contents(), RequestID(0), frame_0, true); 650 web_contents(), RequestID(0), frame_0, true);
651 RequestGeolocationPermission( 651 RequestGeolocationPermission(
652 web_contents(), RequestID(1), frame_1, true); 652 web_contents(), RequestID(1), frame_1, true);
653 653
654 // Get the first permission request text. 654 // Get the first permission request text.
655 ASSERT_EQ(1U, GetNumberOfPrompts()); 655 ASSERT_EQ(1U, GetNumberOfPrompts());
656 base::string16 text_0 = GetPromptText(); 656 base::string16 text_0 = GetPromptText();
657 ASSERT_FALSE(text_0.empty()); 657 ASSERT_FALSE(text_0.empty());
658 658
659 // Simulate the frame going away; the request should be removed. 659 // Simulate the frame going away; the request should be removed.
660 #if !BUILDFLAG(ANDROID_JAVA_UI) 660 #if !defined(OS_ANDROID)
661 PermissionRequestManager* manager = 661 PermissionRequestManager* manager =
662 PermissionRequestManager::FromWebContents(web_contents()); 662 PermissionRequestManager::FromWebContents(web_contents());
663 CloseBubble(manager); 663 CloseBubble(manager);
664 #else 664 #else
665 geolocation_permission_context_->CancelPermissionRequest(web_contents(), 665 geolocation_permission_context_->CancelPermissionRequest(web_contents(),
666 RequestID(0)); 666 RequestID(0));
667 #endif 667 #endif
668 668
669 // Check that the next pending request is created correctly. 669 // Check that the next pending request is created correctly.
670 base::string16 text_1 = GetPromptText(); 670 base::string16 text_1 = GetPromptText();
(...skipping 28 matching lines...) Expand all
699 699
700 TEST_F(GeolocationPermissionContextTests, SameOriginMultipleTabs) { 700 TEST_F(GeolocationPermissionContextTests, SameOriginMultipleTabs) {
701 GURL url_a("https://www.example.com/geolocation"); 701 GURL url_a("https://www.example.com/geolocation");
702 GURL url_b("https://www.example-2.com/geolocation"); 702 GURL url_b("https://www.example-2.com/geolocation");
703 NavigateAndCommit(url_a); // Tab A0 703 NavigateAndCommit(url_a); // Tab A0
704 AddNewTab(url_b); // Tab B (extra_tabs_[0]) 704 AddNewTab(url_b); // Tab B (extra_tabs_[0])
705 AddNewTab(url_a); // Tab A1 (extra_tabs_[1]) 705 AddNewTab(url_a); // Tab A1 (extra_tabs_[1])
706 RequestManagerDocumentLoadCompleted(); 706 RequestManagerDocumentLoadCompleted();
707 RequestManagerDocumentLoadCompleted(extra_tabs_[0].get()); 707 RequestManagerDocumentLoadCompleted(extra_tabs_[0].get());
708 RequestManagerDocumentLoadCompleted(extra_tabs_[1].get()); 708 RequestManagerDocumentLoadCompleted(extra_tabs_[1].get());
709 #if !BUILDFLAG(ANDROID_JAVA_UI) 709 #if !defined(OS_ANDROID)
710 PermissionRequestManager* manager_a0 = 710 PermissionRequestManager* manager_a0 =
711 PermissionRequestManager::FromWebContents(web_contents()); 711 PermissionRequestManager::FromWebContents(web_contents());
712 PermissionRequestManager* manager_b = 712 PermissionRequestManager* manager_b =
713 PermissionRequestManager::FromWebContents(extra_tabs_[0].get()); 713 PermissionRequestManager::FromWebContents(extra_tabs_[0].get());
714 PermissionRequestManager* manager_a1 = 714 PermissionRequestManager* manager_a1 =
715 PermissionRequestManager::FromWebContents(extra_tabs_[1].get()); 715 PermissionRequestManager::FromWebContents(extra_tabs_[1].get());
716 #endif 716 #endif
717 717
718 // Request permission in all three tabs. 718 // Request permission in all three tabs.
719 RequestGeolocationPermission( 719 RequestGeolocationPermission(
720 web_contents(), RequestID(0), url_a, true); 720 web_contents(), RequestID(0), url_a, true);
721 RequestGeolocationPermission( 721 RequestGeolocationPermission(
722 extra_tabs_[0].get(), RequestIDForTab(0, 0), url_b, true); 722 extra_tabs_[0].get(), RequestIDForTab(0, 0), url_b, true);
723 RequestGeolocationPermission( 723 RequestGeolocationPermission(
724 extra_tabs_[1].get(), RequestIDForTab(1, 0), url_a, true); 724 extra_tabs_[1].get(), RequestIDForTab(1, 0), url_a, true);
725 ASSERT_EQ(1U, GetNumberOfPrompts()); // For A0. 725 ASSERT_EQ(1U, GetNumberOfPrompts()); // For A0.
726 #if !BUILDFLAG(ANDROID_JAVA_UI) 726 #if !defined(OS_ANDROID)
727 ASSERT_EQ(1U, GetBubblesQueueSize(manager_b)); 727 ASSERT_EQ(1U, GetBubblesQueueSize(manager_b));
728 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1)); 728 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1));
729 #else 729 #else
730 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count()); 730 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count());
731 ASSERT_EQ(1U, infobar_service_for_tab(1)->infobar_count()); 731 ASSERT_EQ(1U, infobar_service_for_tab(1)->infobar_count());
732 #endif 732 #endif
733 733
734 // Accept the permission in tab A0. 734 // Accept the permission in tab A0.
735 #if !BUILDFLAG(ANDROID_JAVA_UI) 735 #if !defined(OS_ANDROID)
736 AcceptBubble(manager_a0); 736 AcceptBubble(manager_a0);
737 #else 737 #else
738 infobars::InfoBar* infobar_a0 = infobar_service()->infobar_at(0); 738 infobars::InfoBar* infobar_a0 = infobar_service()->infobar_at(0);
739 ConfirmInfoBarDelegate* infobar_delegate_a0 = 739 ConfirmInfoBarDelegate* infobar_delegate_a0 =
740 infobar_a0->delegate()->AsConfirmInfoBarDelegate(); 740 infobar_a0->delegate()->AsConfirmInfoBarDelegate();
741 ASSERT_TRUE(infobar_delegate_a0); 741 ASSERT_TRUE(infobar_delegate_a0);
742 infobar_delegate_a0->Accept(); 742 infobar_delegate_a0->Accept();
743 infobar_service()->RemoveInfoBar(infobar_a0); 743 infobar_service()->RemoveInfoBar(infobar_a0);
744 EXPECT_EQ(2U, closed_infobar_tracker_.size()); 744 EXPECT_EQ(2U, closed_infobar_tracker_.size());
745 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_a0)); 745 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_a0));
746 #endif 746 #endif
747 CheckPermissionMessageSent(0, true); 747 CheckPermissionMessageSent(0, true);
748 // Because they're the same origin, this will cause tab A1's infobar to 748 // Because they're the same origin, this will cause tab A1's infobar to
749 // disappear. It does not cause the bubble to disappear: crbug.com/443013. 749 // disappear. It does not cause the bubble to disappear: crbug.com/443013.
750 // TODO(felt): Update this test when the bubble's behavior is changed. 750 // TODO(felt): Update this test when the bubble's behavior is changed.
751 // Either way, tab B should still have a pending permission request. 751 // Either way, tab B should still have a pending permission request.
752 #if !BUILDFLAG(ANDROID_JAVA_UI) 752 #if !defined(OS_ANDROID)
753 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1)); 753 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1));
754 ASSERT_EQ(1U, GetBubblesQueueSize(manager_b)); 754 ASSERT_EQ(1U, GetBubblesQueueSize(manager_b));
755 #else 755 #else
756 CheckPermissionMessageSentForTab(1, 0, true); 756 CheckPermissionMessageSentForTab(1, 0, true);
757 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count()); 757 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count());
758 #endif 758 #endif
759 } 759 }
760 760
761 TEST_F(GeolocationPermissionContextTests, QueuedOriginMultipleTabs) { 761 TEST_F(GeolocationPermissionContextTests, QueuedOriginMultipleTabs) {
762 GURL url_a("https://www.example.com/geolocation"); 762 GURL url_a("https://www.example.com/geolocation");
763 GURL url_b("https://www.example-2.com/geolocation"); 763 GURL url_b("https://www.example-2.com/geolocation");
764 NavigateAndCommit(url_a); // Tab A0. 764 NavigateAndCommit(url_a); // Tab A0.
765 AddNewTab(url_a); // Tab A1. 765 AddNewTab(url_a); // Tab A1.
766 #if !BUILDFLAG(ANDROID_JAVA_UI) 766 #if !defined(OS_ANDROID)
767 RequestManagerDocumentLoadCompleted(); 767 RequestManagerDocumentLoadCompleted();
768 RequestManagerDocumentLoadCompleted(extra_tabs_[0].get()); 768 RequestManagerDocumentLoadCompleted(extra_tabs_[0].get());
769 PermissionRequestManager* manager_a0 = 769 PermissionRequestManager* manager_a0 =
770 PermissionRequestManager::FromWebContents(web_contents()); 770 PermissionRequestManager::FromWebContents(web_contents());
771 PermissionRequestManager* manager_a1 = 771 PermissionRequestManager* manager_a1 =
772 PermissionRequestManager::FromWebContents(extra_tabs_[0].get()); 772 PermissionRequestManager::FromWebContents(extra_tabs_[0].get());
773 #endif 773 #endif
774 774
775 // Request permission in both tabs; the extra tab will have two permission 775 // Request permission in both tabs; the extra tab will have two permission
776 // requests from two origins. 776 // requests from two origins.
777 RequestGeolocationPermission( 777 RequestGeolocationPermission(
778 web_contents(), RequestID(0), url_a, true); 778 web_contents(), RequestID(0), url_a, true);
779 RequestGeolocationPermission( 779 RequestGeolocationPermission(
780 extra_tabs_[0].get(), RequestIDForTab(0, 0), url_a, true); 780 extra_tabs_[0].get(), RequestIDForTab(0, 0), url_a, true);
781 RequestGeolocationPermission( 781 RequestGeolocationPermission(
782 extra_tabs_[0].get(), RequestIDForTab(0, 1), url_b, true); 782 extra_tabs_[0].get(), RequestIDForTab(0, 1), url_b, true);
783 #if !BUILDFLAG(ANDROID_JAVA_UI) 783 #if !defined(OS_ANDROID)
784 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a0)); 784 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a0));
785 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1)); 785 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1));
786 #else 786 #else
787 ASSERT_EQ(1U, infobar_service()->infobar_count()); 787 ASSERT_EQ(1U, infobar_service()->infobar_count());
788 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count()); 788 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count());
789 #endif 789 #endif
790 790
791 // Accept the first request in tab A1. 791 // Accept the first request in tab A1.
792 #if !BUILDFLAG(ANDROID_JAVA_UI) 792 #if !defined(OS_ANDROID)
793 AcceptBubble(manager_a1); 793 AcceptBubble(manager_a1);
794 #else 794 #else
795 infobars::InfoBar* infobar_a1 = infobar_service_for_tab(0)->infobar_at(0); 795 infobars::InfoBar* infobar_a1 = infobar_service_for_tab(0)->infobar_at(0);
796 ConfirmInfoBarDelegate* infobar_delegate_a1 = 796 ConfirmInfoBarDelegate* infobar_delegate_a1 =
797 infobar_a1->delegate()->AsConfirmInfoBarDelegate(); 797 infobar_a1->delegate()->AsConfirmInfoBarDelegate();
798 ASSERT_TRUE(infobar_delegate_a1); 798 ASSERT_TRUE(infobar_delegate_a1);
799 infobar_delegate_a1->Accept(); 799 infobar_delegate_a1->Accept();
800 infobar_service_for_tab(0)->RemoveInfoBar(infobar_a1); 800 infobar_service_for_tab(0)->RemoveInfoBar(infobar_a1);
801 EXPECT_EQ(2U, closed_infobar_tracker_.size()); 801 EXPECT_EQ(2U, closed_infobar_tracker_.size());
802 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_a1)); 802 EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_a1));
803 #endif 803 #endif
804 CheckPermissionMessageSentForTab(0, 0, true); 804 CheckPermissionMessageSentForTab(0, 0, true);
805 805
806 // Because they're the same origin, this will cause tab A0's infobar to 806 // Because they're the same origin, this will cause tab A0's infobar to
807 // disappear. It does not cause the bubble to disappear: crbug.com/443013. 807 // disappear. It does not cause the bubble to disappear: crbug.com/443013.
808 // TODO(felt): Update this test when the bubble's behavior is changed. 808 // TODO(felt): Update this test when the bubble's behavior is changed.
809 #if !BUILDFLAG(ANDROID_JAVA_UI) 809 #if !defined(OS_ANDROID)
810 EXPECT_EQ(1U, GetBubblesQueueSize(manager_a0)); 810 EXPECT_EQ(1U, GetBubblesQueueSize(manager_a0));
811 #else 811 #else
812 EXPECT_EQ(0U, infobar_service()->infobar_count()); 812 EXPECT_EQ(0U, infobar_service()->infobar_count());
813 CheckPermissionMessageSent(0, true); 813 CheckPermissionMessageSent(0, true);
814 #endif 814 #endif
815 815
816 // The second request should now be visible in tab A1. 816 // The second request should now be visible in tab A1.
817 #if !BUILDFLAG(ANDROID_JAVA_UI) 817 #if !defined(OS_ANDROID)
818 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1)); 818 ASSERT_EQ(1U, GetBubblesQueueSize(manager_a1));
819 #else 819 #else
820 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count()); 820 ASSERT_EQ(1U, infobar_service_for_tab(0)->infobar_count());
821 #endif 821 #endif
822 822
823 // Accept the second request and check that it's gone. 823 // Accept the second request and check that it's gone.
824 #if !BUILDFLAG(ANDROID_JAVA_UI) 824 #if !defined(OS_ANDROID)
825 AcceptBubble(manager_a1); 825 AcceptBubble(manager_a1);
826 EXPECT_EQ(0U, GetBubblesQueueSize(manager_a1)); 826 EXPECT_EQ(0U, GetBubblesQueueSize(manager_a1));
827 #else 827 #else
828 infobars::InfoBar* infobar_1 = infobar_service_for_tab(0)->infobar_at(0); 828 infobars::InfoBar* infobar_1 = infobar_service_for_tab(0)->infobar_at(0);
829 ConfirmInfoBarDelegate* infobar_delegate_1 = 829 ConfirmInfoBarDelegate* infobar_delegate_1 =
830 infobar_1->delegate()->AsConfirmInfoBarDelegate(); 830 infobar_1->delegate()->AsConfirmInfoBarDelegate();
831 ASSERT_TRUE(infobar_delegate_1); 831 ASSERT_TRUE(infobar_delegate_1);
832 infobar_delegate_1->Accept(); 832 infobar_delegate_1->Accept();
833 #endif 833 #endif
834 } 834 }
(...skipping 14 matching lines...) Expand all
849 // Request permission for two frames. 849 // Request permission for two frames.
850 RequestGeolocationPermission( 850 RequestGeolocationPermission(
851 web_contents(), RequestID(0), requesting_frame_0, false); 851 web_contents(), RequestID(0), requesting_frame_0, false);
852 RequestGeolocationPermission( 852 RequestGeolocationPermission(
853 web_contents(), RequestID(1), requesting_frame_1, false); 853 web_contents(), RequestID(1), requesting_frame_1, false);
854 854
855 // Ensure only one prompt is created. 855 // Ensure only one prompt is created.
856 ASSERT_EQ(1U, GetNumberOfPrompts()); 856 ASSERT_EQ(1U, GetNumberOfPrompts());
857 857
858 // Delete the tab contents. 858 // Delete the tab contents.
859 #if BUILDFLAG(ANDROID_JAVA_UI) 859 #if defined(OS_ANDROID)
860 infobars::InfoBar* infobar = infobar_service()->infobar_at(0); 860 infobars::InfoBar* infobar = infobar_service()->infobar_at(0);
861 DeleteContents(); 861 DeleteContents();
862 ASSERT_EQ(1U, closed_infobar_tracker_.size()); 862 ASSERT_EQ(1U, closed_infobar_tracker_.size());
863 ASSERT_TRUE(closed_infobar_tracker_.Contains(infobar)); 863 ASSERT_TRUE(closed_infobar_tracker_.Contains(infobar));
864 #endif 864 #endif
865 865
866 // The content settings should not have changed. 866 // The content settings should not have changed.
867 EXPECT_EQ( 867 EXPECT_EQ(
868 CONTENT_SETTING_ASK, 868 CONTENT_SETTING_ASK,
869 GetGeolocationContentSetting(requesting_frame_0, requesting_frame_0)); 869 GetGeolocationContentSetting(requesting_frame_0, requesting_frame_0));
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 RequestGeolocationPermission( 947 RequestGeolocationPermission(
948 web_contents(), RequestID(0), requesting_frame_0, false); 948 web_contents(), RequestID(0), requesting_frame_0, false);
949 RequestGeolocationPermission( 949 RequestGeolocationPermission(
950 web_contents(), RequestID(1), requesting_frame_1, false); 950 web_contents(), RequestID(1), requesting_frame_1, false);
951 951
952 // Ensure only one infobar is created. 952 // Ensure only one infobar is created.
953 ASSERT_EQ(1U, GetNumberOfPrompts()); 953 ASSERT_EQ(1U, GetNumberOfPrompts());
954 954
955 // Accept the first frame. 955 // Accept the first frame.
956 AcceptPrompt(); 956 AcceptPrompt();
957 #if BUILDFLAG(ANDROID_JAVA_UI) 957 #if defined(OS_ANDROID)
958 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); 958 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0));
959 #endif 959 #endif
960 CheckTabContentsState(requesting_frame_0, CONTENT_SETTING_ALLOW); 960 CheckTabContentsState(requesting_frame_0, CONTENT_SETTING_ALLOW);
961 CheckPermissionMessageSent(0, true); 961 CheckPermissionMessageSent(0, true);
962 962
963 // Verify that accepting the first didn't accept because it's embedded 963 // Verify that accepting the first didn't accept because it's embedded
964 // in the other. 964 // in the other.
965 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(), 965 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(),
966 requesting_frame_0.GetOrigin(), 966 requesting_frame_0.GetOrigin(),
967 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 967 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
968 10); 968 10);
969 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(), 969 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(),
970 requesting_frame_0.GetOrigin(), 970 requesting_frame_0.GetOrigin(),
971 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 971 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
972 0); 972 0);
973 973
974 ASSERT_EQ(1U, GetNumberOfPrompts()); 974 ASSERT_EQ(1U, GetNumberOfPrompts());
975 975
976 test_clock->Advance(base::TimeDelta::FromSeconds(1)); 976 test_clock->Advance(base::TimeDelta::FromSeconds(1));
977 977
978 // Allow the second frame. 978 // Allow the second frame.
979 AcceptPrompt(); 979 AcceptPrompt();
980 CheckTabContentsState(requesting_frame_1, CONTENT_SETTING_ALLOW); 980 CheckTabContentsState(requesting_frame_1, CONTENT_SETTING_ALLOW);
981 CheckPermissionMessageSent(1, true); 981 CheckPermissionMessageSent(1, true);
982 #if BUILDFLAG(ANDROID_JAVA_UI) 982 #if defined(OS_ANDROID)
983 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); 983 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0));
984 #endif 984 #endif
985 985
986 // Verify that the times are different. 986 // Verify that the times are different.
987 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(), 987 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(),
988 requesting_frame_0.GetOrigin(), 988 requesting_frame_0.GetOrigin(),
989 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 989 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
990 10); 990 10);
991 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(), 991 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(),
992 requesting_frame_0.GetOrigin(), 992 requesting_frame_0.GetOrigin(),
993 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 993 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
994 11); 994 11);
995 995
996 test_clock->Advance(base::TimeDelta::FromSeconds(2)); 996 test_clock->Advance(base::TimeDelta::FromSeconds(2));
997 RequestGeolocationPermission( 997 RequestGeolocationPermission(
998 web_contents(), RequestID(0), requesting_frame_0, false); 998 web_contents(), RequestID(0), requesting_frame_0, false);
999 999
1000 // Verify that requesting permission in one frame doesn't update other where 1000 // Verify that requesting permission in one frame doesn't update other where
1001 // it is the embedder. 1001 // it is the embedder.
1002 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(), 1002 EXPECT_EQ(map->GetLastUsage(requesting_frame_0.GetOrigin(),
1003 requesting_frame_0.GetOrigin(), 1003 requesting_frame_0.GetOrigin(),
1004 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 1004 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
1005 13); 1005 13);
1006 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(), 1006 EXPECT_EQ(map->GetLastUsage(requesting_frame_1.GetOrigin(),
1007 requesting_frame_0.GetOrigin(), 1007 requesting_frame_0.GetOrigin(),
1008 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(), 1008 CONTENT_SETTINGS_TYPE_GEOLOCATION).ToDoubleT(),
1009 11); 1009 11);
1010 } 1010 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698