Chromium Code Reviews| Index: chrome/browser/ui/website_settings/permission_bubble_manager_unittest.cc |
| diff --git a/chrome/browser/ui/website_settings/permission_bubble_manager_unittest.cc b/chrome/browser/ui/website_settings/permission_bubble_manager_unittest.cc |
| index 0f43c4f528ee8793003b813e3425a9d0b0176248..9f3b465181d94da0c1b1640a77990a507cbe2003 100644 |
| --- a/chrome/browser/ui/website_settings/permission_bubble_manager_unittest.cc |
| +++ b/chrome/browser/ui/website_settings/permission_bubble_manager_unittest.cc |
| @@ -64,12 +64,14 @@ class PermissionBubbleManagerTest : public ChromeRenderViewHostTestHarness { |
| PermissionBubbleManagerTest() |
| : ChromeRenderViewHostTestHarness(), |
| request1_("test1"), |
| - request2_("test2") {} |
| + request2_("test2"), |
| + iframe_request_("iframe", GURL("http://www.youtube.com")) {} |
| virtual ~PermissionBubbleManagerTest() {} |
| virtual void SetUp() OVERRIDE { |
| ChromeRenderViewHostTestHarness::SetUp(); |
| SetContents(CreateTestWebContents()); |
| + NavigateAndCommit(GURL("http://www.google.com")); |
| manager_.reset(new PermissionBubbleManager(web_contents())); |
| } |
| @@ -91,6 +93,11 @@ class PermissionBubbleManagerTest : public ChromeRenderViewHostTestHarness { |
| manager_->Closing(); |
| } |
| + void WaitForFrameLoad() { |
| + manager_->DocumentLoadedInFrame(0, NULL); |
| + base::MessageLoop::current()->RunUntilIdle(); |
| + } |
| + |
| void WaitForCoalescing() { |
| manager_->DocumentOnLoadCompletedInMainFrame(); |
| base::MessageLoop::current()->RunUntilIdle(); |
| @@ -104,6 +111,7 @@ class PermissionBubbleManagerTest : public ChromeRenderViewHostTestHarness { |
| protected: |
| MockPermissionBubbleRequest request1_; |
| MockPermissionBubbleRequest request2_; |
| + MockPermissionBubbleRequest iframe_request_; |
| MockView view_; |
| scoped_ptr<PermissionBubbleManager> manager_; |
| }; |
| @@ -321,7 +329,6 @@ TEST_F(PermissionBubbleManagerTest, DuplicateQueuedRequest) { |
| } |
| TEST_F(PermissionBubbleManagerTest, ForgetRequestsOnPageNavigation) { |
| - NavigateAndCommit(GURL("http://www.google.com/")); |
| manager_->SetView(&view_); |
| manager_->AddRequest(&request1_); |
| WaitForCoalescing(); |
| @@ -391,3 +398,19 @@ TEST_F(PermissionBubbleManagerTest, TestCancelPendingRequest) { |
| EXPECT_TRUE(request2_.finished()); |
| } |
| +TEST_F(PermissionBubbleManagerTest, MainFrameNoRequestIFrameRequest) { |
| + manager_->SetView(&view_); |
| + manager_->AddRequest(&iframe_request_); |
| + WaitForCoalescing(); |
| + WaitForFrameLoad(); |
| + |
| + EXPECT_TRUE(view_.shown_); |
| +} |
| + |
| +TEST_F(PermissionBubbleManagerTest, MainFrameAndIFrameRequests) { |
| + manager_->SetView(&view_); |
| + manager_->AddRequest(&request1_); |
| + manager_->AddRequest(&iframe_request_); |
| + WaitForFrameLoad(); |
| + WaitForCoalescing(); |
|
Greg Billock
2014/05/21 17:09:19
Maybe try a request with a url like www.google.com
leng
2014/05/22 00:08:47
I assumed you meant the url to be the iframe url..
|
| +} |