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

Side by Side Diff: chrome/browser/plugins/plugins_field_trial.cc

Issue 2285553002: [HBD] Gate the advertising of Flash on Site Engagement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tidying Created 4 years, 3 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
OLDNEW
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/plugins/plugins_field_trial.h" 5 #include "chrome/browser/plugins/plugins_field_trial.h"
6 6
7 #include "base/feature_list.h" 7 #include "base/feature_list.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "chrome/browser/engagement/site_engagement_service.h"
8 #include "chrome/common/chrome_features.h" 10 #include "chrome/common/chrome_features.h"
11 #include "components/content_settings/core/browser/host_content_settings_map.h"
12 #include "components/variations/variations_associated_data.h"
13
14 namespace {
15
16 // The default site engagement threshold to allow Flash to be presented as an
17 // available plugin.
18 const double kSiteEngagementThresholdForFlash = 1.0;
19
20 double GetSiteEngagementThresholdForFlash() {
21 double threshold = -1;
22 std::string param = variations::GetVariationParamValueByFeature(
23 features::kPreferHtmlOverPlugins,
24 PluginsFieldTrial::kSiteEngagementThresholdForFlashKey);
25 if (base::StringToDouble(param, &threshold) && threshold >= 0)
26 return threshold;
27 return kSiteEngagementThresholdForFlash;
28 }
29
30 } // namespace
31
32 // static
33 const char* PluginsFieldTrial::kSiteEngagementThresholdForFlashKey =
34 "engagement_threshold_for_flash";
9 35
10 // static 36 // static
11 ContentSetting PluginsFieldTrial::EffectiveContentSetting( 37 ContentSetting PluginsFieldTrial::EffectiveContentSetting(
12 ContentSettingsType type, 38 ContentSettingsType type,
13 ContentSetting setting) { 39 ContentSetting setting) {
14 if (type != CONTENT_SETTINGS_TYPE_PLUGINS || 40 if (type != CONTENT_SETTINGS_TYPE_PLUGINS ||
15 setting != ContentSetting::CONTENT_SETTING_ASK) { 41 setting != ContentSetting::CONTENT_SETTING_ASK) {
16 return setting; 42 return setting;
17 } 43 }
18 44
19 // For Plugins, ASK is obsolete. Show as BLOCK or, if PreferHtmlOverPlugins 45 // For Plugins, ASK is obsolete. Show as BLOCK or, if PreferHtmlOverPlugins
20 // feature is enabled, as DETECT_IMPORTANT_CONTENT to reflect actual behavior. 46 // feature is enabled, as DETECT_IMPORTANT_CONTENT to reflect actual behavior.
21 return base::FeatureList::IsEnabled(features::kPreferHtmlOverPlugins) 47 return base::FeatureList::IsEnabled(features::kPreferHtmlOverPlugins)
22 ? ContentSetting::CONTENT_SETTING_DETECT_IMPORTANT_CONTENT 48 ? ContentSetting::CONTENT_SETTING_DETECT_IMPORTANT_CONTENT
23 : ContentSetting::CONTENT_SETTING_BLOCK; 49 : ContentSetting::CONTENT_SETTING_BLOCK;
24 } 50 }
51
52 // static
53 bool PluginsFieldTrial::HasSufficientEngagementForFlash(
54 HostContentSettingsMap* settings,
55 const GURL& url) {
56 return SiteEngagementService::GetScoreFromSettings(settings, url) >=
57 GetSiteEngagementThresholdForFlash();
58 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698