| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <initializer_list> | 6 #include <initializer_list> |
| 7 #include <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 : public safe_browsing::SettingsResetPromptModel { | 61 : public safe_browsing::SettingsResetPromptModel { |
| 62 public: | 62 public: |
| 63 // Create a mock model that pretends that the settings passed in via | 63 // Create a mock model that pretends that the settings passed in via |
| 64 // |settings_to_reset| require resetting. |settings_to_reset| must not be | 64 // |settings_to_reset| require resetting. |settings_to_reset| must not be |
| 65 // empty or have |EXTENSIONS| as the only member. | 65 // empty or have |EXTENSIONS| as the only member. |
| 66 explicit MockSettingsResetPromptModel(Profile* profile, | 66 explicit MockSettingsResetPromptModel(Profile* profile, |
| 67 const ModelParams& params) | 67 const ModelParams& params) |
| 68 : SettingsResetPromptModel( | 68 : SettingsResetPromptModel( |
| 69 profile, | 69 profile, |
| 70 base::MakeUnique<NiceMock<MockSettingsResetPromptConfig>>(), | 70 base::MakeUnique<NiceMock<MockSettingsResetPromptConfig>>(), |
| 71 base::MakeUnique<ResettableSettingsSnapshot>(profile), | |
| 72 base::MakeUnique<BrandcodedDefaultSettings>(), | |
| 73 base::MakeUnique<NiceMock<MockProfileResetter>>(profile)) { | 71 base::MakeUnique<NiceMock<MockProfileResetter>>(profile)) { |
| 74 EXPECT_LE(params.startup_pages, arraysize(kStartupUrls)); | 72 EXPECT_LE(params.startup_pages, arraysize(kStartupUrls)); |
| 75 | 73 |
| 76 // Set up startup URLs and extensions to be returned by member functions | 74 // Set up startup URLs and extensions to be returned by member functions |
| 77 // based on the constructor arguments. | 75 // based on the constructor arguments. |
| 78 for (size_t i = 0; | 76 for (size_t i = 0; |
| 79 i < std::min(arraysize(kStartupUrls), params.startup_pages); ++i) { | 77 i < std::min(arraysize(kStartupUrls), params.startup_pages); ++i) { |
| 80 startup_urls_.push_back(GURL(kStartupUrls[i])); | 78 startup_urls_.push_back(GURL(kStartupUrls[i])); |
| 81 } | 79 } |
| 82 | 80 |
| 83 if (params.setting_to_reset == SettingType::STARTUP_PAGE) | 81 if (params.setting_to_reset == SettingType::STARTUP_PAGE) |
| 84 startup_urls_to_reset_ = startup_urls_; | 82 startup_urls_to_reset_ = startup_urls_; |
| 85 | 83 |
| 86 for (size_t i = 0; i < params.extensions_to_disable; ++i) { | 84 for (size_t i = 0; i < params.extensions_to_disable; ++i) { |
| 87 std::string id = "id" + base::IntToString(i); | 85 std::string id = "id" + base::IntToString(i); |
| 88 extensions_.insert( | 86 extensions_.insert( |
| 89 std::make_pair(id, safe_browsing::ExtensionInfo( | 87 std::make_pair(id, safe_browsing::ExtensionInfo( |
| 90 id, "Extension " + base::IntToString(i)))); | 88 id, "Extension " + base::IntToString(i)))); |
| 91 } | 89 } |
| 92 | 90 |
| 93 ON_CALL(*this, ShouldPromptForReset()).WillByDefault(Return(true)); | 91 ON_CALL(*this, ShouldPromptForReset()).WillByDefault(Return(true)); |
| 94 ON_CALL(*this, PerformReset(_)).WillByDefault(Return()); | 92 ON_CALL(*this, MockPerformReset(_, _)).WillByDefault(Return()); |
| 95 ON_CALL(*this, DialogShown()).WillByDefault(Return()); | 93 ON_CALL(*this, DialogShown()).WillByDefault(Return()); |
| 96 | 94 |
| 97 ON_CALL(*this, homepage()).WillByDefault(Return(GURL(kHomepageUrl))); | 95 ON_CALL(*this, homepage()).WillByDefault(Return(GURL(kHomepageUrl))); |
| 98 ON_CALL(*this, homepage_reset_state()) | 96 ON_CALL(*this, homepage_reset_state()) |
| 99 .WillByDefault( | 97 .WillByDefault( |
| 100 Return(params.setting_to_reset == SettingType::HOMEPAGE | 98 Return(params.setting_to_reset == SettingType::HOMEPAGE |
| 101 ? RESET_REQUIRED | 99 ? RESET_REQUIRED |
| 102 : NO_RESET_REQUIRED_DUE_TO_DOMAIN_NOT_MATCHED)); | 100 : NO_RESET_REQUIRED_DUE_TO_DOMAIN_NOT_MATCHED)); |
| 103 | 101 |
| 104 ON_CALL(*this, default_search()).WillByDefault(Return(GURL(kSearchUrl))); | 102 ON_CALL(*this, default_search()).WillByDefault(Return(GURL(kSearchUrl))); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 115 .WillByDefault( | 113 .WillByDefault( |
| 116 Return(params.setting_to_reset == SettingType::STARTUP_PAGE | 114 Return(params.setting_to_reset == SettingType::STARTUP_PAGE |
| 117 ? RESET_REQUIRED | 115 ? RESET_REQUIRED |
| 118 : NO_RESET_REQUIRED_DUE_TO_DOMAIN_NOT_MATCHED)); | 116 : NO_RESET_REQUIRED_DUE_TO_DOMAIN_NOT_MATCHED)); |
| 119 | 117 |
| 120 ON_CALL(*this, extensions_to_disable()) | 118 ON_CALL(*this, extensions_to_disable()) |
| 121 .WillByDefault(ReturnRef(extensions_)); | 119 .WillByDefault(ReturnRef(extensions_)); |
| 122 } | 120 } |
| 123 ~MockSettingsResetPromptModel() override {} | 121 ~MockSettingsResetPromptModel() override {} |
| 124 | 122 |
| 125 MOCK_METHOD1(PerformReset, void(const base::Closure&)); | 123 void PerformReset(std::unique_ptr<BrandcodedDefaultSettings> default_settings, |
| 124 const base::Closure& callback) override { |
| 125 MockPerformReset(default_settings.get(), callback); |
| 126 } |
| 127 MOCK_METHOD2(MockPerformReset, |
| 128 void(BrandcodedDefaultSettings*, const base::Closure&)); |
| 126 MOCK_CONST_METHOD0(ShouldPromptForReset, bool()); | 129 MOCK_CONST_METHOD0(ShouldPromptForReset, bool()); |
| 127 MOCK_METHOD0(DialogShown, void()); | 130 MOCK_METHOD0(DialogShown, void()); |
| 128 MOCK_CONST_METHOD0(homepage, GURL()); | 131 MOCK_CONST_METHOD0(homepage, GURL()); |
| 129 MOCK_CONST_METHOD0(homepage_reset_state, ResetState()); | 132 MOCK_CONST_METHOD0(homepage_reset_state, ResetState()); |
| 130 MOCK_CONST_METHOD0(default_search, GURL()); | 133 MOCK_CONST_METHOD0(default_search, GURL()); |
| 131 MOCK_CONST_METHOD0(default_search_reset_state, ResetState()); | 134 MOCK_CONST_METHOD0(default_search_reset_state, ResetState()); |
| 132 MOCK_CONST_METHOD0(startup_urls, const std::vector<GURL>&()); | 135 MOCK_CONST_METHOD0(startup_urls, const std::vector<GURL>&()); |
| 133 MOCK_CONST_METHOD0(startup_urls_to_reset, const std::vector<GURL>&()); | 136 MOCK_CONST_METHOD0(startup_urls_to_reset, const std::vector<GURL>&()); |
| 134 MOCK_CONST_METHOD0(startup_urls_reset_state, ResetState()); | 137 MOCK_CONST_METHOD0(startup_urls_reset_state, ResetState()); |
| 135 MOCK_CONST_METHOD0(extensions_to_disable, const ExtensionMap&()); | 138 MOCK_CONST_METHOD0(extensions_to_disable, const ExtensionMap&()); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 159 {"sp2_ext2", {SettingType::STARTUP_PAGE, 2, 2}}, | 162 {"sp2_ext2", {SettingType::STARTUP_PAGE, 2, 2}}, |
| 160 {"hp_ext2", {SettingType::HOMEPAGE, 0, 2}}, | 163 {"hp_ext2", {SettingType::HOMEPAGE, 0, 2}}, |
| 161 }; | 164 }; |
| 162 | 165 |
| 163 ASSERT_NE(name_to_model_params.find(name), name_to_model_params.end()); | 166 ASSERT_NE(name_to_model_params.find(name), name_to_model_params.end()); |
| 164 auto model = base::MakeUnique<NiceMock<MockSettingsResetPromptModel>>( | 167 auto model = base::MakeUnique<NiceMock<MockSettingsResetPromptModel>>( |
| 165 browser()->profile(), name_to_model_params.find(name)->second); | 168 browser()->profile(), name_to_model_params.find(name)->second); |
| 166 | 169 |
| 167 safe_browsing::SettingsResetPromptController::ShowSettingsResetPrompt( | 170 safe_browsing::SettingsResetPromptController::ShowSettingsResetPrompt( |
| 168 browser(), | 171 browser(), |
| 169 new safe_browsing::SettingsResetPromptController(std::move(model))); | 172 new safe_browsing::SettingsResetPromptController( |
| 173 std::move(model), base::MakeUnique<BrandcodedDefaultSettings>())); |
| 170 } | 174 } |
| 171 }; | 175 }; |
| 172 | 176 |
| 173 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_dse) { | 177 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_dse) { |
| 174 RunDialog(); | 178 RunDialog(); |
| 175 } | 179 } |
| 176 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp1) { | 180 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp1) { |
| 177 RunDialog(); | 181 RunDialog(); |
| 178 } | 182 } |
| 179 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp2) { | 183 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp2) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 201 RunDialog(); | 205 RunDialog(); |
| 202 } | 206 } |
| 203 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp2_ext2) { | 207 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_sp2_ext2) { |
| 204 RunDialog(); | 208 RunDialog(); |
| 205 } | 209 } |
| 206 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_hp_ext2) { | 210 IN_PROC_BROWSER_TEST_F(SettingsResetPromptDialogTest, InvokeDialog_hp_ext2) { |
| 207 RunDialog(); | 211 RunDialog(); |
| 208 } | 212 } |
| 209 | 213 |
| 210 } // namespace | 214 } // namespace |
| OLD | NEW |