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 |