| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" | 5 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h" |
| 6 | 6 |
| 7 #include "base/guid.h" | 7 #include "base/guid.h" |
| 8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 #if defined(OS_CHROMEOS) | 75 #if defined(OS_CHROMEOS) |
| 76 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" | 76 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" |
| 77 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 77 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
| 78 #include "chrome/browser/chromeos/settings/cros_settings.h" | 78 #include "chrome/browser/chromeos/settings/cros_settings.h" |
| 79 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 79 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
| 80 #include "chromeos/dbus/dbus_thread_manager.h" | 80 #include "chromeos/dbus/dbus_thread_manager.h" |
| 81 #include "chromeos/dbus/mock_cryptohome_client.h" | 81 #include "chromeos/dbus/mock_cryptohome_client.h" |
| 82 #include "components/signin/core/account_id/account_id.h" | 82 #include "components/signin/core/account_id/account_id.h" |
| 83 #endif | 83 #endif |
| 84 | 84 |
| 85 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 86 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" |
| 87 #endif |
| 88 |
| 85 #if BUILDFLAG(ENABLE_PLUGINS) | 89 #if BUILDFLAG(ENABLE_PLUGINS) |
| 86 #include "chrome/browser/browsing_data/mock_browsing_data_flash_lso_helper.h" | 90 #include "chrome/browser/browsing_data/mock_browsing_data_flash_lso_helper.h" |
| 87 #endif | 91 #endif |
| 88 | 92 |
| 89 using content::BrowsingDataFilterBuilder; | 93 using content::BrowsingDataFilterBuilder; |
| 90 using domain_reliability::CLEAR_BEACONS; | 94 using domain_reliability::CLEAR_BEACONS; |
| 91 using domain_reliability::CLEAR_CONTEXTS; | 95 using domain_reliability::CLEAR_CONTEXTS; |
| 92 using domain_reliability::DomainReliabilityClearMode; | 96 using domain_reliability::DomainReliabilityClearMode; |
| 93 using domain_reliability::DomainReliabilityMonitor; | 97 using domain_reliability::DomainReliabilityMonitor; |
| 94 using domain_reliability::DomainReliabilityService; | 98 using domain_reliability::DomainReliabilityService; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 109 using testing::WithArgs; | 113 using testing::WithArgs; |
| 110 | 114 |
| 111 namespace { | 115 namespace { |
| 112 | 116 |
| 113 const char kTestOrigin1[] = "http://host1.com:1/"; | 117 const char kTestOrigin1[] = "http://host1.com:1/"; |
| 114 const char kTestRegisterableDomain1[] = "host1.com"; | 118 const char kTestRegisterableDomain1[] = "host1.com"; |
| 115 const char kTestOrigin2[] = "http://host2.com:1/"; | 119 const char kTestOrigin2[] = "http://host2.com:1/"; |
| 116 const char kTestOrigin3[] = "http://host3.com:1/"; | 120 const char kTestOrigin3[] = "http://host3.com:1/"; |
| 117 const char kTestRegisterableDomain3[] = "host3.com"; | 121 const char kTestRegisterableDomain3[] = "host3.com"; |
| 118 const char kTestOrigin4[] = "https://host3.com:1/"; | 122 const char kTestOrigin4[] = "https://host3.com:1/"; |
| 123 const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/"; |
| 124 const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/"; |
| 119 | 125 |
| 120 // For HTTP auth. | 126 // For HTTP auth. |
| 121 const char kTestRealm[] = "TestRealm"; | 127 const char kTestRealm[] = "TestRealm"; |
| 122 | 128 |
| 123 // For Autofill. | 129 // For Autofill. |
| 124 const char kWebOrigin[] = "https://www.example.com/"; | 130 const char kWebOrigin[] = "https://www.example.com/"; |
| 125 | 131 |
| 126 const GURL kOrigin1(kTestOrigin1); | 132 const GURL kOrigin1(kTestOrigin1); |
| 127 const GURL kOrigin2(kTestOrigin2); | 133 const GURL kOrigin2(kTestOrigin2); |
| 128 const GURL kOrigin3(kTestOrigin3); | 134 const GURL kOrigin3(kTestOrigin3); |
| 129 const GURL kOrigin4(kTestOrigin4); | 135 const GURL kOrigin4(kTestOrigin4); |
| 130 | 136 |
| 137 const GURL kOriginExt(kTestOriginExt); |
| 138 const GURL kOriginDevTools(kTestOriginDevTools); |
| 139 |
| 140 // Shorthands for origin types. |
| 141 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 142 const int kExtension = ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION; |
| 143 #endif |
| 144 const int kProtected = BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; |
| 145 const int kUnprotected = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; |
| 146 |
| 131 // Testers -------------------------------------------------------------------- | 147 // Testers -------------------------------------------------------------------- |
| 132 | 148 |
| 133 #if defined(OS_ANDROID) | 149 #if defined(OS_ANDROID) |
| 134 class TestWebappRegistry : public WebappRegistry { | 150 class TestWebappRegistry : public WebappRegistry { |
| 135 public: | 151 public: |
| 136 TestWebappRegistry() : WebappRegistry() { } | 152 TestWebappRegistry() : WebappRegistry() { } |
| 137 | 153 |
| 138 void UnregisterWebappsForUrls( | 154 void UnregisterWebappsForUrls( |
| 139 const base::Callback<bool(const GURL&)>& url_filter) override { | 155 const base::Callback<bool(const GURL&)>& url_filter) override { |
| 140 // Mocks out a JNI call. | 156 // Mocks out a JNI call. |
| (...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 851 | 867 |
| 852 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); | 868 TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); |
| 853 } | 869 } |
| 854 | 870 |
| 855 ~ChromeBrowsingDataRemoverDelegateTest() override {} | 871 ~ChromeBrowsingDataRemoverDelegateTest() override {} |
| 856 | 872 |
| 857 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, | 873 void BlockUntilBrowsingDataRemoved(const base::Time& delete_begin, |
| 858 const base::Time& delete_end, | 874 const base::Time& delete_end, |
| 859 int remove_mask, | 875 int remove_mask, |
| 860 bool include_protected_origins) { | 876 bool include_protected_origins) { |
| 861 int origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; | 877 int origin_type_mask = BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB; |
| 862 if (include_protected_origins) | 878 if (include_protected_origins) { |
| 863 origin_type_mask |= BrowsingDataHelper::PROTECTED_WEB; | 879 origin_type_mask |= BrowsingDataRemover::ORIGIN_TYPE_PROTECTED_WEB; |
| 880 } |
| 864 | 881 |
| 865 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 882 BrowsingDataRemoverCompletionObserver completion_observer(remover_); |
| 866 remover_->RemoveAndReply( | 883 remover_->RemoveAndReply( |
| 867 delete_begin, delete_end, remove_mask, origin_type_mask, | 884 delete_begin, delete_end, remove_mask, origin_type_mask, |
| 868 &completion_observer); | 885 &completion_observer); |
| 869 completion_observer.BlockUntilCompletion(); | 886 completion_observer.BlockUntilCompletion(); |
| 870 } | 887 } |
| 871 | 888 |
| 872 void BlockUntilOriginDataRemoved( | 889 void BlockUntilOriginDataRemoved( |
| 873 const base::Time& delete_begin, | 890 const base::Time& delete_begin, |
| 874 const base::Time& delete_end, | 891 const base::Time& delete_end, |
| 875 int remove_mask, | 892 int remove_mask, |
| 876 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { | 893 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) { |
| 877 BrowsingDataRemoverCompletionObserver completion_observer(remover_); | 894 BrowsingDataRemoverCompletionObserver completion_observer(remover_); |
| 878 static_cast<BrowsingDataRemoverImpl*>(remover_) | 895 static_cast<BrowsingDataRemoverImpl*>(remover_)->RemoveWithFilterAndReply( |
| 879 ->RemoveWithFilterAndReply(delete_begin, delete_end, remove_mask, | 896 delete_begin, delete_end, remove_mask, |
| 880 BrowsingDataHelper::UNPROTECTED_WEB, | 897 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 881 std::move(filter_builder), | 898 std::move(filter_builder), &completion_observer); |
| 882 &completion_observer); | |
| 883 completion_observer.BlockUntilCompletion(); | 899 completion_observer.BlockUntilCompletion(); |
| 884 } | 900 } |
| 885 | 901 |
| 886 const base::Time& GetBeginTime() { | 902 const base::Time& GetBeginTime() { |
| 887 return remover_->GetLastUsedBeginTime(); | 903 return remover_->GetLastUsedBeginTime(); |
| 888 } | 904 } |
| 889 | 905 |
| 890 int GetRemovalMask() { | 906 int GetRemovalMask() { |
| 891 return remover_->GetLastUsedRemovalMask(); | 907 return remover_->GetLastUsedRemovalMask(); |
| 892 } | 908 } |
| 893 | 909 |
| 894 int GetOriginTypeMask() { | 910 int GetOriginTypeMask() { |
| 895 return remover_->GetLastUsedOriginTypeMask(); | 911 return remover_->GetLastUsedOriginTypeMask(); |
| 896 } | 912 } |
| 897 | 913 |
| 898 TestingProfile* GetProfile() { | 914 TestingProfile* GetProfile() { |
| 899 return profile_.get(); | 915 return profile_.get(); |
| 900 } | 916 } |
| 901 | 917 |
| 902 const ClearDomainReliabilityTester& clear_domain_reliability_tester() { | 918 const ClearDomainReliabilityTester& clear_domain_reliability_tester() { |
| 903 return clear_domain_reliability_tester_; | 919 return clear_domain_reliability_tester_; |
| 904 } | 920 } |
| 905 | 921 |
| 922 bool Match(const GURL& origin, |
| 923 int mask, |
| 924 storage::SpecialStoragePolicy* policy) { |
| 925 return remover_->DoesOriginMatchMask(mask, origin, policy); |
| 926 } |
| 927 |
| 906 private: | 928 private: |
| 907 // Cached pointer to BrowsingDataRemoverImpl for access to testing methods. | 929 // Cached pointer to BrowsingDataRemoverImpl for access to testing methods. |
| 908 BrowsingDataRemover* remover_; | 930 BrowsingDataRemover* remover_; |
| 909 | 931 |
| 910 content::TestBrowserThreadBundle thread_bundle_; | 932 content::TestBrowserThreadBundle thread_bundle_; |
| 911 std::unique_ptr<TestingProfile> profile_; | 933 std::unique_ptr<TestingProfile> profile_; |
| 912 | 934 |
| 913 // Needed to mock out DomainReliabilityService, even for unrelated tests. | 935 // Needed to mock out DomainReliabilityService, even for unrelated tests. |
| 914 ClearDomainReliabilityTester clear_domain_reliability_tester_; | 936 ClearDomainReliabilityTester clear_domain_reliability_tester_; |
| 915 | 937 |
| 916 DISALLOW_COPY_AND_ASSIGN(ChromeBrowsingDataRemoverDelegateTest); | 938 DISALLOW_COPY_AND_ASSIGN(ChromeBrowsingDataRemoverDelegateTest); |
| 917 }; | 939 }; |
| 918 | 940 |
| 919 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveSafeBrowsingCookieForever) { | 941 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveSafeBrowsingCookieForever) { |
| 920 RemoveSafeBrowsingCookieTester tester; | 942 RemoveSafeBrowsingCookieTester tester; |
| 921 | 943 |
| 922 tester.AddCookie(); | 944 tester.AddCookie(); |
| 923 ASSERT_TRUE(tester.ContainsCookie()); | 945 ASSERT_TRUE(tester.ContainsCookie()); |
| 924 | 946 |
| 925 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 947 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 926 BrowsingDataRemover::REMOVE_COOKIES, false); | 948 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
| 927 | 949 |
| 928 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 950 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
| 929 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 951 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 952 GetOriginTypeMask()); |
| 930 EXPECT_FALSE(tester.ContainsCookie()); | 953 EXPECT_FALSE(tester.ContainsCookie()); |
| 931 } | 954 } |
| 932 | 955 |
| 933 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 956 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 934 RemoveSafeBrowsingCookieLastHour) { | 957 RemoveSafeBrowsingCookieLastHour) { |
| 935 RemoveSafeBrowsingCookieTester tester; | 958 RemoveSafeBrowsingCookieTester tester; |
| 936 | 959 |
| 937 tester.AddCookie(); | 960 tester.AddCookie(); |
| 938 ASSERT_TRUE(tester.ContainsCookie()); | 961 ASSERT_TRUE(tester.ContainsCookie()); |
| 939 | 962 |
| 940 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 963 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
| 941 BrowsingDataRemover::REMOVE_COOKIES, false); | 964 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
| 942 | 965 |
| 943 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 966 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
| 944 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 967 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 968 GetOriginTypeMask()); |
| 945 // Removing with time period other than all time should not clear safe | 969 // Removing with time period other than all time should not clear safe |
| 946 // browsing cookies. | 970 // browsing cookies. |
| 947 EXPECT_TRUE(tester.ContainsCookie()); | 971 EXPECT_TRUE(tester.ContainsCookie()); |
| 948 } | 972 } |
| 949 | 973 |
| 950 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 974 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 951 RemoveSafeBrowsingCookieForeverWithPredicate) { | 975 RemoveSafeBrowsingCookieForeverWithPredicate) { |
| 952 RemoveSafeBrowsingCookieTester tester; | 976 RemoveSafeBrowsingCookieTester tester; |
| 953 | 977 |
| 954 tester.AddCookie(); | 978 tester.AddCookie(); |
| 955 ASSERT_TRUE(tester.ContainsCookie()); | 979 ASSERT_TRUE(tester.ContainsCookie()); |
| 956 std::unique_ptr<BrowsingDataFilterBuilder> filter( | 980 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
| 957 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 981 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 958 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 982 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
| 959 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 983 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
| 960 BrowsingDataRemover::REMOVE_COOKIES, | 984 BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 961 std::move(filter)); | 985 std::move(filter)); |
| 962 | 986 |
| 963 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 987 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
| 964 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 988 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 989 GetOriginTypeMask()); |
| 965 EXPECT_TRUE(tester.ContainsCookie()); | 990 EXPECT_TRUE(tester.ContainsCookie()); |
| 966 | 991 |
| 967 std::unique_ptr<BrowsingDataFilterBuilder> filter2( | 992 std::unique_ptr<BrowsingDataFilterBuilder> filter2( |
| 968 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 993 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 969 filter2->AddRegisterableDomain(kTestRegisterableDomain1); | 994 filter2->AddRegisterableDomain(kTestRegisterableDomain1); |
| 970 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 995 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
| 971 BrowsingDataRemover::REMOVE_COOKIES, | 996 BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 972 std::move(filter2)); | 997 std::move(filter2)); |
| 973 EXPECT_FALSE(tester.ContainsCookie()); | 998 EXPECT_FALSE(tester.ContainsCookie()); |
| 974 } | 999 } |
| 975 | 1000 |
| 976 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) { | 1001 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForever) { |
| 977 RemoveHistoryTester tester; | 1002 RemoveHistoryTester tester; |
| 978 ASSERT_TRUE(tester.Init(GetProfile())); | 1003 ASSERT_TRUE(tester.Init(GetProfile())); |
| 979 | 1004 |
| 980 tester.AddHistory(kOrigin1, base::Time::Now()); | 1005 tester.AddHistory(kOrigin1, base::Time::Now()); |
| 981 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1006 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
| 982 | 1007 |
| 983 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1008 BlockUntilBrowsingDataRemoved( |
| 984 BrowsingDataRemover::REMOVE_HISTORY, false); | 1009 base::Time(), base::Time::Max(), |
| 1010 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 985 | 1011 |
| 986 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1012 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 987 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1013 GetRemovalMask()); |
| 1014 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1015 GetOriginTypeMask()); |
| 988 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1016 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
| 989 } | 1017 } |
| 990 | 1018 |
| 991 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForLastHour) { | 1019 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryForLastHour) { |
| 992 RemoveHistoryTester tester; | 1020 RemoveHistoryTester tester; |
| 993 ASSERT_TRUE(tester.Init(GetProfile())); | 1021 ASSERT_TRUE(tester.Init(GetProfile())); |
| 994 | 1022 |
| 995 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1023 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
| 996 | 1024 |
| 997 tester.AddHistory(kOrigin1, base::Time::Now()); | 1025 tester.AddHistory(kOrigin1, base::Time::Now()); |
| 998 tester.AddHistory(kOrigin2, two_hours_ago); | 1026 tester.AddHistory(kOrigin2, two_hours_ago); |
| 999 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1027 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
| 1000 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1028 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1001 | 1029 |
| 1002 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1030 BlockUntilBrowsingDataRemoved( |
| 1003 BrowsingDataRemover::REMOVE_HISTORY, false); | 1031 AnHourAgo(), base::Time::Max(), |
| 1032 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1004 | 1033 |
| 1005 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1034 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1006 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1035 GetRemovalMask()); |
| 1036 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1037 GetOriginTypeMask()); |
| 1007 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1038 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
| 1008 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1039 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1009 } | 1040 } |
| 1010 | 1041 |
| 1011 // This should crash (DCHECK) in Debug, but death tests don't work properly | 1042 // This should crash (DCHECK) in Debug, but death tests don't work properly |
| 1012 // here. | 1043 // here. |
| 1013 // TODO(msramek): To make this testable, the refusal to delete history should | 1044 // TODO(msramek): To make this testable, the refusal to delete history should |
| 1014 // be made a part of interface (e.g. a success value) as opposed to a DCHECK. | 1045 // be made a part of interface (e.g. a success value) as opposed to a DCHECK. |
| 1015 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) | 1046 #if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) |
| 1016 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryProhibited) { | 1047 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveHistoryProhibited) { |
| 1017 RemoveHistoryTester tester; | 1048 RemoveHistoryTester tester; |
| 1018 ASSERT_TRUE(tester.Init(GetProfile())); | 1049 ASSERT_TRUE(tester.Init(GetProfile())); |
| 1019 PrefService* prefs = GetProfile()->GetPrefs(); | 1050 PrefService* prefs = GetProfile()->GetPrefs(); |
| 1020 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 1051 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
| 1021 | 1052 |
| 1022 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1053 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
| 1023 | 1054 |
| 1024 tester.AddHistory(kOrigin1, base::Time::Now()); | 1055 tester.AddHistory(kOrigin1, base::Time::Now()); |
| 1025 tester.AddHistory(kOrigin2, two_hours_ago); | 1056 tester.AddHistory(kOrigin2, two_hours_ago); |
| 1026 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1057 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
| 1027 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1058 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1028 | 1059 |
| 1029 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1060 BlockUntilBrowsingDataRemoved( |
| 1030 BrowsingDataRemover::REMOVE_HISTORY, false); | 1061 AnHourAgo(), base::Time::Max(), |
| 1031 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1062 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1032 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1063 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1064 GetRemovalMask()); |
| 1065 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1066 GetOriginTypeMask()); |
| 1033 | 1067 |
| 1034 // Nothing should have been deleted. | 1068 // Nothing should have been deleted. |
| 1035 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1069 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
| 1036 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1070 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1037 } | 1071 } |
| 1038 | 1072 |
| 1039 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1073 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1040 RemoveMultipleTypesHistoryProhibited) { | 1074 RemoveMultipleTypesHistoryProhibited) { |
| 1041 PrefService* prefs = GetProfile()->GetPrefs(); | 1075 PrefService* prefs = GetProfile()->GetPrefs(); |
| 1042 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); | 1076 prefs->SetBoolean(prefs::kAllowDeletingBrowserHistory, false); |
| 1043 | 1077 |
| 1044 // Add some history. | 1078 // Add some history. |
| 1045 RemoveHistoryTester history_tester; | 1079 RemoveHistoryTester history_tester; |
| 1046 ASSERT_TRUE(history_tester.Init(GetProfile())); | 1080 ASSERT_TRUE(history_tester.Init(GetProfile())); |
| 1047 history_tester.AddHistory(kOrigin1, base::Time::Now()); | 1081 history_tester.AddHistory(kOrigin1, base::Time::Now()); |
| 1048 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1082 ASSERT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
| 1049 | 1083 |
| 1050 // Expect that passwords will be deleted, as they do not depend | 1084 // Expect that passwords will be deleted, as they do not depend |
| 1051 // on |prefs::kAllowDeletingBrowserHistory|. | 1085 // on |prefs::kAllowDeletingBrowserHistory|. |
| 1052 RemovePasswordsTester tester(GetProfile()); | 1086 RemovePasswordsTester tester(GetProfile()); |
| 1053 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)); | 1087 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)); |
| 1054 | 1088 |
| 1055 int removal_mask = BrowsingDataRemover::REMOVE_HISTORY | | 1089 int removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 1056 BrowsingDataRemover::REMOVE_PASSWORDS; | 1090 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS; |
| 1057 | 1091 |
| 1058 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1092 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), |
| 1059 removal_mask, false); | 1093 removal_mask, false); |
| 1060 EXPECT_EQ(removal_mask, GetRemovalMask()); | 1094 EXPECT_EQ(removal_mask, GetRemovalMask()); |
| 1061 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1095 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1096 GetOriginTypeMask()); |
| 1062 | 1097 |
| 1063 // Verify that history was not deleted. | 1098 // Verify that history was not deleted. |
| 1064 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); | 1099 EXPECT_TRUE(history_tester.HistoryContainsURL(kOrigin1)); |
| 1065 } | 1100 } |
| 1066 #endif | 1101 #endif |
| 1067 | 1102 |
| 1068 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveExternalProtocolData) { | 1103 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveExternalProtocolData) { |
| 1069 TestingProfile* profile = GetProfile(); | 1104 TestingProfile* profile = GetProfile(); |
| 1070 // Add external protocol data on profile. | 1105 // Add external protocol data on profile. |
| 1071 base::DictionaryValue prefs; | 1106 base::DictionaryValue prefs; |
| 1072 prefs.SetBoolean("tel", true); | 1107 prefs.SetBoolean("tel", true); |
| 1073 profile->GetPrefs()->Set(prefs::kExcludedSchemes, prefs); | 1108 profile->GetPrefs()->Set(prefs::kExcludedSchemes, prefs); |
| 1074 | 1109 |
| 1075 EXPECT_FALSE( | 1110 EXPECT_FALSE( |
| 1076 profile->GetPrefs()->GetDictionary(prefs::kExcludedSchemes)->empty()); | 1111 profile->GetPrefs()->GetDictionary(prefs::kExcludedSchemes)->empty()); |
| 1077 | 1112 |
| 1078 BlockUntilBrowsingDataRemoved( | 1113 BlockUntilBrowsingDataRemoved( |
| 1079 AnHourAgo(), base::Time::Max(), | 1114 AnHourAgo(), base::Time::Max(), |
| 1080 BrowsingDataRemover::REMOVE_EXTERNAL_PROTOCOL_DATA, false); | 1115 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_EXTERNAL_PROTOCOL_DATA, |
| 1116 false); |
| 1081 EXPECT_TRUE( | 1117 EXPECT_TRUE( |
| 1082 profile->GetPrefs()->GetDictionary(prefs::kExcludedSchemes)->empty()); | 1118 profile->GetPrefs()->GetDictionary(prefs::kExcludedSchemes)->empty()); |
| 1083 } | 1119 } |
| 1084 | 1120 |
| 1085 // Test that clearing history deletes favicons not associated with bookmarks. | 1121 // Test that clearing history deletes favicons not associated with bookmarks. |
| 1086 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveFaviconsForever) { | 1122 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveFaviconsForever) { |
| 1087 GURL page_url("http://a"); | 1123 GURL page_url("http://a"); |
| 1088 | 1124 |
| 1089 RemoveFaviconTester favicon_tester; | 1125 RemoveFaviconTester favicon_tester; |
| 1090 ASSERT_TRUE(favicon_tester.Init(GetProfile())); | 1126 ASSERT_TRUE(favicon_tester.Init(GetProfile())); |
| 1091 favicon_tester.VisitAndAddFavicon(page_url); | 1127 favicon_tester.VisitAndAddFavicon(page_url); |
| 1092 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url)); | 1128 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(page_url)); |
| 1093 | 1129 |
| 1094 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1130 BlockUntilBrowsingDataRemoved( |
| 1095 BrowsingDataRemover::REMOVE_HISTORY, false); | 1131 base::Time(), base::Time::Max(), |
| 1096 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1132 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1133 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1134 GetRemovalMask()); |
| 1097 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url)); | 1135 EXPECT_FALSE(favicon_tester.HasFaviconForPageURL(page_url)); |
| 1098 } | 1136 } |
| 1099 | 1137 |
| 1100 // Test that a bookmark's favicon is expired and not deleted when clearing | 1138 // Test that a bookmark's favicon is expired and not deleted when clearing |
| 1101 // history. Expiring the favicon causes the bookmark's favicon to be updated | 1139 // history. Expiring the favicon causes the bookmark's favicon to be updated |
| 1102 // when the user next visits the bookmarked page. Expiring the bookmark's | 1140 // when the user next visits the bookmarked page. Expiring the bookmark's |
| 1103 // favicon is useful when the bookmark's favicon becomes incorrect (See | 1141 // favicon is useful when the bookmark's favicon becomes incorrect (See |
| 1104 // crbug.com/474421 for a sample bug which causes this). | 1142 // crbug.com/474421 for a sample bug which causes this). |
| 1105 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ExpireBookmarkFavicons) { | 1143 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ExpireBookmarkFavicons) { |
| 1106 GURL bookmarked_page("http://a"); | 1144 GURL bookmarked_page("http://a"); |
| 1107 | 1145 |
| 1108 TestingProfile* profile = GetProfile(); | 1146 TestingProfile* profile = GetProfile(); |
| 1109 profile->CreateBookmarkModel(true); | 1147 profile->CreateBookmarkModel(true); |
| 1110 bookmarks::BookmarkModel* bookmark_model = | 1148 bookmarks::BookmarkModel* bookmark_model = |
| 1111 BookmarkModelFactory::GetForBrowserContext(profile); | 1149 BookmarkModelFactory::GetForBrowserContext(profile); |
| 1112 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); | 1150 bookmarks::test::WaitForBookmarkModelToLoad(bookmark_model); |
| 1113 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, | 1151 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), 0, |
| 1114 base::ASCIIToUTF16("a"), bookmarked_page); | 1152 base::ASCIIToUTF16("a"), bookmarked_page); |
| 1115 | 1153 |
| 1116 RemoveFaviconTester favicon_tester; | 1154 RemoveFaviconTester favicon_tester; |
| 1117 ASSERT_TRUE(favicon_tester.Init(GetProfile())); | 1155 ASSERT_TRUE(favicon_tester.Init(GetProfile())); |
| 1118 favicon_tester.VisitAndAddFavicon(bookmarked_page); | 1156 favicon_tester.VisitAndAddFavicon(bookmarked_page); |
| 1119 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); | 1157 ASSERT_TRUE(favicon_tester.HasFaviconForPageURL(bookmarked_page)); |
| 1120 | 1158 |
| 1121 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1159 BlockUntilBrowsingDataRemoved( |
| 1122 BrowsingDataRemover::REMOVE_HISTORY, false); | 1160 base::Time(), base::Time::Max(), |
| 1123 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1161 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1162 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1163 GetRemovalMask()); |
| 1124 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); | 1164 EXPECT_TRUE(favicon_tester.HasExpiredFaviconForPageURL(bookmarked_page)); |
| 1125 } | 1165 } |
| 1126 | 1166 |
| 1127 // TODO(crbug.com/589586): Disabled, since history is not yet marked as | 1167 // TODO(crbug.com/589586): Disabled, since history is not yet marked as |
| 1128 // a filterable datatype. | 1168 // a filterable datatype. |
| 1129 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1169 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1130 DISABLED_TimeBasedHistoryRemoval) { | 1170 DISABLED_TimeBasedHistoryRemoval) { |
| 1131 RemoveHistoryTester tester; | 1171 RemoveHistoryTester tester; |
| 1132 ASSERT_TRUE(tester.Init(GetProfile())); | 1172 ASSERT_TRUE(tester.Init(GetProfile())); |
| 1133 | 1173 |
| 1134 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); | 1174 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); |
| 1135 | 1175 |
| 1136 tester.AddHistory(kOrigin1, base::Time::Now()); | 1176 tester.AddHistory(kOrigin1, base::Time::Now()); |
| 1137 tester.AddHistory(kOrigin2, two_hours_ago); | 1177 tester.AddHistory(kOrigin2, two_hours_ago); |
| 1138 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); | 1178 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin1)); |
| 1139 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1179 ASSERT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1140 | 1180 |
| 1141 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1181 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
| 1142 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1182 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1143 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 1183 BlockUntilOriginDataRemoved( |
| 1144 BrowsingDataRemover::REMOVE_HISTORY, | 1184 AnHourAgo(), base::Time::Max(), |
| 1145 std::move(builder)); | 1185 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, std::move(builder)); |
| 1146 | 1186 |
| 1147 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1187 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1148 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1188 GetRemovalMask()); |
| 1189 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1190 GetOriginTypeMask()); |
| 1149 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); | 1191 EXPECT_FALSE(tester.HistoryContainsURL(kOrigin1)); |
| 1150 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); | 1192 EXPECT_TRUE(tester.HistoryContainsURL(kOrigin2)); |
| 1151 } | 1193 } |
| 1152 | 1194 |
| 1153 // Verify that clearing autofill form data works. | 1195 // Verify that clearing autofill form data works. |
| 1154 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) { | 1196 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalLastHour) { |
| 1155 GetProfile()->CreateWebDataService(); | 1197 GetProfile()->CreateWebDataService(); |
| 1156 RemoveAutofillTester tester(GetProfile()); | 1198 RemoveAutofillTester tester(GetProfile()); |
| 1157 | 1199 |
| 1158 ASSERT_FALSE(tester.HasProfile()); | 1200 ASSERT_FALSE(tester.HasProfile()); |
| 1159 tester.AddProfilesAndCards(); | 1201 tester.AddProfilesAndCards(); |
| 1160 ASSERT_TRUE(tester.HasProfile()); | 1202 ASSERT_TRUE(tester.HasProfile()); |
| 1161 | 1203 |
| 1162 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1204 BlockUntilBrowsingDataRemoved( |
| 1163 BrowsingDataRemover::REMOVE_FORM_DATA, false); | 1205 AnHourAgo(), base::Time::Max(), |
| 1206 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); |
| 1164 | 1207 |
| 1165 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); | 1208 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, |
| 1166 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1209 GetRemovalMask()); |
| 1210 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1211 GetOriginTypeMask()); |
| 1167 ASSERT_FALSE(tester.HasProfile()); | 1212 ASSERT_FALSE(tester.HasProfile()); |
| 1168 } | 1213 } |
| 1169 | 1214 |
| 1170 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalEverything) { | 1215 TEST_F(ChromeBrowsingDataRemoverDelegateTest, AutofillRemovalEverything) { |
| 1171 GetProfile()->CreateWebDataService(); | 1216 GetProfile()->CreateWebDataService(); |
| 1172 RemoveAutofillTester tester(GetProfile()); | 1217 RemoveAutofillTester tester(GetProfile()); |
| 1173 | 1218 |
| 1174 ASSERT_FALSE(tester.HasProfile()); | 1219 ASSERT_FALSE(tester.HasProfile()); |
| 1175 tester.AddProfilesAndCards(); | 1220 tester.AddProfilesAndCards(); |
| 1176 ASSERT_TRUE(tester.HasProfile()); | 1221 ASSERT_TRUE(tester.HasProfile()); |
| 1177 | 1222 |
| 1178 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1223 BlockUntilBrowsingDataRemoved( |
| 1179 BrowsingDataRemover::REMOVE_FORM_DATA, false); | 1224 base::Time(), base::Time::Max(), |
| 1225 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, false); |
| 1180 | 1226 |
| 1181 EXPECT_EQ(BrowsingDataRemover::REMOVE_FORM_DATA, GetRemovalMask()); | 1227 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA, |
| 1182 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1228 GetRemovalMask()); |
| 1229 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1230 GetOriginTypeMask()); |
| 1183 ASSERT_FALSE(tester.HasProfile()); | 1231 ASSERT_FALSE(tester.HasProfile()); |
| 1184 } | 1232 } |
| 1185 | 1233 |
| 1186 // Verify that clearing autofill form data works. | 1234 // Verify that clearing autofill form data works. |
| 1187 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1235 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1188 AutofillOriginsRemovedWithHistory) { | 1236 AutofillOriginsRemovedWithHistory) { |
| 1189 GetProfile()->CreateWebDataService(); | 1237 GetProfile()->CreateWebDataService(); |
| 1190 RemoveAutofillTester tester(GetProfile()); | 1238 RemoveAutofillTester tester(GetProfile()); |
| 1191 | 1239 |
| 1192 tester.AddProfilesAndCards(); | 1240 tester.AddProfilesAndCards(); |
| 1193 EXPECT_FALSE(tester.HasOrigin(std::string())); | 1241 EXPECT_FALSE(tester.HasOrigin(std::string())); |
| 1194 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); | 1242 EXPECT_TRUE(tester.HasOrigin(kWebOrigin)); |
| 1195 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 1243 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
| 1196 | 1244 |
| 1197 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1245 BlockUntilBrowsingDataRemoved( |
| 1198 BrowsingDataRemover::REMOVE_HISTORY, false); | 1246 AnHourAgo(), base::Time::Max(), |
| 1247 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1199 | 1248 |
| 1200 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); | 1249 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1201 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1250 GetRemovalMask()); |
| 1251 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1252 GetOriginTypeMask()); |
| 1202 EXPECT_TRUE(tester.HasOrigin(std::string())); | 1253 EXPECT_TRUE(tester.HasOrigin(std::string())); |
| 1203 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); | 1254 EXPECT_FALSE(tester.HasOrigin(kWebOrigin)); |
| 1204 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); | 1255 EXPECT_TRUE(tester.HasOrigin(autofill::kSettingsOrigin)); |
| 1205 } | 1256 } |
| 1206 | 1257 |
| 1207 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ZeroSuggestCacheClear) { | 1258 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ZeroSuggestCacheClear) { |
| 1208 PrefService* prefs = GetProfile()->GetPrefs(); | 1259 PrefService* prefs = GetProfile()->GetPrefs(); |
| 1209 prefs->SetString(omnibox::kZeroSuggestCachedResults, | 1260 prefs->SetString(omnibox::kZeroSuggestCachedResults, |
| 1210 "[\"\", [\"foo\", \"bar\"]]"); | 1261 "[\"\", [\"foo\", \"bar\"]]"); |
| 1211 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1262 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1212 BrowsingDataRemover::REMOVE_COOKIES, false); | 1263 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
| 1213 | 1264 |
| 1214 // Expect the prefs to be cleared when cookies are removed. | 1265 // Expect the prefs to be cleared when cookies are removed. |
| 1215 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); | 1266 EXPECT_TRUE(prefs->GetString(omnibox::kZeroSuggestCachedResults).empty()); |
| 1216 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); | 1267 EXPECT_EQ(BrowsingDataRemover::DATA_TYPE_COOKIES, GetRemovalMask()); |
| 1217 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1268 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1269 GetOriginTypeMask()); |
| 1218 } | 1270 } |
| 1219 | 1271 |
| 1220 #if defined(OS_CHROMEOS) | 1272 #if defined(OS_CHROMEOS) |
| 1221 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1273 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1222 ContentProtectionPlatformKeysRemoval) { | 1274 ContentProtectionPlatformKeysRemoval) { |
| 1223 chromeos::ScopedTestDeviceSettingsService test_device_settings_service; | 1275 chromeos::ScopedTestDeviceSettingsService test_device_settings_service; |
| 1224 chromeos::ScopedTestCrosSettings test_cros_settings; | 1276 chromeos::ScopedTestCrosSettings test_cros_settings; |
| 1225 chromeos::MockUserManager* mock_user_manager = | 1277 chromeos::MockUserManager* mock_user_manager = |
| 1226 new testing::NiceMock<chromeos::MockUserManager>(); | 1278 new testing::NiceMock<chromeos::MockUserManager>(); |
| 1227 mock_user_manager->SetActiveUser( | 1279 mock_user_manager->SetActiveUser( |
| 1228 AccountId::FromUserEmail("test@example.com")); | 1280 AccountId::FromUserEmail("test@example.com")); |
| 1229 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager); | 1281 chromeos::ScopedUserManagerEnabler user_manager_enabler(mock_user_manager); |
| 1230 | 1282 |
| 1231 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = | 1283 std::unique_ptr<chromeos::DBusThreadManagerSetter> dbus_setter = |
| 1232 chromeos::DBusThreadManager::GetSetterForTesting(); | 1284 chromeos::DBusThreadManager::GetSetterForTesting(); |
| 1233 chromeos::MockCryptohomeClient* cryptohome_client = | 1285 chromeos::MockCryptohomeClient* cryptohome_client = |
| 1234 new chromeos::MockCryptohomeClient; | 1286 new chromeos::MockCryptohomeClient; |
| 1235 dbus_setter->SetCryptohomeClient( | 1287 dbus_setter->SetCryptohomeClient( |
| 1236 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); | 1288 std::unique_ptr<chromeos::CryptohomeClient>(cryptohome_client)); |
| 1237 | 1289 |
| 1238 // Expect exactly one call. No calls means no attempt to delete keys and more | 1290 // Expect exactly one call. No calls means no attempt to delete keys and more |
| 1239 // than one call means a significant performance problem. | 1291 // than one call means a significant performance problem. |
| 1240 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) | 1292 EXPECT_CALL(*cryptohome_client, TpmAttestationDeleteKeys(_, _, _, _)) |
| 1241 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); | 1293 .WillOnce(WithArgs<3>(Invoke(FakeDBusCall))); |
| 1242 | 1294 |
| 1243 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1295 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1244 BrowsingDataRemover::REMOVE_MEDIA_LICENSES, | 1296 BrowsingDataRemover::DATA_TYPE_MEDIA_LICENSES, |
| 1245 false); | 1297 false); |
| 1246 | 1298 |
| 1247 chromeos::DBusThreadManager::Shutdown(); | 1299 chromeos::DBusThreadManager::Shutdown(); |
| 1248 } | 1300 } |
| 1249 #endif | 1301 #endif |
| 1250 | 1302 |
| 1251 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Null) { | 1303 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Null) { |
| 1252 const ClearDomainReliabilityTester& tester = | 1304 const ClearDomainReliabilityTester& tester = |
| 1253 clear_domain_reliability_tester(); | 1305 clear_domain_reliability_tester(); |
| 1254 | 1306 |
| 1255 EXPECT_EQ(0u, tester.clear_count()); | 1307 EXPECT_EQ(0u, tester.clear_count()); |
| 1256 } | 1308 } |
| 1257 | 1309 |
| 1258 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Beacons) { | 1310 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Beacons) { |
| 1259 const ClearDomainReliabilityTester& tester = | 1311 const ClearDomainReliabilityTester& tester = |
| 1260 clear_domain_reliability_tester(); | 1312 clear_domain_reliability_tester(); |
| 1261 | 1313 |
| 1262 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1314 BlockUntilBrowsingDataRemoved( |
| 1263 BrowsingDataRemover::REMOVE_HISTORY, false); | 1315 base::Time(), base::Time::Max(), |
| 1316 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1264 EXPECT_EQ(1u, tester.clear_count()); | 1317 EXPECT_EQ(1u, tester.clear_count()); |
| 1265 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); | 1318 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); |
| 1266 EXPECT_TRUE(ProbablySameFilters( | 1319 EXPECT_TRUE(ProbablySameFilters( |
| 1267 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); | 1320 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); |
| 1268 } | 1321 } |
| 1269 | 1322 |
| 1270 // TODO(crbug.com/589586): Disabled, since history is not yet marked as | 1323 // TODO(crbug.com/589586): Disabled, since history is not yet marked as |
| 1271 // a filterable datatype. | 1324 // a filterable datatype. |
| 1272 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1325 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1273 DISABLED_DomainReliability_Beacons_WithFilter) { | 1326 DISABLED_DomainReliability_Beacons_WithFilter) { |
| 1274 const ClearDomainReliabilityTester& tester = | 1327 const ClearDomainReliabilityTester& tester = |
| 1275 clear_domain_reliability_tester(); | 1328 clear_domain_reliability_tester(); |
| 1276 | 1329 |
| 1277 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1330 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
| 1278 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1331 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 1279 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1332 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1280 | 1333 |
| 1281 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1334 BlockUntilOriginDataRemoved( |
| 1282 BrowsingDataRemover::REMOVE_HISTORY, | 1335 base::Time(), base::Time::Max(), |
| 1283 builder->Copy()); | 1336 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, builder->Copy()); |
| 1284 EXPECT_EQ(1u, tester.clear_count()); | 1337 EXPECT_EQ(1u, tester.clear_count()); |
| 1285 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); | 1338 EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode()); |
| 1286 EXPECT_TRUE(ProbablySameFilters( | 1339 EXPECT_TRUE(ProbablySameFilters( |
| 1287 builder->BuildGeneralFilter(), tester.last_filter())); | 1340 builder->BuildGeneralFilter(), tester.last_filter())); |
| 1288 } | 1341 } |
| 1289 | 1342 |
| 1290 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) { | 1343 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_Contexts) { |
| 1291 const ClearDomainReliabilityTester& tester = | 1344 const ClearDomainReliabilityTester& tester = |
| 1292 clear_domain_reliability_tester(); | 1345 clear_domain_reliability_tester(); |
| 1293 | 1346 |
| 1294 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1347 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1295 BrowsingDataRemover::REMOVE_COOKIES, false); | 1348 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
| 1296 EXPECT_EQ(1u, tester.clear_count()); | 1349 EXPECT_EQ(1u, tester.clear_count()); |
| 1297 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1350 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
| 1298 EXPECT_TRUE(ProbablySameFilters( | 1351 EXPECT_TRUE(ProbablySameFilters( |
| 1299 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); | 1352 BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter())); |
| 1300 } | 1353 } |
| 1301 | 1354 |
| 1302 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1355 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1303 DomainReliability_Contexts_WithFilter) { | 1356 DomainReliability_Contexts_WithFilter) { |
| 1304 const ClearDomainReliabilityTester& tester = | 1357 const ClearDomainReliabilityTester& tester = |
| 1305 clear_domain_reliability_tester(); | 1358 clear_domain_reliability_tester(); |
| 1306 | 1359 |
| 1307 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1360 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
| 1308 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1361 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 1309 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1362 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1310 | 1363 |
| 1311 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1364 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), |
| 1312 BrowsingDataRemover::REMOVE_COOKIES, | 1365 BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1313 builder->Copy()); | 1366 builder->Copy()); |
| 1314 EXPECT_EQ(1u, tester.clear_count()); | 1367 EXPECT_EQ(1u, tester.clear_count()); |
| 1315 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1368 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
| 1316 EXPECT_TRUE(ProbablySameFilters( | 1369 EXPECT_TRUE(ProbablySameFilters( |
| 1317 builder->BuildGeneralFilter(), tester.last_filter())); | 1370 builder->BuildGeneralFilter(), tester.last_filter())); |
| 1318 } | 1371 } |
| 1319 | 1372 |
| 1320 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) { | 1373 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DomainReliability_ContextsWin) { |
| 1321 const ClearDomainReliabilityTester& tester = | 1374 const ClearDomainReliabilityTester& tester = |
| 1322 clear_domain_reliability_tester(); | 1375 clear_domain_reliability_tester(); |
| 1323 | 1376 |
| 1324 BlockUntilBrowsingDataRemoved( | 1377 BlockUntilBrowsingDataRemoved( |
| 1325 base::Time(), base::Time::Max(), | 1378 base::Time(), base::Time::Max(), |
| 1326 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES, | 1379 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 1380 BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1327 false); | 1381 false); |
| 1328 EXPECT_EQ(1u, tester.clear_count()); | 1382 EXPECT_EQ(1u, tester.clear_count()); |
| 1329 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1383 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
| 1330 } | 1384 } |
| 1331 | 1385 |
| 1332 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1386 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1333 DomainReliability_ProtectedOrigins) { | 1387 DomainReliability_ProtectedOrigins) { |
| 1334 const ClearDomainReliabilityTester& tester = | 1388 const ClearDomainReliabilityTester& tester = |
| 1335 clear_domain_reliability_tester(); | 1389 clear_domain_reliability_tester(); |
| 1336 | 1390 |
| 1337 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1391 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1338 BrowsingDataRemover::REMOVE_COOKIES, true); | 1392 BrowsingDataRemover::DATA_TYPE_COOKIES, true); |
| 1339 EXPECT_EQ(1u, tester.clear_count()); | 1393 EXPECT_EQ(1u, tester.clear_count()); |
| 1340 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); | 1394 EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode()); |
| 1341 } | 1395 } |
| 1342 | 1396 |
| 1343 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since | 1397 // TODO(juliatuttle): This isn't actually testing the no-monitor case, since |
| 1344 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed | 1398 // BrowsingDataRemoverTest now creates one unconditionally, since it's needed |
| 1345 // for some unrelated test cases. This should be fixed so it tests the no- | 1399 // for some unrelated test cases. This should be fixed so it tests the no- |
| 1346 // monitor case again. | 1400 // monitor case again. |
| 1347 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1401 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1348 DISABLED_DomainReliability_NoMonitor) { | 1402 DISABLED_DomainReliability_NoMonitor) { |
| 1349 BlockUntilBrowsingDataRemoved( | 1403 BlockUntilBrowsingDataRemoved( |
| 1350 base::Time(), base::Time::Max(), | 1404 base::Time(), base::Time::Max(), |
| 1351 BrowsingDataRemover::REMOVE_HISTORY | BrowsingDataRemover::REMOVE_COOKIES, | 1405 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY | |
| 1406 BrowsingDataRemover::DATA_TYPE_COOKIES, |
| 1352 false); | 1407 false); |
| 1353 } | 1408 } |
| 1354 | 1409 |
| 1355 // Tests that the deletion of downloads completes successfully and that | 1410 // Tests that the deletion of downloads completes successfully and that |
| 1356 // ChromeDownloadManagerDelegate is correctly created and shut down. | 1411 // ChromeDownloadManagerDelegate is correctly created and shut down. |
| 1357 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDownloads) { | 1412 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDownloads) { |
| 1358 RemoveDownloadsTester tester(GetProfile()); | 1413 RemoveDownloadsTester tester(GetProfile()); |
| 1359 | 1414 |
| 1360 EXPECT_CALL( | 1415 EXPECT_CALL( |
| 1361 *tester.download_manager(), RemoveDownloadsByURLAndTime(_, _, _)); | 1416 *tester.download_manager(), RemoveDownloadsByURLAndTime(_, _, _)); |
| 1362 | 1417 |
| 1363 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1418 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1364 BrowsingDataRemover::REMOVE_DOWNLOADS, false); | 1419 BrowsingDataRemover::DATA_TYPE_DOWNLOADS, |
| 1420 false); |
| 1365 } | 1421 } |
| 1366 | 1422 |
| 1367 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordStatistics) { | 1423 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordStatistics) { |
| 1368 RemovePasswordsTester tester(GetProfile()); | 1424 RemovePasswordsTester tester(GetProfile()); |
| 1369 base::Callback<bool(const GURL&)> empty_filter; | 1425 base::Callback<bool(const GURL&)> empty_filter; |
| 1370 | 1426 |
| 1371 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl( | 1427 EXPECT_CALL(*tester.store(), RemoveStatisticsByOriginAndTimeImpl( |
| 1372 ProbablySameFilter(empty_filter), | 1428 ProbablySameFilter(empty_filter), |
| 1373 base::Time(), base::Time::Max())); | 1429 base::Time(), base::Time::Max())); |
| 1374 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1430 BlockUntilBrowsingDataRemoved( |
| 1375 BrowsingDataRemover::REMOVE_HISTORY, false); | 1431 base::Time(), base::Time::Max(), |
| 1432 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1376 } | 1433 } |
| 1377 | 1434 |
| 1378 // TODO(crbug.com/589586): Disabled, since history is not yet marked as | 1435 // TODO(crbug.com/589586): Disabled, since history is not yet marked as |
| 1379 // a filterable datatype. | 1436 // a filterable datatype. |
| 1380 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1437 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1381 DISABLED_RemovePasswordStatisticsByOrigin) { | 1438 DISABLED_RemovePasswordStatisticsByOrigin) { |
| 1382 RemovePasswordsTester tester(GetProfile()); | 1439 RemovePasswordsTester tester(GetProfile()); |
| 1383 | 1440 |
| 1384 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1441 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
| 1385 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1442 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 1386 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1443 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1387 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); | 1444 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); |
| 1388 | 1445 |
| 1389 EXPECT_CALL(*tester.store(), | 1446 EXPECT_CALL(*tester.store(), |
| 1390 RemoveStatisticsByOriginAndTimeImpl( | 1447 RemoveStatisticsByOriginAndTimeImpl( |
| 1391 ProbablySameFilter(filter), base::Time(), base::Time::Max())); | 1448 ProbablySameFilter(filter), base::Time(), base::Time::Max())); |
| 1392 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1449 BlockUntilOriginDataRemoved( |
| 1393 BrowsingDataRemover::REMOVE_HISTORY, | 1450 base::Time(), base::Time::Max(), |
| 1394 std::move(builder)); | 1451 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, std::move(builder)); |
| 1395 } | 1452 } |
| 1396 | 1453 |
| 1397 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordsByTimeOnly) { | 1454 TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemovePasswordsByTimeOnly) { |
| 1398 RemovePasswordsTester tester(GetProfile()); | 1455 RemovePasswordsTester tester(GetProfile()); |
| 1399 base::Callback<bool(const GURL&)> filter = | 1456 base::Callback<bool(const GURL&)> filter = |
| 1400 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1457 BrowsingDataFilterBuilder::BuildNoopFilter(); |
| 1401 | 1458 |
| 1402 EXPECT_CALL(*tester.store(), | 1459 EXPECT_CALL(*tester.store(), |
| 1403 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) | 1460 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) |
| 1404 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1461 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
| 1405 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1462 BlockUntilBrowsingDataRemoved( |
| 1406 BrowsingDataRemover::REMOVE_PASSWORDS, false); | 1463 base::Time(), base::Time::Max(), |
| 1464 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, false); |
| 1407 } | 1465 } |
| 1408 | 1466 |
| 1409 // Disabled, since passwords are not yet marked as a filterable datatype. | 1467 // Disabled, since passwords are not yet marked as a filterable datatype. |
| 1410 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1468 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1411 DISABLED_RemovePasswordsByOrigin) { | 1469 DISABLED_RemovePasswordsByOrigin) { |
| 1412 RemovePasswordsTester tester(GetProfile()); | 1470 RemovePasswordsTester tester(GetProfile()); |
| 1413 std::unique_ptr<BrowsingDataFilterBuilder> builder( | 1471 std::unique_ptr<BrowsingDataFilterBuilder> builder( |
| 1414 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1472 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 1415 builder->AddRegisterableDomain(kTestRegisterableDomain1); | 1473 builder->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1416 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); | 1474 base::Callback<bool(const GURL&)> filter = builder->BuildGeneralFilter(); |
| 1417 | 1475 |
| 1418 EXPECT_CALL(*tester.store(), | 1476 EXPECT_CALL(*tester.store(), |
| 1419 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) | 1477 RemoveLoginsByURLAndTimeImpl(ProbablySameFilter(filter), _, _)) |
| 1420 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1478 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
| 1421 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1479 BlockUntilOriginDataRemoved( |
| 1422 BrowsingDataRemover::REMOVE_PASSWORDS, | 1480 base::Time(), base::Time::Max(), |
| 1423 std::move(builder)); | 1481 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, |
| 1482 std::move(builder)); |
| 1424 } | 1483 } |
| 1425 | 1484 |
| 1426 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DisableAutoSignIn) { | 1485 TEST_F(ChromeBrowsingDataRemoverDelegateTest, DisableAutoSignIn) { |
| 1427 RemovePasswordsTester tester(GetProfile()); | 1486 RemovePasswordsTester tester(GetProfile()); |
| 1428 base::Callback<bool(const GURL&)> empty_filter = | 1487 base::Callback<bool(const GURL&)> empty_filter = |
| 1429 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1488 BrowsingDataFilterBuilder::BuildNoopFilter(); |
| 1430 | 1489 |
| 1431 EXPECT_CALL( | 1490 EXPECT_CALL( |
| 1432 *tester.store(), | 1491 *tester.store(), |
| 1433 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) | 1492 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) |
| 1434 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1493 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
| 1435 | 1494 |
| 1436 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1495 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), |
| 1437 BrowsingDataRemover::REMOVE_COOKIES, false); | 1496 BrowsingDataRemover::DATA_TYPE_COOKIES, false); |
| 1438 } | 1497 } |
| 1439 | 1498 |
| 1440 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1499 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1441 DisableAutoSignInAfterRemovingPasswords) { | 1500 DisableAutoSignInAfterRemovingPasswords) { |
| 1442 RemovePasswordsTester tester(GetProfile()); | 1501 RemovePasswordsTester tester(GetProfile()); |
| 1443 base::Callback<bool(const GURL&)> empty_filter = | 1502 base::Callback<bool(const GURL&)> empty_filter = |
| 1444 BrowsingDataFilterBuilder::BuildNoopFilter(); | 1503 BrowsingDataFilterBuilder::BuildNoopFilter(); |
| 1445 | 1504 |
| 1446 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) | 1505 EXPECT_CALL(*tester.store(), RemoveLoginsByURLAndTimeImpl(_, _, _)) |
| 1447 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1506 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
| 1448 EXPECT_CALL( | 1507 EXPECT_CALL( |
| 1449 *tester.store(), | 1508 *tester.store(), |
| 1450 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) | 1509 DisableAutoSignInForOriginsImpl(ProbablySameFilter(empty_filter))) |
| 1451 .WillOnce(Return(password_manager::PasswordStoreChangeList())); | 1510 .WillOnce(Return(password_manager::PasswordStoreChangeList())); |
| 1452 | 1511 |
| 1453 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1512 BlockUntilBrowsingDataRemoved( |
| 1454 BrowsingDataRemover::REMOVE_COOKIES | | 1513 base::Time(), base::Time::Max(), |
| 1455 BrowsingDataRemover::REMOVE_PASSWORDS, | 1514 BrowsingDataRemover::DATA_TYPE_COOKIES | |
| 1456 false); | 1515 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, |
| 1516 false); |
| 1457 } | 1517 } |
| 1458 | 1518 |
| 1459 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1519 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1460 RemoveContentSettingsWithBlacklist) { | 1520 RemoveContentSettingsWithBlacklist) { |
| 1461 // Add our settings. | 1521 // Add our settings. |
| 1462 HostContentSettingsMap* host_content_settings_map = | 1522 HostContentSettingsMap* host_content_settings_map = |
| 1463 HostContentSettingsMapFactory::GetForProfile(GetProfile()); | 1523 HostContentSettingsMapFactory::GetForProfile(GetProfile()); |
| 1464 host_content_settings_map->SetWebsiteSettingDefaultScope( | 1524 host_content_settings_map->SetWebsiteSettingDefaultScope( |
| 1465 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 1525 kOrigin1, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
| 1466 base::MakeUnique<base::DictionaryValue>()); | 1526 base::MakeUnique<base::DictionaryValue>()); |
| 1467 host_content_settings_map->SetWebsiteSettingDefaultScope( | 1527 host_content_settings_map->SetWebsiteSettingDefaultScope( |
| 1468 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 1528 kOrigin2, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
| 1469 base::MakeUnique<base::DictionaryValue>()); | 1529 base::MakeUnique<base::DictionaryValue>()); |
| 1470 host_content_settings_map->SetWebsiteSettingDefaultScope( | 1530 host_content_settings_map->SetWebsiteSettingDefaultScope( |
| 1471 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 1531 kOrigin3, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
| 1472 base::MakeUnique<base::DictionaryValue>()); | 1532 base::MakeUnique<base::DictionaryValue>()); |
| 1473 host_content_settings_map->SetWebsiteSettingDefaultScope( | 1533 host_content_settings_map->SetWebsiteSettingDefaultScope( |
| 1474 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), | 1534 kOrigin4, GURL(), CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), |
| 1475 base::MakeUnique<base::DictionaryValue>()); | 1535 base::MakeUnique<base::DictionaryValue>()); |
| 1476 | 1536 |
| 1477 // Clear all except for origin1 and origin3. | 1537 // Clear all except for origin1 and origin3. |
| 1478 std::unique_ptr<BrowsingDataFilterBuilder> filter( | 1538 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
| 1479 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1539 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1480 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 1540 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1481 filter->AddRegisterableDomain(kTestRegisterableDomain3); | 1541 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
| 1482 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 1542 BlockUntilOriginDataRemoved( |
| 1483 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, | 1543 AnHourAgo(), base::Time::Max(), |
| 1484 std::move(filter)); | 1544 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
| 1545 std::move(filter)); |
| 1485 | 1546 |
| 1486 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, GetRemovalMask()); | 1547 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
| 1487 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1548 GetRemovalMask()); |
| 1549 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1550 GetOriginTypeMask()); |
| 1488 | 1551 |
| 1489 // Verify we only have true, and they're origin1, origin3, and origin4. | 1552 // Verify we only have true, and they're origin1, origin3, and origin4. |
| 1490 ContentSettingsForOneType host_settings; | 1553 ContentSettingsForOneType host_settings; |
| 1491 host_content_settings_map->GetSettingsForOneType( | 1554 host_content_settings_map->GetSettingsForOneType( |
| 1492 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); | 1555 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, std::string(), &host_settings); |
| 1493 EXPECT_EQ(3u, host_settings.size()); | 1556 EXPECT_EQ(3u, host_settings.size()); |
| 1494 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1557 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
| 1495 host_settings[0].primary_pattern) | 1558 host_settings[0].primary_pattern) |
| 1496 << host_settings[0].primary_pattern.ToString(); | 1559 << host_settings[0].primary_pattern.ToString(); |
| 1497 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin4), | 1560 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin4), |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1511 durable_permission.UpdateContentSetting(kOrigin1, GURL(), | 1574 durable_permission.UpdateContentSetting(kOrigin1, GURL(), |
| 1512 CONTENT_SETTING_ALLOW); | 1575 CONTENT_SETTING_ALLOW); |
| 1513 durable_permission.UpdateContentSetting(kOrigin2, GURL(), | 1576 durable_permission.UpdateContentSetting(kOrigin2, GURL(), |
| 1514 CONTENT_SETTING_ALLOW); | 1577 CONTENT_SETTING_ALLOW); |
| 1515 | 1578 |
| 1516 // Clear all except for origin1 and origin3. | 1579 // Clear all except for origin1 and origin3. |
| 1517 std::unique_ptr<BrowsingDataFilterBuilder> filter( | 1580 std::unique_ptr<BrowsingDataFilterBuilder> filter( |
| 1518 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); | 1581 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST)); |
| 1519 filter->AddRegisterableDomain(kTestRegisterableDomain1); | 1582 filter->AddRegisterableDomain(kTestRegisterableDomain1); |
| 1520 filter->AddRegisterableDomain(kTestRegisterableDomain3); | 1583 filter->AddRegisterableDomain(kTestRegisterableDomain3); |
| 1521 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 1584 BlockUntilOriginDataRemoved( |
| 1522 BrowsingDataRemover::REMOVE_DURABLE_PERMISSION, | 1585 AnHourAgo(), base::Time::Max(), |
| 1523 std::move(filter)); | 1586 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, |
| 1587 std::move(filter)); |
| 1524 | 1588 |
| 1525 EXPECT_EQ(BrowsingDataRemover::REMOVE_DURABLE_PERMISSION, GetRemovalMask()); | 1589 EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DURABLE_PERMISSION, |
| 1526 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1590 GetRemovalMask()); |
| 1591 EXPECT_EQ(BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB, |
| 1592 GetOriginTypeMask()); |
| 1527 | 1593 |
| 1528 // Verify we only have allow for the first origin. | 1594 // Verify we only have allow for the first origin. |
| 1529 ContentSettingsForOneType host_settings; | 1595 ContentSettingsForOneType host_settings; |
| 1530 host_content_settings_map->GetSettingsForOneType( | 1596 host_content_settings_map->GetSettingsForOneType( |
| 1531 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); | 1597 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, std::string(), &host_settings); |
| 1532 | 1598 |
| 1533 ASSERT_EQ(2u, host_settings.size()); | 1599 ASSERT_EQ(2u, host_settings.size()); |
| 1534 // Only the first should should have a setting. | 1600 // Only the first should should have a setting. |
| 1535 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), | 1601 EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1), |
| 1536 host_settings[0].primary_pattern) | 1602 host_settings[0].primary_pattern) |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1556 | 1622 |
| 1557 net::HttpAuthCache* http_auth_cache = http_session->http_auth_cache(); | 1623 net::HttpAuthCache* http_auth_cache = http_session->http_auth_cache(); |
| 1558 http_auth_cache->Add(kOrigin1, kTestRealm, net::HttpAuth::AUTH_SCHEME_BASIC, | 1624 http_auth_cache->Add(kOrigin1, kTestRealm, net::HttpAuth::AUTH_SCHEME_BASIC, |
| 1559 "test challenge", | 1625 "test challenge", |
| 1560 net::AuthCredentials(base::ASCIIToUTF16("foo"), | 1626 net::AuthCredentials(base::ASCIIToUTF16("foo"), |
| 1561 base::ASCIIToUTF16("bar")), | 1627 base::ASCIIToUTF16("bar")), |
| 1562 "/"); | 1628 "/"); |
| 1563 CHECK(http_auth_cache->Lookup(kOrigin1, kTestRealm, | 1629 CHECK(http_auth_cache->Lookup(kOrigin1, kTestRealm, |
| 1564 net::HttpAuth::AUTH_SCHEME_BASIC)); | 1630 net::HttpAuth::AUTH_SCHEME_BASIC)); |
| 1565 | 1631 |
| 1566 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1632 BlockUntilBrowsingDataRemoved( |
| 1567 BrowsingDataRemover::REMOVE_PASSWORDS, false); | 1633 base::Time(), base::Time::Max(), |
| 1634 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS, false); |
| 1568 | 1635 |
| 1569 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm, | 1636 EXPECT_EQ(nullptr, http_auth_cache->Lookup(kOrigin1, kTestRealm, |
| 1570 net::HttpAuth::AUTH_SCHEME_BASIC)); | 1637 net::HttpAuth::AUTH_SCHEME_BASIC)); |
| 1571 } | 1638 } |
| 1572 | 1639 |
| 1573 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ClearPermissionPromptCounts) { | 1640 TEST_F(ChromeBrowsingDataRemoverDelegateTest, ClearPermissionPromptCounts) { |
| 1574 RemovePermissionPromptCountsTest tester(GetProfile()); | 1641 RemovePermissionPromptCountsTest tester(GetProfile()); |
| 1575 | 1642 |
| 1576 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_1( | 1643 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder_1( |
| 1577 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1644 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1599 CONTENT_SETTING_ASK); | 1666 CONTENT_SETTING_ASK); |
| 1600 EXPECT_FALSE(tester.RecordDismissAndEmbargo( | 1667 EXPECT_FALSE(tester.RecordDismissAndEmbargo( |
| 1601 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1668 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1602 EXPECT_FALSE(tester.RecordDismissAndEmbargo( | 1669 EXPECT_FALSE(tester.RecordDismissAndEmbargo( |
| 1603 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1670 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1604 EXPECT_TRUE(tester.RecordDismissAndEmbargo( | 1671 EXPECT_TRUE(tester.RecordDismissAndEmbargo( |
| 1605 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1672 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1606 tester.CheckEmbargo(kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 1673 tester.CheckEmbargo(kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1607 CONTENT_SETTING_BLOCK); | 1674 CONTENT_SETTING_BLOCK); |
| 1608 | 1675 |
| 1609 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 1676 BlockUntilOriginDataRemoved( |
| 1610 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, | 1677 AnHourAgo(), base::Time::Max(), |
| 1611 std::move(filter_builder_1)); | 1678 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
| 1679 std::move(filter_builder_1)); |
| 1612 | 1680 |
| 1613 // kOrigin1 should be gone, but kOrigin2 remains. | 1681 // kOrigin1 should be gone, but kOrigin2 remains. |
| 1614 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1682 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1615 CONTENT_SETTINGS_TYPE_GEOLOCATION)); | 1683 CONTENT_SETTINGS_TYPE_GEOLOCATION)); |
| 1616 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1684 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1617 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1685 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1618 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, | 1686 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, |
| 1619 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1687 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1620 EXPECT_EQ(1, tester.GetIgnoreCount( | 1688 EXPECT_EQ(1, tester.GetIgnoreCount( |
| 1621 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); | 1689 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); |
| 1622 EXPECT_EQ(3, tester.GetDismissCount(kOrigin2, | 1690 EXPECT_EQ(3, tester.GetDismissCount(kOrigin2, |
| 1623 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1691 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1624 tester.CheckEmbargo(kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 1692 tester.CheckEmbargo(kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1625 CONTENT_SETTING_BLOCK); | 1693 CONTENT_SETTING_BLOCK); |
| 1626 | 1694 |
| 1627 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1695 BlockUntilBrowsingDataRemoved( |
| 1628 BrowsingDataRemover::REMOVE_HISTORY, false); | 1696 AnHourAgo(), base::Time::Max(), |
| 1697 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1629 | 1698 |
| 1630 // Everything should be gone. | 1699 // Everything should be gone. |
| 1631 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1700 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1632 CONTENT_SETTINGS_TYPE_GEOLOCATION)); | 1701 CONTENT_SETTINGS_TYPE_GEOLOCATION)); |
| 1633 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1702 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1634 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1703 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1635 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, | 1704 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, |
| 1636 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1705 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1637 EXPECT_EQ(0, tester.GetIgnoreCount( | 1706 EXPECT_EQ(0, tester.GetIgnoreCount( |
| 1638 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); | 1707 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1651 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1720 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1652 EXPECT_FALSE(tester.RecordDismissAndEmbargo( | 1721 EXPECT_FALSE(tester.RecordDismissAndEmbargo( |
| 1653 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1722 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1654 tester.CheckEmbargo(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX, | 1723 tester.CheckEmbargo(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX, |
| 1655 CONTENT_SETTING_ASK); | 1724 CONTENT_SETTING_ASK); |
| 1656 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2, | 1725 EXPECT_EQ(1, tester.RecordIgnore(kOrigin2, |
| 1657 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); | 1726 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); |
| 1658 EXPECT_FALSE(tester.RecordDismissAndEmbargo( | 1727 EXPECT_FALSE(tester.RecordDismissAndEmbargo( |
| 1659 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1728 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1660 | 1729 |
| 1661 BlockUntilOriginDataRemoved(AnHourAgo(), base::Time::Max(), | 1730 BlockUntilOriginDataRemoved( |
| 1662 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, | 1731 AnHourAgo(), base::Time::Max(), |
| 1663 std::move(filter_builder_2)); | 1732 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, |
| 1733 std::move(filter_builder_2)); |
| 1664 | 1734 |
| 1665 // kOrigin2 should be gone, but kOrigin1 remains. | 1735 // kOrigin2 should be gone, but kOrigin1 remains. |
| 1666 EXPECT_EQ(2, tester.GetIgnoreCount(kOrigin1, | 1736 EXPECT_EQ(2, tester.GetIgnoreCount(kOrigin1, |
| 1667 CONTENT_SETTINGS_TYPE_GEOLOCATION)); | 1737 CONTENT_SETTINGS_TYPE_GEOLOCATION)); |
| 1668 EXPECT_EQ(1, tester.GetIgnoreCount(kOrigin1, | 1738 EXPECT_EQ(1, tester.GetIgnoreCount(kOrigin1, |
| 1669 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1739 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1670 EXPECT_EQ(1, tester.GetDismissCount(kOrigin1, | 1740 EXPECT_EQ(1, tester.GetDismissCount(kOrigin1, |
| 1671 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1741 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1672 EXPECT_EQ(0, tester.GetIgnoreCount( | 1742 EXPECT_EQ(0, tester.GetIgnoreCount( |
| 1673 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); | 1743 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); |
| 1674 EXPECT_EQ(0, tester.GetDismissCount( | 1744 EXPECT_EQ(0, tester.GetDismissCount( |
| 1675 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1745 kOrigin2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1676 | 1746 |
| 1677 EXPECT_FALSE(tester.RecordDismissAndEmbargo( | 1747 EXPECT_FALSE(tester.RecordDismissAndEmbargo( |
| 1678 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1748 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1679 EXPECT_TRUE(tester.RecordDismissAndEmbargo( | 1749 EXPECT_TRUE(tester.RecordDismissAndEmbargo( |
| 1680 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1750 kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1681 EXPECT_EQ( | 1751 EXPECT_EQ( |
| 1682 3, tester.GetDismissCount(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1752 3, tester.GetDismissCount(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1683 tester.CheckEmbargo(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX, | 1753 tester.CheckEmbargo(kOrigin1, CONTENT_SETTINGS_TYPE_MIDI_SYSEX, |
| 1684 CONTENT_SETTING_BLOCK); | 1754 CONTENT_SETTING_BLOCK); |
| 1685 | 1755 |
| 1686 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1756 BlockUntilBrowsingDataRemoved( |
| 1687 BrowsingDataRemover::REMOVE_SITE_USAGE_DATA, | 1757 AnHourAgo(), base::Time::Max(), |
| 1688 false); | 1758 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_USAGE_DATA, false); |
| 1689 | 1759 |
| 1690 // Everything should be gone. | 1760 // Everything should be gone. |
| 1691 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1761 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1692 CONTENT_SETTINGS_TYPE_GEOLOCATION)); | 1762 CONTENT_SETTINGS_TYPE_GEOLOCATION)); |
| 1693 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, | 1763 EXPECT_EQ(0, tester.GetIgnoreCount(kOrigin1, |
| 1694 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 1764 CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
| 1695 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, | 1765 EXPECT_EQ(0, tester.GetDismissCount(kOrigin1, |
| 1696 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); | 1766 CONTENT_SETTINGS_TYPE_MIDI_SYSEX)); |
| 1697 EXPECT_EQ(0, tester.GetIgnoreCount( | 1767 EXPECT_EQ(0, tester.GetIgnoreCount( |
| 1698 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); | 1768 kOrigin2, CONTENT_SETTINGS_TYPE_DURABLE_STORAGE)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1712 tester.AddDomain(kOrigin3.host()); | 1782 tester.AddDomain(kOrigin3.host()); |
| 1713 | 1783 |
| 1714 std::vector<std::string> expected = { | 1784 std::vector<std::string> expected = { |
| 1715 kOrigin1.host(), kOrigin2.host(), kOrigin3.host() }; | 1785 kOrigin1.host(), kOrigin2.host(), kOrigin3.host() }; |
| 1716 EXPECT_EQ(expected, tester.GetDomains()); | 1786 EXPECT_EQ(expected, tester.GetDomains()); |
| 1717 | 1787 |
| 1718 // Delete data with a filter for the registrable domain of |kOrigin3|. | 1788 // Delete data with a filter for the registrable domain of |kOrigin3|. |
| 1719 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder( | 1789 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder( |
| 1720 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); | 1790 BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST)); |
| 1721 filter_builder->AddRegisterableDomain(kTestRegisterableDomain3); | 1791 filter_builder->AddRegisterableDomain(kTestRegisterableDomain3); |
| 1722 BlockUntilOriginDataRemoved(base::Time(), base::Time::Max(), | 1792 BlockUntilOriginDataRemoved( |
| 1723 BrowsingDataRemover::REMOVE_PLUGIN_DATA, | 1793 base::Time(), base::Time::Max(), |
| 1724 std::move(filter_builder)); | 1794 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA, |
| 1795 std::move(filter_builder)); |
| 1725 | 1796 |
| 1726 // Plugin data for |kOrigin3.host()| should have been removed. | 1797 // Plugin data for |kOrigin3.host()| should have been removed. |
| 1727 expected.pop_back(); | 1798 expected.pop_back(); |
| 1728 EXPECT_EQ(expected, tester.GetDomains()); | 1799 EXPECT_EQ(expected, tester.GetDomains()); |
| 1729 | 1800 |
| 1730 // TODO(msramek): Mock PluginDataRemover and test the complete deletion | 1801 // TODO(msramek): Mock PluginDataRemover and test the complete deletion |
| 1731 // of plugin data as well. | 1802 // of plugin data as well. |
| 1732 } | 1803 } |
| 1733 #endif | 1804 #endif |
| 1734 | 1805 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1777 bookmark_model, 2, base::Time::UnixEpoch(), | 1848 bookmark_model, 2, base::Time::UnixEpoch(), |
| 1778 /*consider_visits_from_desktop=*/false), | 1849 /*consider_visits_from_desktop=*/false), |
| 1779 Not(IsEmpty())); | 1850 Not(IsEmpty())); |
| 1780 | 1851 |
| 1781 // Inject the bookmark model into the remover. | 1852 // Inject the bookmark model into the remover. |
| 1782 BrowsingDataRemover* remover = | 1853 BrowsingDataRemover* remover = |
| 1783 BrowsingDataRemoverFactory::GetForBrowserContext(&profile); | 1854 BrowsingDataRemoverFactory::GetForBrowserContext(&profile); |
| 1784 | 1855 |
| 1785 BrowsingDataRemoverCompletionObserver completion_observer(remover); | 1856 BrowsingDataRemoverCompletionObserver completion_observer(remover); |
| 1786 remover->RemoveAndReply(delete_begin, base::Time::Max(), | 1857 remover->RemoveAndReply(delete_begin, base::Time::Max(), |
| 1787 BrowsingDataRemover::REMOVE_HISTORY, | 1858 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, |
| 1788 BrowsingDataHelper::ALL, &completion_observer); | 1859 ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES, |
| 1860 &completion_observer); |
| 1789 completion_observer.BlockUntilCompletion(); | 1861 completion_observer.BlockUntilCompletion(); |
| 1790 | 1862 |
| 1791 // There should be only 1 recently visited bookmarks. | 1863 // There should be only 1 recently visited bookmarks. |
| 1792 std::vector<const bookmarks::BookmarkNode*> remaining_nodes = | 1864 std::vector<const bookmarks::BookmarkNode*> remaining_nodes = |
| 1793 ntp_snippets::GetRecentlyVisitedBookmarks( | 1865 ntp_snippets::GetRecentlyVisitedBookmarks( |
| 1794 bookmark_model, 3, base::Time::UnixEpoch(), | 1866 bookmark_model, 3, base::Time::UnixEpoch(), |
| 1795 /*consider_visits_from_desktop=*/true); | 1867 /*consider_visits_from_desktop=*/true); |
| 1796 EXPECT_THAT(remaining_nodes, SizeIs(1)); | 1868 EXPECT_THAT(remaining_nodes, SizeIs(1)); |
| 1797 EXPECT_THAT(remaining_nodes[0]->url().spec(), Eq("http://foo-2.org/")); | 1869 EXPECT_THAT(remaining_nodes[0]->url().spec(), Eq("http://foo-2.org/")); |
| 1798 } | 1870 } |
| 1799 | 1871 |
| 1800 // Test that the remover clears language model data (normally added by the | 1872 // Test that the remover clears language model data (normally added by the |
| 1801 // ChromeTranslateClient). | 1873 // ChromeTranslateClient). |
| 1802 TEST_F(ChromeBrowsingDataRemoverDelegateTest, | 1874 TEST_F(ChromeBrowsingDataRemoverDelegateTest, |
| 1803 LanguageModelClearedOnClearingCompleteHistory) { | 1875 LanguageModelClearedOnClearingCompleteHistory) { |
| 1804 translate::LanguageModel* language_model = | 1876 translate::LanguageModel* language_model = |
| 1805 LanguageModelFactory::GetInstance()->GetForBrowserContext(GetProfile()); | 1877 LanguageModelFactory::GetInstance()->GetForBrowserContext(GetProfile()); |
| 1806 | 1878 |
| 1807 // Simulate browsing. | 1879 // Simulate browsing. |
| 1808 for (int i = 0; i < 100; i++) { | 1880 for (int i = 0; i < 100; i++) { |
| 1809 language_model->OnPageVisited("en"); | 1881 language_model->OnPageVisited("en"); |
| 1810 language_model->OnPageVisited("en"); | 1882 language_model->OnPageVisited("en"); |
| 1811 language_model->OnPageVisited("en"); | 1883 language_model->OnPageVisited("en"); |
| 1812 language_model->OnPageVisited("es"); | 1884 language_model->OnPageVisited("es"); |
| 1813 } | 1885 } |
| 1814 | 1886 |
| 1815 // Clearing a part of the history has no effect. | 1887 // Clearing a part of the history has no effect. |
| 1816 BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(), | 1888 BlockUntilBrowsingDataRemoved( |
| 1817 BrowsingDataRemover::REMOVE_HISTORY, false); | 1889 AnHourAgo(), base::Time::Max(), |
| 1890 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1818 | 1891 |
| 1819 EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(2)); | 1892 EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(2)); |
| 1820 EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.75)); | 1893 EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.75)); |
| 1821 EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.25)); | 1894 EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.25)); |
| 1822 | 1895 |
| 1823 // Clearing the full history does the trick. | 1896 // Clearing the full history does the trick. |
| 1824 BlockUntilBrowsingDataRemoved(base::Time(), base::Time::Max(), | 1897 BlockUntilBrowsingDataRemoved( |
| 1825 BrowsingDataRemover::REMOVE_HISTORY, false); | 1898 base::Time(), base::Time::Max(), |
| 1899 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY, false); |
| 1826 | 1900 |
| 1827 EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(0)); | 1901 EXPECT_THAT(language_model->GetTopLanguages(), SizeIs(0)); |
| 1828 EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.0)); | 1902 EXPECT_THAT(language_model->GetLanguageFrequency("en"), FloatEq(0.0)); |
| 1829 EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.0)); | 1903 EXPECT_THAT(language_model->GetLanguageFrequency("es"), FloatEq(0.0)); |
| 1830 } | 1904 } |
| 1905 |
| 1906 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1907 TEST_F(ChromeBrowsingDataRemoverDelegateTest, OriginTypeMasks) { |
| 1908 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy = |
| 1909 new MockExtensionSpecialStoragePolicy; |
| 1910 // Protect kOrigin1. |
| 1911 mock_policy->AddProtected(kOrigin1.GetOrigin()); |
| 1912 |
| 1913 EXPECT_FALSE(Match(kOrigin1, kUnprotected, mock_policy.get())); |
| 1914 EXPECT_TRUE(Match(kOrigin2, kUnprotected, mock_policy.get())); |
| 1915 EXPECT_FALSE(Match(kOriginExt, kUnprotected, mock_policy.get())); |
| 1916 EXPECT_FALSE(Match(kOriginDevTools, kUnprotected, mock_policy.get())); |
| 1917 |
| 1918 EXPECT_TRUE(Match(kOrigin1, kProtected, mock_policy.get())); |
| 1919 EXPECT_FALSE(Match(kOrigin2, kProtected, mock_policy.get())); |
| 1920 EXPECT_FALSE(Match(kOriginExt, kProtected, mock_policy.get())); |
| 1921 EXPECT_FALSE(Match(kOriginDevTools, kProtected, mock_policy.get())); |
| 1922 |
| 1923 EXPECT_FALSE(Match(kOrigin1, kExtension, mock_policy.get())); |
| 1924 EXPECT_FALSE(Match(kOrigin2, kExtension, mock_policy.get())); |
| 1925 EXPECT_TRUE(Match(kOriginExt, kExtension, mock_policy.get())); |
| 1926 EXPECT_FALSE(Match(kOriginDevTools, kExtension, mock_policy.get())); |
| 1927 |
| 1928 EXPECT_TRUE(Match(kOrigin1, kUnprotected | kProtected, mock_policy.get())); |
| 1929 EXPECT_TRUE(Match(kOrigin2, kUnprotected | kProtected, mock_policy.get())); |
| 1930 EXPECT_FALSE(Match(kOriginExt, kUnprotected | kProtected, mock_policy.get())); |
| 1931 EXPECT_FALSE( |
| 1932 Match(kOriginDevTools, kUnprotected | kProtected, mock_policy.get())); |
| 1933 |
| 1934 EXPECT_FALSE(Match(kOrigin1, kUnprotected | kExtension, mock_policy.get())); |
| 1935 EXPECT_TRUE(Match(kOrigin2, kUnprotected | kExtension, mock_policy.get())); |
| 1936 EXPECT_TRUE(Match(kOriginExt, kUnprotected | kExtension, mock_policy.get())); |
| 1937 EXPECT_FALSE( |
| 1938 Match(kOriginDevTools, kUnprotected | kExtension, mock_policy.get())); |
| 1939 |
| 1940 EXPECT_TRUE(Match(kOrigin1, kProtected | kExtension, mock_policy.get())); |
| 1941 EXPECT_FALSE(Match(kOrigin2, kProtected | kExtension, mock_policy.get())); |
| 1942 EXPECT_TRUE(Match(kOriginExt, kProtected | kExtension, mock_policy.get())); |
| 1943 EXPECT_FALSE( |
| 1944 Match(kOriginDevTools, kProtected | kExtension, mock_policy.get())); |
| 1945 |
| 1946 EXPECT_TRUE(Match(kOrigin1, kUnprotected | kProtected | kExtension, |
| 1947 mock_policy.get())); |
| 1948 EXPECT_TRUE(Match(kOrigin2, kUnprotected | kProtected | kExtension, |
| 1949 mock_policy.get())); |
| 1950 EXPECT_TRUE(Match(kOriginExt, kUnprotected | kProtected | kExtension, |
| 1951 mock_policy.get())); |
| 1952 EXPECT_FALSE(Match(kOriginDevTools, kUnprotected | kProtected | kExtension, |
| 1953 mock_policy.get())); |
| 1954 } |
| 1955 #endif |
| 1956 |
| 1957 // If extensions are disabled, there is no policy. |
| 1958 TEST_F(ChromeBrowsingDataRemoverDelegateTest, OriginTypeMasksNoPolicy) { |
| 1959 EXPECT_TRUE(Match(kOrigin1, kUnprotected, nullptr)); |
| 1960 EXPECT_FALSE(Match(kOriginExt, kUnprotected, nullptr)); |
| 1961 EXPECT_FALSE(Match(kOriginDevTools, kUnprotected, nullptr)); |
| 1962 |
| 1963 EXPECT_FALSE(Match(kOrigin1, kProtected, nullptr)); |
| 1964 EXPECT_FALSE(Match(kOriginExt, kProtected, nullptr)); |
| 1965 EXPECT_FALSE(Match(kOriginDevTools, kProtected, nullptr)); |
| 1966 |
| 1967 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1968 EXPECT_FALSE(Match(kOrigin1, kExtension, nullptr)); |
| 1969 EXPECT_TRUE(Match(kOriginExt, kExtension, nullptr)); |
| 1970 EXPECT_FALSE(Match(kOriginDevTools, kExtension, nullptr)); |
| 1971 #endif |
| 1972 } |
| OLD | NEW |