Commit 3dbaf64e authored by Mounir Lamouri's avatar Mounir Lamouri Committed by Commit Bot

Media Engagement: update warm up periode to 20 visits.

Bug: None
Change-Id: I834310cc536a57d6a1ab0ac86dc2ee8b78856812
Reviewed-on: https://chromium-review.googlesource.com/885764Reviewed-by: default avatarTommy Steimel <steimel@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531893}
parent a1f4b4f5
......@@ -187,7 +187,7 @@ class MediaEngagementAutoplayBrowserTest : public InProcessBrowserTest {
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
BypassAutoplayHighEngagement) {
SetScores(PrimaryOrigin(), 7, 7);
SetScores(PrimaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
}
......@@ -207,7 +207,7 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
BypassAutoplayFrameHighEngagement) {
SetScores(PrimaryOrigin(), 7, 7);
SetScores(PrimaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_iframe_test.html");
LoadSubFrame("engagement_autoplay_iframe_test_frame.html");
ExpectAutoplayAllowed();
......@@ -215,7 +215,7 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
DoNotBypassAutoplayFrameLowEngagement) {
SetScores(SecondaryOrigin(), 7, 7);
SetScores(SecondaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_iframe_test.html");
LoadSubFrame("engagement_autoplay_iframe_test_frame.html");
ExpectAutoplayDenied();
......@@ -230,13 +230,13 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
ClearEngagementOnNavigation) {
SetScores(PrimaryOrigin(), 7, 7);
SetScores(PrimaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
LoadTestPageSecondaryOrigin("engagement_autoplay_test.html");
ExpectAutoplayDenied();
SetScores(SecondaryOrigin(), 7, 7);
SetScores(SecondaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
......@@ -248,8 +248,8 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
// Test have high score threshold.
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
HasHighScoreThreshold) {
SetScores(PrimaryOrigin(), 10, 8);
SetScores(PrimaryOrigin(), 10, 5);
SetScores(PrimaryOrigin(), 20, 16);
SetScores(PrimaryOrigin(), 20, 10);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
}
......@@ -267,7 +267,7 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
ExpectAutoplayAllowed();
// If we now have a high MEI score we should still be allowed to autoplay.
SetScores(PrimaryOrigin(), 10, 10);
SetScores(PrimaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
......@@ -291,7 +291,7 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
ExpectAutoplayDenied();
// If we now have a high MEI score we should now be allowed to autoplay.
SetScores(PrimaryOrigin(), 10, 10);
SetScores(PrimaryOrigin(), 20, 20);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayAllowed();
......@@ -304,7 +304,7 @@ IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
IN_PROC_BROWSER_TEST_F(MediaEngagementAutoplayBrowserTest,
PreloadedDataAndHighVisits) {
// Autoplay should be denied due to a low score.
SetScores(PrimaryOrigin(), 10, 0);
SetScores(PrimaryOrigin(), 20, 0);
LoadTestPage("engagement_autoplay_test.html");
ExpectAutoplayDenied();
......
......@@ -712,9 +712,9 @@ TEST_F(MediaEngagementContentsObserverTest, RecordScoreOnPlayback) {
GURL url2("https://www.google.co.uk");
GURL url3("https://www.example.com");
SetScores(url1, 6, 5);
SetScores(url2, 6, 3);
SetScores(url3, 2, 1);
SetScores(url1, 24, 20);
SetScores(url2, 24, 12);
SetScores(url3, 8, 4);
base::HistogramTester tester;
tester.ExpectTotalCount(
MediaEngagementContentsObserver::kHistogramScoreAtPlaybackName, 0);
......@@ -749,7 +749,7 @@ TEST_F(MediaEngagementContentsObserverTest, RecordScoreOnPlayback) {
TEST_F(MediaEngagementContentsObserverTest, DoNotRecordScoreOnPlayback_Muted) {
GURL url("https://www.google.com");
SetScores(url, 6, 5);
SetScores(url, 24, 20);
base::HistogramTester tester;
Navigate(url);
......@@ -791,7 +791,7 @@ TEST_F(MediaEngagementContentsObserverTest, VisibilityNotRequired) {
TEST_F(MediaEngagementContentsObserverTest, RecordUkmMetricsOnDestroy) {
GURL url("https://www.google.com");
SetScores(url, 6, 5, 3, 1);
SetScores(url, 24, 20, 3, 1);
Navigate(url);
EXPECT_FALSE(WasSignificantPlaybackRecorded());
......@@ -802,26 +802,26 @@ TEST_F(MediaEngagementContentsObserverTest, RecordUkmMetricsOnDestroy) {
EXPECT_TRUE(WasSignificantPlaybackRecorded());
SimulateDestroy();
ExpectScores(url, 6.0 / 7.0, 7, 6, 5, 2);
ExpectUkmEntry(url, 6, 7, 86, 1, true, 2, 5, 1, 2, 0);
ExpectScores(url, 21.0 / 25.0, 25, 21, 5, 2);
ExpectUkmEntry(url, 21, 25, 84, 1, true, 2, 5, 1, 2, 0);
}
TEST_F(MediaEngagementContentsObserverTest,
RecordUkmMetricsOnDestroy_NoPlaybacks) {
GURL url("https://www.google.com");
SetScores(url, 6, 5, 2, 1);
SetScores(url, 24, 20, 2, 1);
Navigate(url);
EXPECT_FALSE(WasSignificantPlaybackRecorded());
SimulateDestroy();
ExpectScores(url, 5.0 / 7.0, 7, 5, 2, 1);
ExpectUkmEntry(url, 5, 7, 71, 0, true, 0, 2, 0, 1, 0);
ExpectScores(url, 20.0 / 25.0, 25, 20, 2, 1);
ExpectUkmEntry(url, 20, 25, 80, 0, true, 0, 2, 0, 1, 0);
}
TEST_F(MediaEngagementContentsObserverTest, RecordUkmMetricsOnNavigate) {
GURL url("https://www.google.com");
SetScores(url, 6, 5, 3, 1);
SetScores(url, 24, 20, 3, 1);
Navigate(url);
EXPECT_FALSE(WasSignificantPlaybackRecorded());
......@@ -832,27 +832,27 @@ TEST_F(MediaEngagementContentsObserverTest, RecordUkmMetricsOnNavigate) {
EXPECT_TRUE(WasSignificantPlaybackRecorded());
Navigate(GURL("https://www.example.org"));
ExpectScores(url, 6.0 / 7.0, 7, 6, 5, 2);
ExpectUkmEntry(url, 6, 7, 86, 1, true, 2, 5, 1, 2, 0);
ExpectScores(url, 21.0 / 25.0, 25, 21, 5, 2);
ExpectUkmEntry(url, 21, 25, 84, 1, true, 2, 5, 1, 2, 0);
}
TEST_F(MediaEngagementContentsObserverTest,
RecordUkmMetricsOnNavigate_NoPlaybacks) {
GURL url("https://www.google.com");
SetScores(url, 9, 2, 2, 1);
SetScores(url, 27, 6, 2, 1);
Navigate(url);
EXPECT_FALSE(WasSignificantPlaybackRecorded());
Navigate(GURL("https://www.example.org"));
ExpectScores(url, 2 / 10.0, 10, 2, 2, 1);
ExpectUkmEntry(url, 2, 10, 20, 0, false, 0, 2, 0, 1, 0);
ExpectScores(url, 6 / 28.0, 28, 6, 2, 1);
ExpectUkmEntry(url, 6, 28, 21, 0, false, 0, 2, 0, 1, 0);
}
TEST_F(MediaEngagementContentsObserverTest,
RecordUkmMetrics_MultiplePlaybackTime) {
GURL url("https://www.google.com");
SetScores(url, 6, 5, 3, 1);
SetScores(url, 24, 20, 3, 1);
Advance15Minutes();
SetLastPlaybackTime(url, Now());
Navigate(url);
......@@ -868,9 +868,9 @@ TEST_F(MediaEngagementContentsObserverTest,
SimulateSignificantPlaybackTimeForPlayer(1);
SimulateDestroy();
ExpectScores(url, 6.0 / 7.0, 7, 6, 5, 3);
ExpectScores(url, 21.0 / 25.0, 25, 21, 5, 3);
ExpectLastPlaybackTime(url, first);
ExpectUkmEntry(url, 6, 7, 86, 1, true, 2, 5, 2, 3, 900);
ExpectUkmEntry(url, 21, 25, 84, 1, true, 2, 5, 2, 3, 900);
}
TEST_F(MediaEngagementContentsObserverTest, DoNotCreateSessionOnInternalUrl) {
......
......@@ -32,7 +32,7 @@ const char MediaEngagementScore::kHighScoreUpperThresholdParamName[] =
namespace {
const int kScoreMinVisitsParamDefault = 4;
const int kScoreMinVisitsParamDefault = 20;
const double kHighScoreLowerThresholdParamDefault = 0.2;
const double kHighScoreUpperThresholdParamDefault = 0.3;
......
......@@ -204,17 +204,17 @@ TEST_F(MediaEngagementScoreTest, PartiallyEmptyDictionary) {
// dictionaries.
TEST_F(MediaEngagementScoreTest, PopulatedDictionary) {
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
dict->SetInteger(MediaEngagementScore::kVisitsKey, 10);
dict->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 6);
dict->SetInteger(MediaEngagementScore::kVisitsKey, 20);
dict->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 12);
dict->SetDouble(MediaEngagementScore::kLastMediaPlaybackTimeKey,
test_clock.Now().ToInternalValue());
dict->SetBoolean(MediaEngagementScore::kHasHighScoreKey, true);
dict->SetInteger(MediaEngagementScore::kAudiblePlaybacksKey, 1);
dict->SetInteger(MediaEngagementScore::kSignificantPlaybacksKey, 2);
dict->SetInteger(MediaEngagementScore::kVisitsWithMediaTagKey, 3);
dict->SetInteger(MediaEngagementScore::kAudiblePlaybacksKey, 2);
dict->SetInteger(MediaEngagementScore::kSignificantPlaybacksKey, 4);
dict->SetInteger(MediaEngagementScore::kVisitsWithMediaTagKey, 6);
TestScoreInitializesAndUpdates(std::move(dict), 10, 6, test_clock.Now(), true,
1, 2, 3);
TestScoreInitializesAndUpdates(std::move(dict), 20, 12, test_clock.Now(),
true, 2, 4, 6);
}
// Test getting and commiting the score works correctly with different
......@@ -259,11 +259,11 @@ TEST_F(MediaEngagementScoreTest, ContentSettingsMultiOrigin) {
TEST_F(MediaEngagementScoreTest, ContentSettings) {
HostContentSettingsMap* settings_map =
HostContentSettingsMapFactory::GetForProfile(profile());
int example_num_visits = 10;
int example_media_playbacks = 2;
int example_audible_playbacks = 1;
int example_significant_playbacks = 2;
int example_visits_with_media_tags = 10;
int example_num_visits = 20;
int example_media_playbacks = 5;
int example_audible_playbacks = 3;
int example_significant_playbacks = 5;
int example_visits_with_media_tags = 20;
// Store some example data in content settings.
GURL origin("https://www.google.com");
......@@ -347,25 +347,25 @@ TEST_F(MediaEngagementScoreTest, EngagementScoreCalculation) {
EXPECT_EQ(0.0, score_->actual_score());
EXPECT_EQ(0, score_->actual_score());
SetScore(10, 4);
SetScore(20, 8);
EXPECT_EQ(0.4, score_->actual_score());
UpdateScore(score_);
EXPECT_EQ(5.0 / 11.0, score_->actual_score());
EXPECT_EQ(9.0 / 21.0, score_->actual_score());
}
// Test that a score without the high_score bit uses the correct bounds.
TEST_F(MediaEngagementScoreTest, HighScoreLegacy) {
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
dict->SetInteger(MediaEngagementScore::kVisitsKey, 10);
dict->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 3);
TestScoreInitializesAndUpdates(std::move(dict), 10, 3, base::Time(), true, 0,
dict->SetInteger(MediaEngagementScore::kVisitsKey, 20);
dict->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 6);
TestScoreInitializesAndUpdates(std::move(dict), 20, 6, base::Time(), true, 0,
0, 0);
std::unique_ptr<base::DictionaryValue> dict2(new base::DictionaryValue());
dict2->SetInteger(MediaEngagementScore::kVisitsKey, 10);
dict2->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 2);
TestScoreInitializesAndUpdates(std::move(dict2), 10, 2, base::Time(), false,
dict2->SetInteger(MediaEngagementScore::kVisitsKey, 20);
dict2->SetInteger(MediaEngagementScore::kMediaPlaybacksKey, 4);
TestScoreInitializesAndUpdates(std::move(dict2), 20, 4, base::Time(), false,
0, 0, 0);
}
......@@ -409,11 +409,11 @@ TEST_F(MediaEngagementScoreTest, HighScoreThreshold) {
}
TEST_F(MediaEngagementScoreTest, OverrideFieldTrial) {
EXPECT_EQ(4, MediaEngagementScore::GetScoreMinVisits());
EXPECT_EQ(20, MediaEngagementScore::GetScoreMinVisits());
EXPECT_EQ(0.2, MediaEngagementScore::GetHighScoreLowerThreshold());
EXPECT_EQ(0.3, MediaEngagementScore::GetHighScoreUpperThreshold());
SetScore(10, 8);
SetScore(20, 16);
EXPECT_EQ(0.8, score_->actual_score());
EXPECT_TRUE(score_->high_score());
......@@ -431,7 +431,7 @@ TEST_F(MediaEngagementScoreTest, OverrideFieldTrial) {
// Raise the minimum visits, the score will now be zero as it does not meet
// the threshold requirements.
OverrideFieldTrial(15, 0.85, 0.9);
OverrideFieldTrial(25, 0.85, 0.9);
EXPECT_EQ(0.0, score_->actual_score());
EXPECT_EQ(15, MediaEngagementScore::GetScoreMinVisits());
EXPECT_EQ(25, MediaEngagementScore::GetScoreMinVisits());
}
......@@ -312,10 +312,10 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// and we will ensure it has the same score. origin2 will have a score
// that is zero and will remain zero. origin3 will have a score
// and will be cleared. origin4 will have a normal score.
SetScores(origin1, MediaEngagementScore::GetScoreMinVisits() + 2, 4);
SetScores(origin1, MediaEngagementScore::GetScoreMinVisits() + 2, 14);
SetScores(origin2, 2, 1);
SetScores(origin3, 2, 1);
SetScores(origin4, MediaEngagementScore::GetScoreMinVisits(), 2);
SetScores(origin4, MediaEngagementScore::GetScoreMinVisits(), 10);
base::Time today = GetReferenceTime();
base::Time yesterday = GetReferenceTime() - base::TimeDelta::FromDays(1);
......@@ -336,14 +336,14 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
history->AddPage(origin3a, yesterday_afternoon, history::SOURCE_BROWSED);
// Check that the scores are valid at the beginning.
ExpectScores(origin1, 2.0 / 3.0,
MediaEngagementScore::GetScoreMinVisits() + 2, 4, TimeNotSet());
ExpectScores(origin1, 7.0 / 11.0,
MediaEngagementScore::GetScoreMinVisits() + 2, 14, TimeNotSet());
EXPECT_TRUE(GetActualScore(origin1));
ExpectScores(origin2, 0.0, 2, 1, TimeNotSet());
EXPECT_FALSE(GetActualScore(origin2));
ExpectScores(origin3, 0.0, 2, 1, TimeNotSet());
EXPECT_FALSE(GetActualScore(origin3));
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 2,
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10,
TimeNotSet());
EXPECT_TRUE(GetActualScore(origin4));
......@@ -362,13 +362,13 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// should have a score that is zero but it's visits and playbacks should
// have decreased. origin3 should have had a decrease in the number of
// visits. origin4 should have the old score.
ExpectScores(origin1, 0.5, MediaEngagementScore::GetScoreMinVisits(), 2,
ExpectScores(origin1, 0.6, MediaEngagementScore::GetScoreMinVisits(), 12,
TimeNotSet());
EXPECT_TRUE(GetActualScore(origin1));
ExpectScores(origin2, 0.0, 1, 0, TimeNotSet());
EXPECT_FALSE(GetActualScore(origin2));
ExpectScores(origin3, 0.0, 1, 0, TimeNotSet());
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 2,
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10,
TimeNotSet());
histogram_tester.ExpectTotalCount(
......@@ -376,7 +376,7 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
histogram_tester.ExpectBucketCount(
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 0, 2);
histogram_tester.ExpectBucketCount(
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 17, 1);
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 4, 1);
}
{
......@@ -396,17 +396,17 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
waiter.Wait();
// origin1's score should have changed but the rest should remain the same.
ExpectScores(origin1, 0.0, MediaEngagementScore::GetScoreMinVisits() - 1, 1,
TimeNotSet());
ExpectScores(origin1, 0.0, MediaEngagementScore::GetScoreMinVisits() - 1,
11, TimeNotSet());
ExpectScores(origin2, 0.0, 1, 0, TimeNotSet());
ExpectScores(origin3, 0.0, 1, 0, TimeNotSet());
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 2,
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10,
TimeNotSet());
histogram_tester.ExpectTotalCount(
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 1);
histogram_tester.ExpectBucketCount(
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 50, 1);
MediaEngagementService::kHistogramURLsDeletedScoreReductionName, 60, 1);
}
{
......@@ -428,11 +428,11 @@ TEST_F(MediaEngagementServiceTest, CleanupOriginsOnHistoryDeletion) {
// origin3's score should be removed but the rest should remain the same.
std::map<GURL, double> scores = GetScoreMapForTesting();
EXPECT_TRUE(scores.find(origin3) == scores.end());
ExpectScores(origin1, 0.0, MediaEngagementScore::GetScoreMinVisits() - 1, 1,
TimeNotSet());
ExpectScores(origin1, 0.0, MediaEngagementScore::GetScoreMinVisits() - 1,
11, TimeNotSet());
ExpectScores(origin2, 0.0, 1, 0, TimeNotSet());
ExpectScores(origin3, 0.0, 0, 0, TimeNotSet());
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 2,
ExpectScores(origin4, 0.5, MediaEngagementScore::GetScoreMinVisits(), 10,
TimeNotSet());
histogram_tester.ExpectTotalCount(
......@@ -495,11 +495,12 @@ TEST_F(MediaEngagementServiceTest, LogScoresOnStartupToHistogram) {
GURL url2("https://www.google.co.uk");
GURL url3("https://www.example.com");
SetScores(url1, 6, 5);
SetScores(url2, 6, 3);
SetScores(url1, 24, 20);
SetScores(url2, 24, 12);
RecordVisitAndPlaybackAndAdvanceClock(url3);
ExpectScores(url1, 5.0 / 6.0, 6, 5, TimeNotSet());
ExpectScores(url2, 0.5, 6, 3, TimeNotSet());
ExpectScores(url1, 5.0 / 6.0, 24, 20, TimeNotSet());
ExpectScores(url2, 0.5, 24, 12, TimeNotSet());
ExpectScores(url3, 0.0, 1, 1, Now());
base::HistogramTester histogram_tester;
......@@ -523,8 +524,8 @@ TEST_F(MediaEngagementServiceTest, HasHighEngagement) {
GURL url2("https://www.google.co.uk");
GURL url3("https://www.example.com");
SetScores(url1, 6, 5);
SetScores(url2, 6, 1);
SetScores(url1, 20, 15);
SetScores(url2, 20, 4);
EXPECT_TRUE(HasHighEngagement(url1));
EXPECT_FALSE(HasHighEngagement(url2));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment