| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/engagement/site_engagement_service.h" | 5 #include "chrome/browser/engagement/site_engagement_service.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 541 clock_->SetNow(GetReferenceTime()); | 541 clock_->SetNow(GetReferenceTime()); |
| 542 | 542 |
| 543 EXPECT_EQ(0, service_->GetScore(url1)); | 543 EXPECT_EQ(0, service_->GetScore(url1)); |
| 544 EXPECT_EQ(0, service_->GetScore(url2)); | 544 EXPECT_EQ(0, service_->GetScore(url2)); |
| 545 EXPECT_EQ(0, service_->GetScore(url3)); | 545 EXPECT_EQ(0, service_->GetScore(url3)); |
| 546 | 546 |
| 547 HostContentSettingsMap* settings_map = | 547 HostContentSettingsMap* settings_map = |
| 548 HostContentSettingsMapFactory::GetForProfile(profile()); | 548 HostContentSettingsMapFactory::GetForProfile(profile()); |
| 549 | 549 |
| 550 settings_map->SetContentSettingDefaultScope( | 550 settings_map->SetContentSettingDefaultScope( |
| 551 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 551 url1, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 552 CONTENT_SETTING_ALLOW); | 552 content_settings::ResourceIdentifier(), CONTENT_SETTING_ALLOW); |
| 553 | 553 |
| 554 settings_map->SetContentSettingDefaultScope( | 554 settings_map->SetContentSettingDefaultScope( |
| 555 url2, url2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 555 url2, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 556 CONTENT_SETTING_BLOCK); | 556 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK); |
| 557 | 557 |
| 558 settings_map->SetContentSettingDefaultScope( | 558 settings_map->SetContentSettingDefaultScope( |
| 559 url3, url3, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 559 url3, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 560 CONTENT_SETTING_ASK); | 560 content_settings::ResourceIdentifier(), CONTENT_SETTING_ASK); |
| 561 | 561 |
| 562 EXPECT_EQ(5, service_->GetScore(url1)); | 562 EXPECT_EQ(5, service_->GetScore(url1)); |
| 563 EXPECT_EQ(0, service_->GetScore(url2)); | 563 EXPECT_EQ(0, service_->GetScore(url2)); |
| 564 EXPECT_EQ(0, service_->GetScore(url3)); | 564 EXPECT_EQ(0, service_->GetScore(url3)); |
| 565 | 565 |
| 566 service_->AddPoints(url1, 1.0); | 566 service_->AddPoints(url1, 1.0); |
| 567 service_->AddPoints(url2, 3.0); | 567 service_->AddPoints(url2, 3.0); |
| 568 EXPECT_EQ(6, service_->GetScore(url1)); | 568 EXPECT_EQ(6, service_->GetScore(url1)); |
| 569 EXPECT_EQ(3, service_->GetScore(url2)); | 569 EXPECT_EQ(3, service_->GetScore(url2)); |
| 570 | 570 |
| 571 settings_map->SetContentSettingDefaultScope( | 571 settings_map->SetContentSettingDefaultScope( |
| 572 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), | 572 url1, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 573 CONTENT_SETTING_BLOCK); | 573 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK); |
| 574 | 574 |
| 575 EXPECT_EQ(1, service_->GetScore(url1)); | 575 EXPECT_EQ(1, service_->GetScore(url1)); |
| 576 } | 576 } |
| 577 | 577 |
| 578 TEST_F(SiteEngagementServiceTest, CheckHistograms) { | 578 TEST_F(SiteEngagementServiceTest, CheckHistograms) { |
| 579 base::HistogramTester histograms; | 579 base::HistogramTester histograms; |
| 580 | 580 |
| 581 base::Time current_day = GetReferenceTime(); | 581 base::Time current_day = GetReferenceTime(); |
| 582 clock_->SetNow(current_day); | 582 clock_->SetNow(current_day); |
| 583 | 583 |
| (...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1828 | 1828 |
| 1829 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, | 1829 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, |
| 1830 settings_map, url1)); | 1830 settings_map, url1)); |
| 1831 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, | 1831 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, |
| 1832 settings_map, url2)); | 1832 settings_map, url2)); |
| 1833 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, | 1833 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, |
| 1834 incognito_settings_map, url1)); | 1834 incognito_settings_map, url1)); |
| 1835 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, | 1835 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, |
| 1836 incognito_settings_map, url2)); | 1836 incognito_settings_map, url2)); |
| 1837 } | 1837 } |
| 1838 |
| 1839 TEST_F(SiteEngagementServiceTest, GetAllDetailsIncludesBonusOnlyScores) { |
| 1840 GURL url1("http://www.google.com/"); |
| 1841 GURL url2("https://www.google.com/"); |
| 1842 GURL url3("https://drive.google.com/"); |
| 1843 GURL url4("https://nothing.google.com/"); |
| 1844 |
| 1845 std::vector<mojom::SiteEngagementDetails> details = service_->GetAllDetails(); |
| 1846 EXPECT_EQ(0u, details.size()); |
| 1847 |
| 1848 // Add a single site score via explicitly resetting the engagement score. |
| 1849 service_->ResetBaseScoreForURL(url1, 5); |
| 1850 |
| 1851 // Add a second site indirectly, via notifications permissions. |
| 1852 HostContentSettingsMap* settings_map = |
| 1853 HostContentSettingsMapFactory::GetForProfile(profile()); |
| 1854 settings_map->SetContentSettingDefaultScope( |
| 1855 url2, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1856 content_settings::ResourceIdentifier(), CONTENT_SETTING_ALLOW); |
| 1857 |
| 1858 // Add third and fourth sites with notifications permission explicitly denied, |
| 1859 // to verify that they are not included. |
| 1860 settings_map->SetContentSettingDefaultScope( |
| 1861 url3, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1862 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK); |
| 1863 settings_map->SetContentSettingDefaultScope( |
| 1864 url4, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1865 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK); |
| 1866 |
| 1867 // Verify that the URLs with engagement, and with notifications permission |
| 1868 // boosted engagement total, are included. |
| 1869 details = service_->GetAllDetails(); |
| 1870 EXPECT_EQ(2u, details.size()); |
| 1871 } |
| OLD | NEW |