15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h" 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/content_settings/tab_specific_content_settings.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/test/base/chrome_render_view_host_test_harness.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/test/base/testing_profile.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/test/test_browser_thread.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/cookies/canonical_cookie.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/cookies/cookie_options.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "net/cookies/parsed_cookie.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h" 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using content::BrowserThread; 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class MockSiteDataObserver 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : public TabSpecificContentSettings::SiteDataObserver { 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) explicit MockSiteDataObserver( 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* tab_specific_content_settings) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : SiteDataObserver(tab_specific_content_settings) { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~MockSiteDataObserver() {} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MOCK_METHOD0(OnSiteDataAccessed, void()); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MockSiteDataObserver); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TabSpecificContentSettingsTest : public ChromeRenderViewHostTestHarness { 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetUp() OVERRIDE { 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChromeRenderViewHostTestHarness::SetUp(); 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::CreateForWebContents(web_contents()); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, BlockedContent) { 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* content_settings = 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieOptions options; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Check that after initializing, nothing is blocked. 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 647d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 657d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Set a cookie, block access to images, block mediastream access and block a 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // popup. 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "A=B", 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options, 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) false); 75a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->SetPopupsBlocked(true); 7734680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC); 7834680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Check that only the respective content types are affected. 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_TRUE(content_settings->IsContentBlocked( 907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_TRUE(content_settings->IsContentBlocked( 927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "A=B", 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options, 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) false); 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Block a cookie. 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "C=D", 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options, 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) true); 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TRUE( 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Reset blocked content settings. 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->ClearBlockedContentSettingsExceptForCookies(); 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TRUE( 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 1207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 1217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 1227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 1237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->ClearCookieSpecificContentSettings(); 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 1367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 1377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 1387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) EXPECT_FALSE(content_settings->IsContentBlocked( 1397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, BlockedFileSystems) { 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* content_settings = 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Access a file system. 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnFileSystemAccessed(GURL("http://google.com"), false); 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_FALSE( 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Block access to a file system. 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnFileSystemAccessed(GURL("http://google.com"), true); 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_TRUE( 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, AllowedContent) { 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* content_settings = 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieOptions options; 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Test default settings. 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_IMAGES)); 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1697d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 1707d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 1717d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 1727d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Record a cookie. 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "A=B", 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options, 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) false); 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE( 1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Record a blocked cookie. 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "C=D", 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) options, 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) true); 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ASSERT_TRUE( 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_TRUE( 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 1953551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1973551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, AllowedBlockedMediaContent) { 1983551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) TabSpecificContentSettings* content_settings = 1993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_NOT_ACCESSED, 2027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2043551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and allow microphone access. 2053551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) GURL security_origin("http://google.com"); 20668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) MediaStreamDevicesController::MediaStreamTypeSettingsMap 2073551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions; 20868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 2093551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 2103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 2137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 2157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED, 2177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and allow camera access. 2203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions.clear(); 22168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 2223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 2233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 2267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 2277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 2287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 22934680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_ACCESSED, 2307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and block microphone access. 2333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions.clear(); 23468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 2353551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 2363551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2373551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 2397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 2417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 24234680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED, 2433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2453551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and block camera access. 2463551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions.clear(); 24768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 2483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 2493551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2503551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 2527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 2537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 2547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 25534680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_BLOCKED, 2563551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2583551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and allow microphone and camera access. 25968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 2603551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 26168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 2623551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 2633551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2643551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2653551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 2663551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2673551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 2683551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2693551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 2703551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 2713551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 2723551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 27334680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_ACCESSED, 2743551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2763551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request and block microphone and camera access. 27768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 2783551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 27968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 2803551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 2813551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2823551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 2847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 2867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 2873551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 2883551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 2893551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 2903551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 29134680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_BLOCKED, 2923551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 2937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2943551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request microphone and camera access. Allow microphone, block camera. 29568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 2963551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 2973551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 2983551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 2993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 3003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 3013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 3023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 3037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 3047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 3057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 3067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 30734680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED, 3083551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 3093551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 3103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) // Request microphone and camera access. Block microphone, allow camera. 31168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 3123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 31368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 3143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) MediaStreamDevicesController::MEDIA_ALLOWED; 3153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->OnMediaStreamPermissionSet(security_origin, 3163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) request_permissions); 3173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentAllowed( 3183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 3193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentBlocked( 3203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 3213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_TRUE(content_settings->IsContentAllowed( 3223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 3233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) ASSERT_FALSE(content_settings->IsContentBlocked( 3243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 32534680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED, 3263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) content_settings->GetMicrophoneCameraState()); 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) { 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* content_settings = 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 3342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookiesRead(GURL("http://google.com"), 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieList(), 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) true); 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 3422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ASSERT_FALSE( 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(TabSpecificContentSettingsTest, SiteDataObserver) { 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings* content_settings = 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TabSpecificContentSettings::FromWebContents(web_contents()); 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MockSiteDataObserver mock_observer(content_settings); 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_CALL(mock_observer, OnSiteDataAccessed()).Times(6); 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool blocked_by_policy = false; 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookieChanged(GURL("http://google.com"), 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "A=B", 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieOptions(), 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieList cookie_list; 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_ptr<net::CanonicalCookie> cookie( 3612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) net::CanonicalCookie::Create(GURL("http://google.com"), 3622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "CookieName=CookieValue", 3632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::Time::Now(), net::CookieOptions())); 3642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cookie_list.push_back(*cookie); 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnCookiesRead(GURL("http://google.com"), 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GURL("http://google.com"), 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cookie_list, 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnFileSystemAccessed(GURL("http://google.com"), 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnIndexedDBAccessed(GURL("http://google.com"), 3735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::UTF8ToUTF16("text"), 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnLocalStorageAccessed(GURL("http://google.com"), 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) true, 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), 3795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::UTF8ToUTF16("name"), 3805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::UTF8ToUTF16("display_name"), 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) blocked_by_policy); 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 383