| OLD | NEW |
| 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 const std::string& serialized) OVERRIDE { | 126 const std::string& serialized) OVERRIDE { |
| 127 reports_.push_back(serialized); | 127 reports_.push_back(serialized); |
| 128 // Notify the UI thread that we got a report. | 128 // Notify the UI thread that we got a report. |
| 129 BrowserThread::PostTask( | 129 BrowserThread::PostTask( |
| 130 BrowserThread::UI, FROM_HERE, | 130 BrowserThread::UI, FROM_HERE, |
| 131 base::Bind(&FakeSafeBrowsingUIManager::OnMalwareDetailsDone, this)); | 131 base::Bind(&FakeSafeBrowsingUIManager::OnMalwareDetailsDone, this)); |
| 132 } | 132 } |
| 133 | 133 |
| 134 void OnMalwareDetailsDone() { | 134 void OnMalwareDetailsDone() { |
| 135 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 135 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 136 MessageLoopForUI::current()->Quit(); | 136 base::MessageLoopForUI::current()->Quit(); |
| 137 } | 137 } |
| 138 | 138 |
| 139 std::string GetReport() { | 139 std::string GetReport() { |
| 140 EXPECT_TRUE(reports_.size() == 1); | 140 EXPECT_TRUE(reports_.size() == 1); |
| 141 return reports_[0]; | 141 return reports_[0]; |
| 142 } | 142 } |
| 143 | 143 |
| 144 protected: | 144 protected: |
| 145 virtual ~FakeSafeBrowsingUIManager() { } | 145 virtual ~FakeSafeBrowsingUIManager() { } |
| 146 | 146 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 content::RunMessageLoop(); | 240 content::RunMessageLoop(); |
| 241 EXPECT_TRUE(got_dom_); | 241 EXPECT_TRUE(got_dom_); |
| 242 } | 242 } |
| 243 | 243 |
| 244 private: | 244 private: |
| 245 virtual ~FakeMalwareDetails() {} | 245 virtual ~FakeMalwareDetails() {} |
| 246 | 246 |
| 247 void OnDOMDetailsDone() { | 247 void OnDOMDetailsDone() { |
| 248 got_dom_ = true; | 248 got_dom_ = true; |
| 249 if (waiting_) { | 249 if (waiting_) { |
| 250 MessageLoopForUI::current()->Quit(); | 250 base::MessageLoopForUI::current()->Quit(); |
| 251 } | 251 } |
| 252 } | 252 } |
| 253 | 253 |
| 254 // Some logic to figure out if we should wait for the dom details or not. | 254 // Some logic to figure out if we should wait for the dom details or not. |
| 255 // These variables should only be accessed in the UI thread. | 255 // These variables should only be accessed in the UI thread. |
| 256 bool got_dom_; | 256 bool got_dom_; |
| 257 bool waiting_; | 257 bool waiting_; |
| 258 }; | 258 }; |
| 259 | 259 |
| 260 class TestMalwareDetailsFactory : public MalwareDetailsFactory { | 260 class TestMalwareDetailsFactory : public MalwareDetailsFactory { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 289 wait_for_delete_(false) { | 289 wait_for_delete_(false) { |
| 290 // Don't wait the whole 3 seconds for the browser test. | 290 // Don't wait the whole 3 seconds for the browser test. |
| 291 malware_details_proceed_delay_ms_ = 100; | 291 malware_details_proceed_delay_ms_ = 100; |
| 292 } | 292 } |
| 293 | 293 |
| 294 virtual ~TestSafeBrowsingBlockingPage() { | 294 virtual ~TestSafeBrowsingBlockingPage() { |
| 295 if (!wait_for_delete_) | 295 if (!wait_for_delete_) |
| 296 return; | 296 return; |
| 297 | 297 |
| 298 // Notify that we are gone | 298 // Notify that we are gone |
| 299 MessageLoopForUI::current()->Quit(); | 299 base::MessageLoopForUI::current()->Quit(); |
| 300 wait_for_delete_ = false; | 300 wait_for_delete_ = false; |
| 301 } | 301 } |
| 302 | 302 |
| 303 void WaitForDelete() { | 303 void WaitForDelete() { |
| 304 wait_for_delete_ = true; | 304 wait_for_delete_ = true; |
| 305 content::RunMessageLoop(); | 305 content::RunMessageLoop(); |
| 306 } | 306 } |
| 307 | 307 |
| 308 private: | 308 private: |
| 309 bool wait_for_delete_; | 309 bool wait_for_delete_; |
| (...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 817 SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING); | 817 SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING); |
| 818 | 818 |
| 819 EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link")); | 819 EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link")); |
| 820 AssertNoInterstitial(false); // Assert the interstitial is gone | 820 AssertNoInterstitial(false); // Assert the interstitial is gone |
| 821 | 821 |
| 822 // We are in the help page. | 822 // We are in the help page. |
| 823 EXPECT_EQ( | 823 EXPECT_EQ( |
| 824 "/goodtoknow/online-safety/phishing/", | 824 "/goodtoknow/online-safety/phishing/", |
| 825 browser()->tab_strip_model()->GetActiveWebContents()->GetURL().path()); | 825 browser()->tab_strip_model()->GetActiveWebContents()->GetURL().path()); |
| 826 } | 826 } |
| OLD | NEW |