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

Side by Side Diff: chrome/browser/policy/chrome_browser_policy_connector.cc

Issue 1071713004: Enable NPAPI if policy has plugin policies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix GN Created 5 years, 8 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 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/policy/chrome_browser_policy_connector.h" 5 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 scoped_ptr<DeviceManagementService::Configuration> configuration( 81 scoped_ptr<DeviceManagementService::Configuration> configuration(
82 new DeviceManagementServiceConfiguration( 82 new DeviceManagementServiceConfiguration(
83 BrowserPolicyConnector::GetDeviceManagementUrl())); 83 BrowserPolicyConnector::GetDeviceManagementUrl()));
84 scoped_ptr<DeviceManagementService> device_management_service( 84 scoped_ptr<DeviceManagementService> device_management_service(
85 new DeviceManagementService(configuration.Pass())); 85 new DeviceManagementService(configuration.Pass()));
86 device_management_service->ScheduleInitialization( 86 device_management_service->ScheduleInitialization(
87 kServiceInitializationStartupDelay); 87 kServiceInitializationStartupDelay);
88 88
89 BrowserPolicyConnector::Init( 89 BrowserPolicyConnector::Init(
90 local_state, request_context, device_management_service.Pass()); 90 local_state, request_context, device_management_service.Pass());
91
92 AppendExtraFlagsPerPolicy();
93 } 91 }
94 92
95 ConfigurationPolicyProvider* 93 ConfigurationPolicyProvider*
96 ChromeBrowserPolicyConnector::CreatePlatformProvider() { 94 ChromeBrowserPolicyConnector::CreatePlatformProvider() {
97 #if defined(OS_WIN) 95 #if defined(OS_WIN)
98 scoped_ptr<AsyncPolicyLoader> loader(PolicyLoaderWin::Create( 96 scoped_ptr<AsyncPolicyLoader> loader(PolicyLoaderWin::Create(
99 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE), 97 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
100 kRegistryChromePolicyKey)); 98 kRegistryChromePolicyKey));
101 return new AsyncPolicyProvider(GetSchemaRegistry(), loader.Pass()); 99 return new AsyncPolicyProvider(GetSchemaRegistry(), loader.Pass());
102 #elif defined(OS_MACOSX) 100 #elif defined(OS_MACOSX)
(...skipping 13 matching lines...) Expand all
116 } else { 114 } else {
117 return NULL; 115 return NULL;
118 } 116 }
119 #elif defined(OS_ANDROID) 117 #elif defined(OS_ANDROID)
120 return new PolicyProviderAndroid(); 118 return new PolicyProviderAndroid();
121 #else 119 #else
122 return NULL; 120 return NULL;
123 #endif 121 #endif
124 } 122 }
125 123
126 void ChromeBrowserPolicyConnector::AppendExtraFlagsPerPolicy() {
127 PolicyService* policy_service = GetPolicyService();
128 PolicyNamespace chrome_ns = PolicyNamespace(POLICY_DOMAIN_CHROME, "");
129 const PolicyMap& chrome_policy = policy_service->GetPolicies(chrome_ns);
130 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
131
132 if (command_line->HasSwitch(switches::kEnableNpapi))
133 return;
134
135 // The list of Plugin related policies that re-enable NPAPI. Remove once NPAPI
136 // is dead.
137 const std::string plugin_policies[] = { key::kEnabledPlugins,
138 key::kPluginsAllowedForUrls,
139 key::kPluginsBlockedForUrls,
140 key::kDisabledPluginsExceptions,
141 key::kDisabledPlugins };
142 for (auto policy : plugin_policies) {
143 if (chrome_policy.GetValue(policy)) {
144 command_line->AppendSwitch(switches::kEnableNpapi);
145 break;
146 }
147 }
148 }
149
150 } // namespace policy 124 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698