Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(670)

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc

Issue 629603002: replace OVERRIDE and FINAL with override and final in chrome/browser/[r-z]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This test creates a fake safebrowsing service, where we can inject 5 // This test creates a fake safebrowsing service, where we can inject
6 // malware and phishing urls. It then uses a real browser to go to 6 // malware and phishing urls. It then uses a real browser to go to
7 // these urls, and sends "goback" or "proceed" commands and verifies 7 // these urls, and sends "goback" or "proceed" commands and verifies
8 // they work. 8 // they work.
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 class FakeSafeBrowsingDatabaseManager : public SafeBrowsingDatabaseManager { 54 class FakeSafeBrowsingDatabaseManager : public SafeBrowsingDatabaseManager {
55 public: 55 public:
56 explicit FakeSafeBrowsingDatabaseManager(SafeBrowsingService* service) 56 explicit FakeSafeBrowsingDatabaseManager(SafeBrowsingService* service)
57 : SafeBrowsingDatabaseManager(service) { } 57 : SafeBrowsingDatabaseManager(service) { }
58 58
59 // Called on the IO thread to check if the given url is safe or not. If we 59 // Called on the IO thread to check if the given url is safe or not. If we
60 // can synchronously determine that the url is safe, CheckUrl returns true. 60 // can synchronously determine that the url is safe, CheckUrl returns true.
61 // Otherwise it returns false, and "client" is called asynchronously with the 61 // Otherwise it returns false, and "client" is called asynchronously with the
62 // result when it is ready. 62 // result when it is ready.
63 // Overrides SafeBrowsingDatabaseManager::CheckBrowseUrl. 63 // Overrides SafeBrowsingDatabaseManager::CheckBrowseUrl.
64 virtual bool CheckBrowseUrl(const GURL& gurl, Client* client) OVERRIDE { 64 virtual bool CheckBrowseUrl(const GURL& gurl, Client* client) override {
65 if (badurls[gurl.spec()] == SB_THREAT_TYPE_SAFE) 65 if (badurls[gurl.spec()] == SB_THREAT_TYPE_SAFE)
66 return true; 66 return true;
67 67
68 BrowserThread::PostTask( 68 BrowserThread::PostTask(
69 BrowserThread::IO, FROM_HERE, 69 BrowserThread::IO, FROM_HERE,
70 base::Bind(&FakeSafeBrowsingDatabaseManager::OnCheckBrowseURLDone, 70 base::Bind(&FakeSafeBrowsingDatabaseManager::OnCheckBrowseURLDone,
71 this, gurl, client)); 71 this, gurl, client));
72 return false; 72 return false;
73 } 73 }
74 74
(...skipping 23 matching lines...) Expand all
98 }; 98 };
99 99
100 // A SafeBrowingUIManager class that allows intercepting malware details. 100 // A SafeBrowingUIManager class that allows intercepting malware details.
101 class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager { 101 class FakeSafeBrowsingUIManager : public SafeBrowsingUIManager {
102 public: 102 public:
103 explicit FakeSafeBrowsingUIManager(SafeBrowsingService* service) : 103 explicit FakeSafeBrowsingUIManager(SafeBrowsingService* service) :
104 SafeBrowsingUIManager(service) { } 104 SafeBrowsingUIManager(service) { }
105 105
106 // Overrides SafeBrowsingUIManager 106 // Overrides SafeBrowsingUIManager
107 virtual void SendSerializedMalwareDetails( 107 virtual void SendSerializedMalwareDetails(
108 const std::string& serialized) OVERRIDE { 108 const std::string& serialized) override {
109 // Notify the UI thread that we got a report. 109 // Notify the UI thread that we got a report.
110 BrowserThread::PostTask( 110 BrowserThread::PostTask(
111 BrowserThread::UI, 111 BrowserThread::UI,
112 FROM_HERE, 112 FROM_HERE,
113 base::Bind(&FakeSafeBrowsingUIManager::OnMalwareDetailsDone, 113 base::Bind(&FakeSafeBrowsingUIManager::OnMalwareDetailsDone,
114 this, 114 this,
115 serialized)); 115 serialized));
116 } 116 }
117 117
118 void OnMalwareDetailsDone(const std::string& serialized) { 118 void OnMalwareDetailsDone(const std::string& serialized) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 } 160 }
161 // Returned pointer has the same lifespan as the ui_manager_ refcounted 161 // Returned pointer has the same lifespan as the ui_manager_ refcounted
162 // object. 162 // object.
163 FakeSafeBrowsingUIManager* fake_ui_manager() { 163 FakeSafeBrowsingUIManager* fake_ui_manager() {
164 return fake_ui_manager_; 164 return fake_ui_manager_;
165 } 165 }
166 166
167 protected: 167 protected:
168 virtual ~FakeSafeBrowsingService() { } 168 virtual ~FakeSafeBrowsingService() { }
169 169
170 virtual SafeBrowsingDatabaseManager* CreateDatabaseManager() OVERRIDE { 170 virtual SafeBrowsingDatabaseManager* CreateDatabaseManager() override {
171 fake_database_manager_ = new FakeSafeBrowsingDatabaseManager(this); 171 fake_database_manager_ = new FakeSafeBrowsingDatabaseManager(this);
172 return fake_database_manager_; 172 return fake_database_manager_;
173 } 173 }
174 174
175 virtual SafeBrowsingUIManager* CreateUIManager() OVERRIDE { 175 virtual SafeBrowsingUIManager* CreateUIManager() override {
176 fake_ui_manager_ = new FakeSafeBrowsingUIManager(this); 176 fake_ui_manager_ = new FakeSafeBrowsingUIManager(this);
177 return fake_ui_manager_; 177 return fake_ui_manager_;
178 } 178 }
179 179
180 private: 180 private:
181 FakeSafeBrowsingDatabaseManager* fake_database_manager_; 181 FakeSafeBrowsingDatabaseManager* fake_database_manager_;
182 FakeSafeBrowsingUIManager* fake_ui_manager_; 182 FakeSafeBrowsingUIManager* fake_ui_manager_;
183 183
184 DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService); 184 DISALLOW_COPY_AND_ASSIGN(FakeSafeBrowsingService);
185 }; 185 };
186 186
187 // Factory that creates FakeSafeBrowsingService instances. 187 // Factory that creates FakeSafeBrowsingService instances.
188 class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory { 188 class TestSafeBrowsingServiceFactory : public SafeBrowsingServiceFactory {
189 public: 189 public:
190 TestSafeBrowsingServiceFactory() : 190 TestSafeBrowsingServiceFactory() :
191 most_recent_service_(NULL) { } 191 most_recent_service_(NULL) { }
192 virtual ~TestSafeBrowsingServiceFactory() { } 192 virtual ~TestSafeBrowsingServiceFactory() { }
193 193
194 virtual SafeBrowsingService* CreateSafeBrowsingService() OVERRIDE { 194 virtual SafeBrowsingService* CreateSafeBrowsingService() override {
195 most_recent_service_ = new FakeSafeBrowsingService(); 195 most_recent_service_ = new FakeSafeBrowsingService();
196 return most_recent_service_; 196 return most_recent_service_;
197 } 197 }
198 198
199 FakeSafeBrowsingService* most_recent_service() const { 199 FakeSafeBrowsingService* most_recent_service() const {
200 return most_recent_service_; 200 return most_recent_service_;
201 } 201 }
202 202
203 private: 203 private:
204 FakeSafeBrowsingService* most_recent_service_; 204 FakeSafeBrowsingService* most_recent_service_;
205 }; 205 };
206 206
207 // A MalwareDetails class lets us intercept calls from the renderer. 207 // A MalwareDetails class lets us intercept calls from the renderer.
208 class FakeMalwareDetails : public MalwareDetails { 208 class FakeMalwareDetails : public MalwareDetails {
209 public: 209 public:
210 FakeMalwareDetails( 210 FakeMalwareDetails(
211 SafeBrowsingUIManager* delegate, 211 SafeBrowsingUIManager* delegate,
212 WebContents* web_contents, 212 WebContents* web_contents,
213 const SafeBrowsingUIManager::UnsafeResource& unsafe_resource) 213 const SafeBrowsingUIManager::UnsafeResource& unsafe_resource)
214 : MalwareDetails(delegate, web_contents, unsafe_resource), 214 : MalwareDetails(delegate, web_contents, unsafe_resource),
215 got_dom_(false), 215 got_dom_(false),
216 waiting_(false) { } 216 waiting_(false) { }
217 217
218 virtual void AddDOMDetails( 218 virtual void AddDOMDetails(
219 const std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>& params) 219 const std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>& params)
220 OVERRIDE { 220 override {
221 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 221 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
222 MalwareDetails::AddDOMDetails(params); 222 MalwareDetails::AddDOMDetails(params);
223 223
224 // Notify the UI thread that we got the dom details. 224 // Notify the UI thread that we got the dom details.
225 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 225 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
226 base::Bind(&FakeMalwareDetails::OnDOMDetailsDone, 226 base::Bind(&FakeMalwareDetails::OnDOMDetailsDone,
227 this)); 227 this));
228 } 228 }
229 229
230 void WaitForDOM() { 230 void WaitForDOM() {
(...skipping 24 matching lines...) Expand all
255 }; 255 };
256 256
257 class TestMalwareDetailsFactory : public MalwareDetailsFactory { 257 class TestMalwareDetailsFactory : public MalwareDetailsFactory {
258 public: 258 public:
259 TestMalwareDetailsFactory() : details_() { } 259 TestMalwareDetailsFactory() : details_() { }
260 virtual ~TestMalwareDetailsFactory() { } 260 virtual ~TestMalwareDetailsFactory() { }
261 261
262 virtual MalwareDetails* CreateMalwareDetails( 262 virtual MalwareDetails* CreateMalwareDetails(
263 SafeBrowsingUIManager* delegate, 263 SafeBrowsingUIManager* delegate,
264 WebContents* web_contents, 264 WebContents* web_contents,
265 const SafeBrowsingUIManager::UnsafeResource& unsafe_resource) OVERRIDE { 265 const SafeBrowsingUIManager::UnsafeResource& unsafe_resource) override {
266 details_ = new FakeMalwareDetails(delegate, web_contents, 266 details_ = new FakeMalwareDetails(delegate, web_contents,
267 unsafe_resource); 267 unsafe_resource);
268 return details_; 268 return details_;
269 } 269 }
270 270
271 FakeMalwareDetails* get_details() { 271 FakeMalwareDetails* get_details() {
272 return details_; 272 return details_;
273 } 273 }
274 274
275 private: 275 private:
(...skipping 20 matching lines...) Expand all
296 base::MessageLoopForUI::current()->Quit(); 296 base::MessageLoopForUI::current()->Quit();
297 wait_for_delete_ = false; 297 wait_for_delete_ = false;
298 } 298 }
299 299
300 void WaitForDelete() { 300 void WaitForDelete() {
301 wait_for_delete_ = true; 301 wait_for_delete_ = true;
302 content::RunMessageLoop(); 302 content::RunMessageLoop();
303 } 303 }
304 304
305 // InterstitialPageDelegate methods: 305 // InterstitialPageDelegate methods:
306 virtual void CommandReceived(const std::string& command) OVERRIDE { 306 virtual void CommandReceived(const std::string& command) override {
307 SafeBrowsingBlockingPage::CommandReceived(command); 307 SafeBrowsingBlockingPage::CommandReceived(command);
308 } 308 }
309 virtual void OnProceed() OVERRIDE { 309 virtual void OnProceed() override {
310 SafeBrowsingBlockingPage::OnProceed(); 310 SafeBrowsingBlockingPage::OnProceed();
311 } 311 }
312 virtual void OnDontProceed() OVERRIDE { 312 virtual void OnDontProceed() override {
313 SafeBrowsingBlockingPage::OnDontProceed(); 313 SafeBrowsingBlockingPage::OnDontProceed();
314 } 314 }
315 315
316 private: 316 private:
317 bool wait_for_delete_; 317 bool wait_for_delete_;
318 }; 318 };
319 319
320 class TestSafeBrowsingBlockingPageFactory 320 class TestSafeBrowsingBlockingPageFactory
321 : public SafeBrowsingBlockingPageFactory { 321 : public SafeBrowsingBlockingPageFactory {
322 public: 322 public:
323 TestSafeBrowsingBlockingPageFactory() { } 323 TestSafeBrowsingBlockingPageFactory() { }
324 virtual ~TestSafeBrowsingBlockingPageFactory() { } 324 virtual ~TestSafeBrowsingBlockingPageFactory() { }
325 325
326 virtual SafeBrowsingBlockingPage* CreateSafeBrowsingPage( 326 virtual SafeBrowsingBlockingPage* CreateSafeBrowsingPage(
327 SafeBrowsingUIManager* delegate, 327 SafeBrowsingUIManager* delegate,
328 WebContents* web_contents, 328 WebContents* web_contents,
329 const SafeBrowsingBlockingPage::UnsafeResourceList& unsafe_resources) 329 const SafeBrowsingBlockingPage::UnsafeResourceList& unsafe_resources)
330 OVERRIDE { 330 override {
331 return new TestSafeBrowsingBlockingPage(delegate, web_contents, 331 return new TestSafeBrowsingBlockingPage(delegate, web_contents,
332 unsafe_resources); 332 unsafe_resources);
333 } 333 }
334 }; 334 };
335 335
336 } // namespace 336 } // namespace
337 337
338 // Tests the safe browsing blocking page in a browser. 338 // Tests the safe browsing blocking page in a browser.
339 class SafeBrowsingBlockingPageBrowserTest 339 class SafeBrowsingBlockingPageBrowserTest
340 : public InProcessBrowserTest, 340 : public InProcessBrowserTest,
341 public testing::WithParamInterface<int> { 341 public testing::WithParamInterface<int> {
342 public: 342 public:
343 enum Visibility { 343 enum Visibility {
344 VISIBILITY_ERROR = -1, 344 VISIBILITY_ERROR = -1,
345 HIDDEN = 0, 345 HIDDEN = 0,
346 VISIBLE = 1 346 VISIBLE = 1
347 }; 347 };
348 348
349 SafeBrowsingBlockingPageBrowserTest() { 349 SafeBrowsingBlockingPageBrowserTest() {
350 } 350 }
351 351
352 virtual void SetUp() OVERRIDE { 352 virtual void SetUp() override {
353 SafeBrowsingService::RegisterFactory(&factory_); 353 SafeBrowsingService::RegisterFactory(&factory_);
354 SafeBrowsingBlockingPage::RegisterFactory(&blocking_page_factory_); 354 SafeBrowsingBlockingPage::RegisterFactory(&blocking_page_factory_);
355 MalwareDetails::RegisterFactory(&details_factory_); 355 MalwareDetails::RegisterFactory(&details_factory_);
356 InProcessBrowserTest::SetUp(); 356 InProcessBrowserTest::SetUp();
357 } 357 }
358 358
359 virtual void TearDown() OVERRIDE { 359 virtual void TearDown() override {
360 InProcessBrowserTest::TearDown(); 360 InProcessBrowserTest::TearDown();
361 SafeBrowsingBlockingPage::RegisterFactory(NULL); 361 SafeBrowsingBlockingPage::RegisterFactory(NULL);
362 SafeBrowsingService::RegisterFactory(NULL); 362 SafeBrowsingService::RegisterFactory(NULL);
363 MalwareDetails::RegisterFactory(NULL); 363 MalwareDetails::RegisterFactory(NULL);
364 } 364 }
365 365
366 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 366 virtual void SetUpInProcessBrowserTestFixture() override {
367 ASSERT_TRUE(test_server()->Start()); 367 ASSERT_TRUE(test_server()->Start());
368 } 368 }
369 369
370 void SetURLThreatType(const GURL& url, SBThreatType threat_type) { 370 void SetURLThreatType(const GURL& url, SBThreatType threat_type) {
371 FakeSafeBrowsingService* service = 371 FakeSafeBrowsingService* service =
372 static_cast<FakeSafeBrowsingService*>( 372 static_cast<FakeSafeBrowsingService*>(
373 g_browser_process->safe_browsing_service()); 373 g_browser_process->safe_browsing_service());
374 374
375 ASSERT_TRUE(service); 375 ASSERT_TRUE(service);
376 service->fake_database_manager()->SetURLThreatType(url, threat_type); 376 service->fake_database_manager()->SetURLThreatType(url, threat_type);
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageBrowserTest, PhishingLearnMore) { 842 IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageBrowserTest, PhishingLearnMore) {
843 SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING); 843 SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING);
844 EXPECT_TRUE(ClickAndWaitForDetach("help-link")); 844 EXPECT_TRUE(ClickAndWaitForDetach("help-link"));
845 AssertNoInterstitial(false); // Assert the interstitial is gone 845 AssertNoInterstitial(false); // Assert the interstitial is gone
846 846
847 // We are in the help page. 847 // We are in the help page.
848 EXPECT_EQ( 848 EXPECT_EQ(
849 "/transparencyreport/safebrowsing/", 849 "/transparencyreport/safebrowsing/",
850 browser()->tab_strip_model()->GetActiveWebContents()->GetURL().path()); 850 browser()->tab_strip_model()->GetActiveWebContents()->GetURL().path());
851 } 851 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698