Autoplay: enable unified policy by default on trunk.
Bug: 779087, 746554
Change-Id: I22fea53534db6404da794c04320ef6b889dc5ac6
Reviewed-on: https://chromium-review.googlesource.com/817739
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524987}
diff --git a/chrome/browser/android/voice_search_tab_helper.cc b/chrome/browser/android/voice_search_tab_helper.cc
index 7389c448..2ee429e 100644
--- a/chrome/browser/android/voice_search_tab_helper.cc
+++ b/chrome/browser/android/voice_search_tab_helper.cc
@@ -48,8 +48,9 @@
// TODO(mlamouri): this is even more wrong because it makes assumptions with
// regards to the default autoplay policy.
prefs.autoplay_policy =
- gesture_required ? content::AutoplayPolicy::kUserGestureRequired
- : content::AutoplayPolicy::kNoUserGestureRequired;
+ gesture_required
+ ? content::AutoplayPolicy::kDocumentUserActivationRequired
+ : content::AutoplayPolicy::kNoUserGestureRequired;
host->UpdateWebkitPreferences(prefs);
}
}
diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc
index 434ccb8..74517519 100644
--- a/chrome/browser/apps/guest_view/web_view_browsertest.cc
+++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
@@ -1082,6 +1082,10 @@
}
IN_PROC_BROWSER_TEST_P(WebViewTest, AudioStateJavascriptAPI) {
+ base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
+
ASSERT_TRUE(StartEmbeddedTestServer()); // For serving guest pages.
ASSERT_TRUE(RunPlatformAppTest("platform_apps/web_view/audio_state_api"))
<< message_;
diff --git a/chrome/browser/media/media_engagement_browsertest.cc b/chrome/browser/media/media_engagement_browsertest.cc
index 10b26b63..737a0806 100644
--- a/chrome/browser/media/media_engagement_browsertest.cc
+++ b/chrome/browser/media/media_engagement_browsertest.cc
@@ -95,6 +95,13 @@
injected_clock_ = false;
}
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ command_line->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
+ InProcessBrowserTest::SetUpCommandLine(command_line);
+ }
+
void LoadTestPage(const GURL& url) {
// We can't do this in SetUp as the browser isn't ready yet and we
// need it before the page navigates.
diff --git a/chrome/browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc b/chrome/browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc
index 1f0854e..37823f0 100644
--- a/chrome/browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc
+++ b/chrome/browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc
@@ -9,6 +9,7 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/test/browser_test_base.h"
+#include "media/base/media_switches.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -43,6 +44,13 @@
InProcessBrowserTest::SetUp();
}
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ command_line->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
+ InProcessBrowserTest::SetUpCommandLine(command_line);
+ }
+
void TearDown() override {
InProcessBrowserTest::TearDown();
tracker_.reset();
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index d5144bb..f0242b8 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -112,6 +112,7 @@
#include "extensions/common/manifest_handlers/mime_types_handler.h"
#include "extensions/common/switches.h"
#include "extensions/test/result_catcher.h"
+#include "media/base/media_switches.h"
#include "net/base/escape.h"
#include "net/cert/x509_certificate.h"
#include "net/dns/mock_host_resolver.h"
@@ -602,6 +603,14 @@
~PrerenderBrowserTest() override {}
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ command_line->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
+
+ test_utils::PrerenderInProcessBrowserTest::SetUpCommandLine(command_line);
+ }
+
std::unique_ptr<TestPrerender> PrerenderTestURL(
const std::string& html_file,
FinalStatus expected_final_status,
diff --git a/chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc b/chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc
index ce3bfdb..e13632c 100644
--- a/chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc
+++ b/chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc
@@ -32,6 +32,7 @@
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_test_utils.h"
+#include "media/base/media_switches.h"
#include "net/base/filename_util.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
@@ -605,6 +606,10 @@
void SetUpCommandLine(base::CommandLine* command_line) override {
ChromeRenderProcessHostTest::SetUpCommandLine(command_line);
command_line->AppendSwitch(switches::kProcessPerTab);
+
+ command_line->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
}
void SetUpOnMainThread() override {
diff --git a/content/public/common/web_preferences.cc b/content/public/common/web_preferences.cc
index 09569f8..efafce70 100644
--- a/content/public/common/web_preferences.cc
+++ b/content/public/common/web_preferences.cc
@@ -232,11 +232,7 @@
presentation_receiver(false),
media_controls_enabled(true),
do_not_update_selection_on_mutating_selection_range(false),
-#if defined(OS_ANDROID)
- autoplay_policy(AutoplayPolicy::kUserGestureRequired) {
-#else
- autoplay_policy(AutoplayPolicy::kNoUserGestureRequired) {
-#endif // defined(OS_ANDROID)
+ autoplay_policy(AutoplayPolicy::kDocumentUserActivationRequired) {
standard_font_family_map[kCommonScript] =
base::ASCIIToUTF16("Times New Roman");
fixed_font_family_map[kCommonScript] = base::ASCIIToUTF16("Courier New");
diff --git a/content/test/ppapi/ppapi_test.cc b/content/test/ppapi/ppapi_test.cc
index c5fef56..31d0cdb9 100644
--- a/content/test/ppapi/ppapi_test.cc
+++ b/content/test/ppapi/ppapi_test.cc
@@ -16,6 +16,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/test/ppapi_test_utils.h"
#include "content/shell/browser/shell.h"
+#include "media/base/media_switches.h"
#include "net/base/filename_util.h"
#include "ppapi/shared_impl/ppapi_switches.h"
@@ -57,6 +58,10 @@
command_line->AppendSwitchASCII(switches::kJavaScriptFlags, "--expose_gc");
command_line->AppendSwitch(switches::kUseFakeUIForMediaStream);
+
+ command_line->AppendSwitchASCII(
+ switches::kAutoplayPolicy,
+ switches::autoplay::kNoUserGestureRequiredPolicy);
}
GURL PPAPITestBase::GetTestFileUrl(const std::string& test_case) {
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
index e207069..77d0be2 100644
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -262,7 +262,7 @@
// Enables the Unified Autoplay policy by overriding the platform's default
// autoplay policy.
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Use SurfaceLayer instead of VideoLayer.
const base::Feature kUseSurfaceLayerForVideo{"UseSurfaceLayerForVideo",
@@ -298,7 +298,7 @@
// Enables the Media Engagement Index to override autoplay policies if an
// origins engagement score is high enough.
const base::Feature kMediaEngagementBypassAutoplayPolicies{
- "MediaEngagementBypassAutoplayPolicies", base::FEATURE_DISABLED_BY_DEFAULT};
+ "MediaEngagementBypassAutoplayPolicies", base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_ANDROID)
// Lock the screen orientation when a video goes fullscreen.