diff options
Diffstat (limited to 'chrome/browser/content_settings/tab_specific_content_settings_unittest.cc')
-rw-r--r-- | chrome/browser/content_settings/tab_specific_content_settings_unittest.cc | 208 |
1 files changed, 112 insertions, 96 deletions
diff --git a/chrome/browser/content_settings/tab_specific_content_settings_unittest.cc b/chrome/browser/content_settings/tab_specific_content_settings_unittest.cc index 922c06b..4e8077c 100644 --- a/chrome/browser/content_settings/tab_specific_content_settings_unittest.cc +++ b/chrome/browser/content_settings/tab_specific_content_settings_unittest.cc @@ -41,6 +41,11 @@ class TabSpecificContentSettingsTest : public ChromeRenderViewHostTestHarness { TabSpecificContentSettingsTest() : browser_thread_(BrowserThread::UI, &message_loop_) {} + virtual void SetUp() OVERRIDE { + ChromeRenderViewHostTestHarness::SetUp(); + TabSpecificContentSettings::CreateForWebContents(contents()); + } + private: content::TestBrowserThread browser_thread_; @@ -48,166 +53,177 @@ class TabSpecificContentSettingsTest : public ChromeRenderViewHostTestHarness { }; TEST_F(TabSpecificContentSettingsTest, BlockedContent) { - TabSpecificContentSettings content_settings(contents()); + TabSpecificContentSettings* content_settings = + TabSpecificContentSettings::FromWebContents(contents()); net::CookieOptions options; // Check that after initializing, nothing is blocked. - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); // Set a cookie, block access to images, block a popup. - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "A=B", - options, - false); - content_settings.OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, - std::string()); - content_settings.SetPopupsBlocked(true); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "A=B", + options, + false); + content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, + std::string()); + content_settings->SetPopupsBlocked(true); // Check that only the respective content types are affected. - EXPECT_TRUE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); + EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - EXPECT_TRUE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "A=B", - options, - false); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "A=B", + options, + false); // Block a cookie. - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "C=D", - options, - true); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "C=D", + options, + true); EXPECT_TRUE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); // Reset blocked content settings. - content_settings.ClearBlockedContentSettingsExceptForCookies(); - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); + content_settings->ClearBlockedContentSettingsExceptForCookies(); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); EXPECT_TRUE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); - content_settings.ClearCookieSpecificContentSettings(); - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); + content_settings->ClearCookieSpecificContentSettings(); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); + EXPECT_FALSE( + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - EXPECT_FALSE(content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); } TEST_F(TabSpecificContentSettingsTest, BlockedFileSystems) { - TabSpecificContentSettings content_settings(contents()); + TabSpecificContentSettings* content_settings = + TabSpecificContentSettings::FromWebContents(contents()); // Access a file system. - content_settings.OnFileSystemAccessed(GURL("http://google.com"), false); + content_settings->OnFileSystemAccessed(GURL("http://google.com"), false); EXPECT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); // Block access to a file system. - content_settings.OnFileSystemAccessed(GURL("http://google.com"), true); + content_settings->OnFileSystemAccessed(GURL("http://google.com"), true); EXPECT_TRUE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); } TEST_F(TabSpecificContentSettingsTest, AllowedContent) { - TabSpecificContentSettings content_settings(contents()); + TabSpecificContentSettings* content_settings = + TabSpecificContentSettings::FromWebContents(contents()); net::CookieOptions options; ASSERT_FALSE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_IMAGES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_IMAGES)); ASSERT_FALSE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); ASSERT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "A=B", - options, - false); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "A=B", + options, + false); ASSERT_TRUE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); ASSERT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "C=D", - options, - true); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "C=D", + options, + true); ASSERT_TRUE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); ASSERT_TRUE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); } TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) { - TabSpecificContentSettings content_settings(contents()); + TabSpecificContentSettings* content_settings = + TabSpecificContentSettings::FromWebContents(contents()); ASSERT_FALSE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); ASSERT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); - content_settings.OnCookiesRead(GURL("http://google.com"), - GURL("http://google.com"), - net::CookieList(), - true); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->OnCookiesRead(GURL("http://google.com"), + GURL("http://google.com"), + net::CookieList(), + true); ASSERT_FALSE( - content_settings.IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); ASSERT_FALSE( - content_settings.IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); + content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); } TEST_F(TabSpecificContentSettingsTest, SiteDataObserver) { - TabSpecificContentSettings content_settings(contents()); - MockSiteDataObserver mock_observer(&content_settings); + TabSpecificContentSettings* content_settings = + TabSpecificContentSettings::FromWebContents(contents()); + MockSiteDataObserver mock_observer(content_settings); EXPECT_CALL(mock_observer, OnSiteDataAccessed()).Times(6); bool blocked_by_policy = false; - content_settings.OnCookieChanged(GURL("http://google.com"), - GURL("http://google.com"), - "A=B", - net::CookieOptions(), - blocked_by_policy); + content_settings->OnCookieChanged(GURL("http://google.com"), + GURL("http://google.com"), + "A=B", + net::CookieOptions(), + blocked_by_policy); net::CookieList cookie_list; net::ParsedCookie parsed_cookie("CookieName=CookieValue"); scoped_ptr<net::CanonicalCookie> cookie( net::CanonicalCookie::Create(GURL("http://google.com"), parsed_cookie)); cookie_list.push_back(*cookie); - content_settings.OnCookiesRead(GURL("http://google.com"), - GURL("http://google.com"), - cookie_list, - blocked_by_policy); - content_settings.OnFileSystemAccessed(GURL("http://google.com"), - blocked_by_policy); - content_settings.OnIndexedDBAccessed(GURL("http://google.com"), - UTF8ToUTF16("text"), - blocked_by_policy); - content_settings.OnLocalStorageAccessed(GURL("http://google.com"), - true, + content_settings->OnCookiesRead(GURL("http://google.com"), + GURL("http://google.com"), + cookie_list, + blocked_by_policy); + content_settings->OnFileSystemAccessed(GURL("http://google.com"), + blocked_by_policy); + content_settings->OnIndexedDBAccessed(GURL("http://google.com"), + UTF8ToUTF16("text"), + blocked_by_policy); + content_settings->OnLocalStorageAccessed(GURL("http://google.com"), + true, + blocked_by_policy); + content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), + UTF8ToUTF16("name"), + UTF8ToUTF16("display_name"), blocked_by_policy); - content_settings.OnWebDatabaseAccessed(GURL("http://google.com"), - UTF8ToUTF16("name"), - UTF8ToUTF16("display_name"), - blocked_by_policy); } |