| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/ui/website_settings/mock_permission_bubble_request.h" | 8 #include "chrome/browser/ui/website_settings/mock_permission_bubble_request.h" |
| 9 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" | 9 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| 10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" | 10 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 : ChromeRenderViewHostTestHarness(), | 63 : ChromeRenderViewHostTestHarness(), |
| 64 request1_("test1"), | 64 request1_("test1"), |
| 65 request2_("test2") {} | 65 request2_("test2") {} |
| 66 virtual ~PermissionBubbleManagerTest() {} | 66 virtual ~PermissionBubbleManagerTest() {} |
| 67 | 67 |
| 68 virtual void SetUp() OVERRIDE { | 68 virtual void SetUp() OVERRIDE { |
| 69 ChromeRenderViewHostTestHarness::SetUp(); | 69 ChromeRenderViewHostTestHarness::SetUp(); |
| 70 SetContents(CreateTestWebContents()); | 70 SetContents(CreateTestWebContents()); |
| 71 | 71 |
| 72 manager_.reset(new PermissionBubbleManager(web_contents())); | 72 manager_.reset(new PermissionBubbleManager(web_contents())); |
| 73 manager_->SetCoalesceIntervalForTesting(0); |
| 73 } | 74 } |
| 74 | 75 |
| 75 virtual void TearDown() OVERRIDE { | 76 virtual void TearDown() OVERRIDE { |
| 76 manager_.reset(); | 77 manager_.reset(); |
| 77 ChromeRenderViewHostTestHarness::TearDown(); | 78 ChromeRenderViewHostTestHarness::TearDown(); |
| 78 } | 79 } |
| 79 | 80 |
| 80 void ToggleAccept(int index, bool value) { | 81 void ToggleAccept(int index, bool value) { |
| 81 manager_->ToggleAccept(index, value); | 82 manager_->ToggleAccept(index, value); |
| 82 } | 83 } |
| 83 | 84 |
| 84 void Accept() { | 85 void Accept() { |
| 85 manager_->Accept(); | 86 manager_->Accept(); |
| 86 } | 87 } |
| 87 | 88 |
| 88 void WaitForCoalescing() { | 89 void WaitForCoalescing() { |
| 89 manager_->DocumentOnLoadCompletedInMainFrame(0); | |
| 90 base::MessageLoop::current()->RunUntilIdle(); | 90 base::MessageLoop::current()->RunUntilIdle(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 virtual void NavigationEntryCommitted( | 93 virtual void NavigationEntryCommitted( |
| 94 const content::LoadCommittedDetails& details) { | 94 const content::LoadCommittedDetails& details) { |
| 95 manager_->NavigationEntryCommitted(details); | 95 manager_->NavigationEntryCommitted(details); |
| 96 } | 96 } |
| 97 | 97 |
| 98 protected: | 98 protected: |
| 99 MockPermissionBubbleRequest request1_; | 99 MockPermissionBubbleRequest request1_; |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 manager_->AddRequest(&request1_); | 230 manager_->AddRequest(&request1_); |
| 231 WaitForCoalescing(); | 231 WaitForCoalescing(); |
| 232 manager_->AddRequest(&request2_); | 232 manager_->AddRequest(&request2_); |
| 233 | 233 |
| 234 EXPECT_TRUE(view_.shown_); | 234 EXPECT_TRUE(view_.shown_); |
| 235 ASSERT_EQ(1u, view_.permission_requests_.size()); | 235 ASSERT_EQ(1u, view_.permission_requests_.size()); |
| 236 EXPECT_EQ(&request1_, view_.permission_requests_[0]); | 236 EXPECT_EQ(&request1_, view_.permission_requests_[0]); |
| 237 | 237 |
| 238 view_.Hide(); | 238 view_.Hide(); |
| 239 Accept(); | 239 Accept(); |
| 240 EXPECT_FALSE(view_.shown_); |
| 241 |
| 240 WaitForCoalescing(); | 242 WaitForCoalescing(); |
| 241 | |
| 242 EXPECT_TRUE(view_.shown_); | 243 EXPECT_TRUE(view_.shown_); |
| 243 ASSERT_EQ(1u, view_.permission_requests_.size()); | 244 ASSERT_EQ(1u, view_.permission_requests_.size()); |
| 244 EXPECT_EQ(&request2_, view_.permission_requests_[0]); | 245 EXPECT_EQ(&request2_, view_.permission_requests_[0]); |
| 245 } | 246 } |
| 246 | 247 |
| 247 TEST_F(PermissionBubbleManagerTest, TestAddDuplicateRequest) { | 248 TEST_F(PermissionBubbleManagerTest, TestAddDuplicateRequest) { |
| 248 manager_->SetView(&view_); | 249 manager_->SetView(&view_); |
| 249 manager_->AddRequest(&request1_); | 250 manager_->AddRequest(&request1_); |
| 250 manager_->AddRequest(&request2_); | 251 manager_->AddRequest(&request2_); |
| 251 manager_->AddRequest(&request1_); | 252 manager_->AddRequest(&request1_); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 NavigateAndCommit(GURL("http://www.google.com/")); | 319 NavigateAndCommit(GURL("http://www.google.com/")); |
| 319 manager_->SetView(&view_); | 320 manager_->SetView(&view_); |
| 320 manager_->AddRequest(&request1_); | 321 manager_->AddRequest(&request1_); |
| 321 WaitForCoalescing(); | 322 WaitForCoalescing(); |
| 322 manager_->AddRequest(&request2_); | 323 manager_->AddRequest(&request2_); |
| 323 | 324 |
| 324 EXPECT_TRUE(view_.shown_); | 325 EXPECT_TRUE(view_.shown_); |
| 325 ASSERT_EQ(1u, view_.permission_requests_.size()); | 326 ASSERT_EQ(1u, view_.permission_requests_.size()); |
| 326 | 327 |
| 327 NavigateAndCommit(GURL("http://www2.google.com/")); | 328 NavigateAndCommit(GURL("http://www2.google.com/")); |
| 328 WaitForCoalescing(); | |
| 329 | 329 |
| 330 EXPECT_FALSE(view_.shown_); |
| 330 EXPECT_TRUE(request1_.finished()); | 331 EXPECT_TRUE(request1_.finished()); |
| 331 EXPECT_TRUE(request2_.finished()); | 332 EXPECT_TRUE(request2_.finished()); |
| 332 } | 333 } |
| OLD | NEW |