| 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 #include "chrome/browser/safe_browsing/download_protection_service.h" | 5 #include "chrome/browser/safe_browsing/download_protection_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 // Set sample rate to 0 to prevent sampling. | 639 // Set sample rate to 0 to prevent sampling. |
| 640 SetWhitelistedDownloadSampleRate(0); | 640 SetWhitelistedDownloadSampleRate(0); |
| 641 download_service_->CheckClientDownload( | 641 download_service_->CheckClientDownload( |
| 642 &item, | 642 &item, |
| 643 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 643 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
| 644 base::Unretained(this))); | 644 base::Unretained(this))); |
| 645 MessageLoop::current()->Run(); | 645 MessageLoop::current()->Run(); |
| 646 | 646 |
| 647 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); | 647 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); |
| 648 EXPECT_TRUE(HasClientDownloadRequest()); | 648 EXPECT_TRUE(HasClientDownloadRequest()); |
| 649 EXPECT_FALSE(GetClientDownloadRequest()->skipped_url_whitelist()); | |
| 650 EXPECT_FALSE(GetClientDownloadRequest()->skipped_certificate_whitelist()); | |
| 651 ClearClientDownloadRequest(); | 649 ClearClientDownloadRequest(); |
| 652 | 650 |
| 653 // Check that the referrer is not matched against the whitelist. | 651 // Check that the referrer is not matched against the whitelist. |
| 654 referrer_ = GURL("http://www.google.com/"); | 652 referrer_ = GURL("http://www.google.com/"); |
| 655 download_service_->CheckClientDownload( | 653 download_service_->CheckClientDownload( |
| 656 &item, | 654 &item, |
| 657 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 655 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
| 658 base::Unretained(this))); | 656 base::Unretained(this))); |
| 659 MessageLoop::current()->Run(); | 657 MessageLoop::current()->Run(); |
| 660 | 658 |
| 661 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); | 659 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); |
| 662 EXPECT_TRUE(HasClientDownloadRequest()); | 660 EXPECT_TRUE(HasClientDownloadRequest()); |
| 663 EXPECT_FALSE(GetClientDownloadRequest()->skipped_url_whitelist()); | |
| 664 EXPECT_FALSE(GetClientDownloadRequest()->skipped_certificate_whitelist()); | |
| 665 ClearClientDownloadRequest(); | 661 ClearClientDownloadRequest(); |
| 666 | 662 |
| 667 // Redirect from a site shouldn't be checked either. | 663 // Redirect from a site shouldn't be checked either. |
| 668 url_chain_.insert(url_chain_.begin(), GURL("http://www.google.com/redirect")); | 664 url_chain_.insert(url_chain_.begin(), GURL("http://www.google.com/redirect")); |
| 669 download_service_->CheckClientDownload( | 665 download_service_->CheckClientDownload( |
| 670 &item, | 666 &item, |
| 671 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 667 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
| 672 base::Unretained(this))); | 668 base::Unretained(this))); |
| 673 MessageLoop::current()->Run(); | 669 MessageLoop::current()->Run(); |
| 674 | 670 |
| 675 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); | 671 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); |
| 676 EXPECT_TRUE(HasClientDownloadRequest()); | 672 EXPECT_TRUE(HasClientDownloadRequest()); |
| 677 EXPECT_FALSE(GetClientDownloadRequest()->skipped_url_whitelist()); | |
| 678 EXPECT_FALSE(GetClientDownloadRequest()->skipped_certificate_whitelist()); | |
| 679 ClearClientDownloadRequest(); | 673 ClearClientDownloadRequest(); |
| 680 | 674 |
| 681 // Only if the final url is whitelisted should it be SAFE. | 675 // Only if the final url is whitelisted should it be SAFE. |
| 682 url_chain_.push_back(GURL("http://www.google.com/a.exe")); | 676 url_chain_.push_back(GURL("http://www.google.com/a.exe")); |
| 683 download_service_->CheckClientDownload( | 677 download_service_->CheckClientDownload( |
| 684 &item, | 678 &item, |
| 685 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 679 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
| 686 base::Unretained(this))); | 680 base::Unretained(this))); |
| 687 MessageLoop::current()->Run(); | 681 MessageLoop::current()->Run(); |
| 688 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE)); | 682 EXPECT_TRUE(IsResult(DownloadProtectionService::SAFE)); |
| (...skipping 1221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1910 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 1904 &item, base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
| 1911 base::Unretained(this))); | 1905 base::Unretained(this))); |
| 1912 MessageLoop::current()->Run(); | 1906 MessageLoop::current()->Run(); |
| 1913 | 1907 |
| 1914 EXPECT_FALSE(HasClientDownloadRequest()); | 1908 EXPECT_FALSE(HasClientDownloadRequest()); |
| 1915 // Overriden by flag: | 1909 // Overriden by flag: |
| 1916 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); | 1910 EXPECT_TRUE(IsResult(DownloadProtectionService::DANGEROUS)); |
| 1917 } | 1911 } |
| 1918 | 1912 |
| 1919 } // namespace safe_browsing | 1913 } // namespace safe_browsing |
| OLD | NEW |