Index: chrome/browser/content_settings/permission_context_base_unittest.cc |
diff --git a/chrome/browser/content_settings/permission_context_base_unittest.cc b/chrome/browser/content_settings/permission_context_base_unittest.cc |
index 22ce437a905dbc93ef65417a5a624c4ee39fada5..41aca8bec5e1bd9b7b027947cdb4b320c85947c4 100644 |
--- a/chrome/browser/content_settings/permission_context_base_unittest.cc |
+++ b/chrome/browser/content_settings/permission_context_base_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "chrome/browser/content_settings/permission_queue_controller.h" |
#include "chrome/browser/content_settings/permission_request_id.h" |
#include "chrome/browser/infobars/infobar_service.h" |
+#include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
#include "chrome/common/content_settings.h" |
#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
#include "chrome/test/base/testing_profile.h" |
@@ -18,21 +19,6 @@ |
#include "content/public/test/web_contents_tester.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness { |
- protected: |
- PermissionContextBaseTests() {} |
- virtual ~PermissionContextBaseTests() {} |
- |
- private: |
- // ChromeRenderViewHostTestHarness: |
- virtual void SetUp() OVERRIDE { |
- ChromeRenderViewHostTestHarness::SetUp(); |
- InfoBarService::CreateForWebContents(web_contents()); |
- } |
- |
- DISALLOW_COPY_AND_ASSIGN(PermissionContextBaseTests); |
-}; |
- |
class TestPermissionContext : public PermissionContextBase { |
public: |
TestPermissionContext(Profile* profile, |
@@ -78,6 +64,41 @@ class TestPermissionContext : public PermissionContextBase { |
bool tab_context_updated_; |
}; |
+class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness { |
+ protected: |
+ PermissionContextBaseTests() {} |
+ virtual ~PermissionContextBaseTests() {} |
+ |
+ // Accept or dismiss the permission bubble or infobar. |
+ void RespondToPermission(TestPermissionContext* context, |
+ const PermissionRequestID& id, |
+ const GURL& url, |
+ bool accept) { |
+ if (!PermissionBubbleManager::Enabled()) { |
+ context->GetInfoBarController()->OnPermissionSet( |
+ id, url, url, accept, accept); |
+ return; |
+ } |
+ |
+ PermissionBubbleManager* manager = |
+ PermissionBubbleManager::FromWebContents(web_contents()); |
+ if (accept) |
+ manager->Accept(); |
+ else |
+ manager->Closing(); |
+ } |
+ |
+ private: |
+ // ChromeRenderViewHostTestHarness: |
+ virtual void SetUp() OVERRIDE { |
+ ChromeRenderViewHostTestHarness::SetUp(); |
+ InfoBarService::CreateForWebContents(web_contents()); |
+ PermissionBubbleManager::CreateForWebContents(web_contents()); |
+ } |
+ |
+ DISALLOW_COPY_AND_ASSIGN(PermissionContextBaseTests); |
+}; |
+ |
// Simulates clicking Accept. The permission should be granted and |
// saved for future use. |
TEST_F(PermissionContextBaseTests, TestAskAndGrant) { |
@@ -96,8 +117,7 @@ TEST_F(PermissionContextBaseTests, TestAskAndGrant) { |
base::Bind(&TestPermissionContext::TrackPermissionDecision, |
base::Unretained(&permission_context))); |
- permission_context.GetInfoBarController()->OnPermissionSet( |
- id, url, url, true, true); |
+ RespondToPermission(&permission_context, id, url, true); |
EXPECT_TRUE(permission_context.permission_set()); |
EXPECT_TRUE(permission_context.permission_granted()); |
EXPECT_TRUE(permission_context.tab_context_updated()); |
@@ -127,8 +147,7 @@ TEST_F(PermissionContextBaseTests, TestAskAndDismiss) { |
base::Bind(&TestPermissionContext::TrackPermissionDecision, |
base::Unretained(&permission_context))); |
- permission_context.GetInfoBarController()->OnPermissionSet( |
- id, url, url, false, false); |
+ RespondToPermission(&permission_context, id, url, false); |
EXPECT_TRUE(permission_context.permission_set()); |
EXPECT_FALSE(permission_context.permission_granted()); |
EXPECT_TRUE(permission_context.tab_context_updated()); |