Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: chrome/browser/android/voice_search_tab_helper.cc

Issue 2845973005: Reland of name kDisableGestureRequirementForMediaPlayback and make it a test-only flag. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/about_flags.cc ('k') | chrome/browser/flag_descriptions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/android/voice_search_tab_helper.h" 5 #include "chrome/browser/android/voice_search_tab_helper.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "components/google/core/browser/google_util.h" 8 #include "components/google/core/browser/google_util.h"
9 #include "content/public/browser/render_view_host.h" 9 #include "content/public/browser/render_view_host.h"
10 #include "content/public/browser/web_contents.h" 10 #include "content/public/browser/web_contents.h"
11 #include "content/public/common/content_switches.h"
12 #include "content/public/common/web_preferences.h" 11 #include "content/public/common/web_preferences.h"
12 #include "media/base/media_switches.h"
13 13
14 DEFINE_WEB_CONTENTS_USER_DATA_KEY(VoiceSearchTabHelper); 14 DEFINE_WEB_CONTENTS_USER_DATA_KEY(VoiceSearchTabHelper);
15 15
16 // TODO(715588): this class shouldn't be playing with the user gesture
17 // requirements like this.
16 VoiceSearchTabHelper::VoiceSearchTabHelper(content::WebContents* contents) 18 VoiceSearchTabHelper::VoiceSearchTabHelper(content::WebContents* contents)
17 : content::WebContentsObserver(contents) { 19 : content::WebContentsObserver(contents) {
20 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
18 gesture_requirement_for_playback_disabled_ = 21 gesture_requirement_for_playback_disabled_ =
19 base::CommandLine::ForCurrentProcess()->HasSwitch( 22 command_line->HasSwitch(switches::kIgnoreAutoplayRestrictionsForTests) ||
20 switches::kDisableGestureRequirementForMediaPlayback); 23 command_line->GetSwitchValueASCII(switches::kAutoplayPolicy) !=
24 switches::autoplay::kNoUserGestureRequiredPolicy;
21 } 25 }
22 26
23 VoiceSearchTabHelper::~VoiceSearchTabHelper() { 27 VoiceSearchTabHelper::~VoiceSearchTabHelper() {
24 } 28 }
25 29
26 void VoiceSearchTabHelper::NavigationEntryCommitted( 30 void VoiceSearchTabHelper::NavigationEntryCommitted(
27 const content::LoadCommittedDetails& load_details) { 31 const content::LoadCommittedDetails& load_details) {
28 // In the case where media autoplay has been disabled by default (e.g. in 32 // In the case where media autoplay has been disabled by default (e.g. in
29 // performance media tests) do not update it based on navigation changes. 33 // performance media tests) do not update it based on navigation changes.
30 if (gesture_requirement_for_playback_disabled_) 34 if (gesture_requirement_for_playback_disabled_)
31 return; 35 return;
32 36
33 content::RenderViewHost* host = web_contents()->GetRenderViewHost(); 37 content::RenderViewHost* host = web_contents()->GetRenderViewHost();
34 content::WebPreferences prefs = host->GetWebkitPreferences(); 38 content::WebPreferences prefs = host->GetWebkitPreferences();
35 39
36 bool gesture_required = 40 bool gesture_required =
37 !google_util::IsGoogleSearchUrl(web_contents()->GetLastCommittedURL()); 41 !google_util::IsGoogleSearchUrl(web_contents()->GetLastCommittedURL());
38 42
39 if (gesture_required != prefs.user_gesture_required_for_media_playback) { 43 if (gesture_required != prefs.user_gesture_required_for_media_playback) {
40 // TODO(chrishtr): this is wrong. user_gesture_required_for_media_playback 44 // TODO(chrishtr): this is wrong. user_gesture_required_for_media_playback
41 // will be reset the next time a preference changes. 45 // will be reset the next time a preference changes.
42 prefs.user_gesture_required_for_media_playback = gesture_required; 46 prefs.user_gesture_required_for_media_playback = gesture_required;
43 host->UpdateWebkitPreferences(prefs); 47 host->UpdateWebkitPreferences(prefs);
44 } 48 }
45 } 49 }
OLDNEW
« no previous file with comments | « chrome/browser/about_flags.cc ('k') | chrome/browser/flag_descriptions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698