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
3 // found in the LICENSE file.
5 #include "chrome/browser/plugins/plugins_field_trial.h"
7 #include "base/command_line.h"
8 #include "base/metrics/field_trial.h"
9 #include "chrome/common/chrome_switches.h"
11 ContentSetting
PluginsFieldTrial::EffectiveContentSetting(
12 ContentSettingsType type
,
13 ContentSetting setting
) {
14 if (type
!= CONTENT_SETTINGS_TYPE_PLUGINS
)
17 // For Plugins, ASK is obsolete. Show as BLOCK to reflect actual behavior.
18 if (setting
== ContentSetting::CONTENT_SETTING_ASK
)
19 return ContentSetting::CONTENT_SETTING_BLOCK
;
21 // For Plugins, allow flag to override displayed content setting.
22 if (setting
== ContentSetting::CONTENT_SETTING_ALLOW
&&
23 IsForcePluginPowerSaverEnabled()) {
24 return ContentSetting::CONTENT_SETTING_DETECT_IMPORTANT_CONTENT
;
30 bool PluginsFieldTrial::IsForcePluginPowerSaverEnabled() {
31 const base::CommandLine
* cl
= base::CommandLine::ForCurrentProcess();
32 if (cl
->HasSwitch(switches::kDisablePluginPowerSaver
))
34 if (cl
->HasSwitch(switches::kEnablePluginPowerSaver
))
37 std::string group_name
=
38 base::FieldTrialList::FindFullName("ForcePluginPowerSaver");
39 return !group_name
.empty() && group_name
!= "Disabled";