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

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

Issue 8395044: Disable the Developer Tools when Javascript is disabled. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/configuration_policy_handler.h" 5 #include "chrome/browser/policy/configuration_policy_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1237 1237
1238 bool JavascriptPolicyHandler::CheckPolicySettings(const PolicyMap& policies, 1238 bool JavascriptPolicyHandler::CheckPolicySettings(const PolicyMap& policies,
1239 PolicyErrorMap* errors) { 1239 PolicyErrorMap* errors) {
1240 const Value* javascript_enabled = policies.Get(kPolicyJavascriptEnabled); 1240 const Value* javascript_enabled = policies.Get(kPolicyJavascriptEnabled);
1241 const Value* default_setting = policies.Get(kPolicyDefaultJavaScriptSetting); 1241 const Value* default_setting = policies.Get(kPolicyDefaultJavaScriptSetting);
1242 1242
1243 if (javascript_enabled && !javascript_enabled->IsType(Value::TYPE_BOOLEAN)) { 1243 if (javascript_enabled && !javascript_enabled->IsType(Value::TYPE_BOOLEAN)) {
1244 errors->AddError(kPolicyJavascriptEnabled, 1244 errors->AddError(kPolicyJavascriptEnabled,
1245 IDS_POLICY_TYPE_ERROR, 1245 IDS_POLICY_TYPE_ERROR,
1246 ValueTypeToString(Value::TYPE_BOOLEAN)); 1246 ValueTypeToString(Value::TYPE_BOOLEAN));
1247 javascript_enabled = NULL;
1248 } 1247 }
1249 1248
1250 if (default_setting && !default_setting->IsType(Value::TYPE_INTEGER)) { 1249 if (default_setting && !default_setting->IsType(Value::TYPE_INTEGER)) {
1251 errors->AddError(kPolicyDefaultJavaScriptSetting, 1250 errors->AddError(kPolicyDefaultJavaScriptSetting,
1252 IDS_POLICY_TYPE_ERROR, 1251 IDS_POLICY_TYPE_ERROR,
1253 ValueTypeToString(Value::TYPE_INTEGER)); 1252 ValueTypeToString(Value::TYPE_INTEGER));
1254 default_setting = NULL;
1255 } 1253 }
1256 1254
1257 bool enabled; 1255 if (javascript_enabled && default_setting) {
1258 int setting; 1256 errors->AddError(kPolicyJavascriptEnabled,
1259 if (javascript_enabled &&
1260 default_setting &&
1261 javascript_enabled->GetAsBoolean(&enabled) &&
1262 default_setting->GetAsInteger(&setting) &&
1263 !enabled &&
1264 setting != CONTENT_SETTING_BLOCK) {
1265 errors->AddError(kPolicyDefaultJavaScriptSetting,
1266 IDS_POLICY_OVERRIDDEN, 1257 IDS_POLICY_OVERRIDDEN,
1267 GetPolicyName(kPolicyJavascriptEnabled)); 1258 GetPolicyName(kPolicyDefaultJavaScriptSetting));
1268 } 1259 }
1260
1269 return true; 1261 return true;
1270 } 1262 }
1271 1263
1272 void JavascriptPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, 1264 void JavascriptPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
1273 PrefValueMap* prefs) { 1265 PrefValueMap* prefs) {
1274 const Value* javascript_enabled = policies.Get(kPolicyJavascriptEnabled); 1266 int setting = CONTENT_SETTING_DEFAULT;
1275 const Value* default_setting = policies.Get(kPolicyDefaultJavaScriptSetting); 1267 const Value* default_setting = policies.Get(kPolicyDefaultJavaScriptSetting);
1276 1268
1277 int setting = CONTENT_SETTING_DEFAULT; 1269 if (default_setting) {
1278 if (default_setting)
1279 default_setting->GetAsInteger(&setting); 1270 default_setting->GetAsInteger(&setting);
1280 1271 } else {
1281 bool enabled = true; 1272 const Value* javascript_enabled = policies.Get(kPolicyJavascriptEnabled);
1282 if (javascript_enabled && javascript_enabled->GetAsBoolean(&enabled)) { 1273 bool enabled = true;
1283 prefs->SetValue(prefs::kWebKitJavascriptEnabled, 1274 if (javascript_enabled &&
1284 javascript_enabled->DeepCopy()); 1275 javascript_enabled->GetAsBoolean(&enabled) &&
1285 // Force the javascript content setting to BLOCK when this policy disables 1276 !enabled) {
1286 // javascript globally.
1287 if (!enabled)
1288 setting = CONTENT_SETTING_BLOCK; 1277 setting = CONTENT_SETTING_BLOCK;
1278 }
1289 } 1279 }
1290 1280
1291 if (setting != CONTENT_SETTING_DEFAULT) 1281 if (setting != CONTENT_SETTING_DEFAULT) {
1292 prefs->SetValue(prefs::kManagedDefaultJavaScriptSetting, 1282 prefs->SetValue(prefs::kManagedDefaultJavaScriptSetting,
1293 Value::CreateIntegerValue(setting)); 1283 Value::CreateIntegerValue(setting));
1284 }
1294 } 1285 }
1295 1286
1296 1287
1297 } // namespace 1288 } // namespace
1298 1289
1299 1290
1300 // ConfigurationPolicyHandler implementation ----------------------------------- 1291 // ConfigurationPolicyHandler implementation -----------------------------------
1301 1292
1302 // static 1293 // static
1303 ConfigurationPolicyHandler::HandlerList* 1294 ConfigurationPolicyHandler::HandlerList*
(...skipping 17 matching lines...) Expand all
1321 list->push_back(new SyncPolicyHandler()); 1312 list->push_back(new SyncPolicyHandler());
1322 1313
1323 #if !defined(OS_CHROMEOS) 1314 #if !defined(OS_CHROMEOS)
1324 list->push_back(new DownloadDirPolicyHandler()); 1315 list->push_back(new DownloadDirPolicyHandler());
1325 #endif // !defined(OS_CHROME0S) 1316 #endif // !defined(OS_CHROME0S)
1326 1317
1327 return list; 1318 return list;
1328 } 1319 }
1329 1320
1330 } // namespace policy 1321 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698