summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 19:21:49 +0000
committerachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 19:21:49 +0000
commit3cbae79b076f6cff6fcacbae93e87f5872a11c58 (patch)
treece03cf4a293e7bb31f1fa93cf3176f0f4ada9cef /chrome/browser
parent13f3f595723af07d2de2fb184157fffaefa5a438 (diff)
downloadchromium_src-3cbae79b076f6cff6fcacbae93e87f5872a11c58.zip
chromium_src-3cbae79b076f6cff6fcacbae93e87f5872a11c58.tar.gz
chromium_src-3cbae79b076f6cff6fcacbae93e87f5872a11c58.tar.bz2
Add gdata-related enterprise policy preferences.
* Add preferences kDisableGData, kDisableGDataOverCellular, kDisableGDataHostedFiles, and register/handle these. * CommandLinePrefStore is used to set kDisableGData preference based on switch. * Add GDataDisabled and GDataDisabledOverCellular to policy template, add to simple pref-policy handler list. * Cros specific tests for new gdata policies. BUG=chromium-os:27168 TEST=--disable-gdata works as expected. GDataDisabled in /etc/chromium/policies/managed/test_policy.json works as expected. Review URL: https://chromiumcodereview.appspot.com/9719008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128025 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/chromeos/extensions/file_browser_private_api.cc11
-rw-r--r--chrome/browser/chromeos/preferences.cc14
-rw-r--r--chrome/browser/chromeos/preferences.h5
-rw-r--r--chrome/browser/policy/configuration_policy_handler_list.cc6
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store_unittest.cc9
-rw-r--r--chrome/browser/prefs/command_line_pref_store.cc3
6 files changed, 40 insertions, 8 deletions
diff --git a/chrome/browser/chromeos/extensions/file_browser_private_api.cc b/chrome/browser/chromeos/extensions/file_browser_private_api.cc
index 858d649..349b00d 100644
--- a/chrome/browser/chromeos/extensions/file_browser_private_api.cc
+++ b/chrome/browser/chromeos/extensions/file_browser_private_api.cc
@@ -4,9 +4,10 @@
#include "chrome/browser/chromeos/extensions/file_browser_private_api.h"
+#include <utility>
+
#include "base/base64.h"
#include "base/bind.h"
-#include "base/command_line.h"
#include "base/logging.h"
#include "base/memory/singleton.h"
#include "base/memory/weak_ptr.h"
@@ -30,10 +31,10 @@
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/views/select_file_dialog_extension.h"
#include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
-#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_icon_set.h"
#include "chrome/common/extensions/file_browser_handler.h"
+#include "chrome/common/pref_names.h"
#include "content/public/browser/child_process_security_policy.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
@@ -430,7 +431,7 @@ void RequestLocalFileSystemFunction::RequestOnFileThread(
const GURL& source_url, int child_id) {
GURL origin_url = source_url.GetOrigin();
BrowserContext::GetFileSystemContext(profile())->OpenFileSystem(
- origin_url, fileapi::kFileSystemTypeExternal, false, // create
+ origin_url, fileapi::kFileSystemTypeExternal, false, // create
LocalFileSystemCallbackDispatcher::CreateCallback(
this,
profile(),
@@ -1535,8 +1536,8 @@ bool FileDialogStringsFunction::RunImpl() {
ChromeURLDataManager::DataSource::SetFontAndTextDirection(dict);
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableGData))
- dict->SetString("ENABLE_GDATA", "1");
+ if (!profile_->GetPrefs()->GetBoolean(prefs::kDisableGData))
+ dict->SetString("ENABLE_GDATA", "1");
return true;
}
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index 4641710..9b1663b 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -96,6 +96,15 @@ void Preferences::RegisterUserPrefs(PrefService* prefs) {
prefs->RegisterBooleanPref(prefs::kUse24HourClock,
base::GetHourClockType() == base::k24HourClock,
PrefService::SYNCABLE_PREF);
+ prefs->RegisterBooleanPref(prefs::kDisableGData,
+ false,
+ PrefService::SYNCABLE_PREF);
+ prefs->RegisterBooleanPref(prefs::kDisableGDataOverCellular,
+ true,
+ PrefService::SYNCABLE_PREF);
+ prefs->RegisterBooleanPref(prefs::kDisableGDataHostedFiles,
+ false,
+ PrefService::SYNCABLE_PREF);
// We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod
// because they're just used to track the logout state of the device.
prefs->RegisterStringPref(prefs::kLanguageCurrentInputMethod,
@@ -240,6 +249,11 @@ void Preferences::Init(PrefService* prefs) {
accessibility_enabled_.Init(prefs::kSpokenFeedbackEnabled, prefs, this);
sensitivity_.Init(prefs::kTouchpadSensitivity, prefs, this);
use_24hour_clock_.Init(prefs::kUse24HourClock, prefs, this);
+ disable_gdata_.Init(prefs::kDisableGData, prefs, this);
+ disable_gdata_over_cellular_.Init(prefs::kDisableGDataOverCellular,
+ prefs, this);
+ disable_gdata_hosted_files_.Init(prefs::kDisableGDataHostedFiles,
+ prefs, this);
primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight,
prefs, this);
hotkey_next_engine_in_menu_.Init(
diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h
index ee5aeb5..f7b8844 100644
--- a/chrome/browser/chromeos/preferences.h
+++ b/chrome/browser/chromeos/preferences.h
@@ -92,8 +92,11 @@ class Preferences : public content::NotificationObserver {
BooleanPrefMember accessibility_enabled_;
IntegerPrefMember speed_factor_;
IntegerPrefMember sensitivity_;
- BooleanPrefMember use_24hour_clock_;
BooleanPrefMember primary_mouse_button_right_;
+ BooleanPrefMember use_24hour_clock_;
+ BooleanPrefMember disable_gdata_;
+ BooleanPrefMember disable_gdata_over_cellular_;
+ BooleanPrefMember disable_gdata_hosted_files_;
// Input method preferences.
StringPrefMember hotkey_next_engine_in_menu_;
diff --git a/chrome/browser/policy/configuration_policy_handler_list.cc b/chrome/browser/policy/configuration_policy_handler_list.cc
index 4b7a830..c5b33d7 100644
--- a/chrome/browser/policy/configuration_policy_handler_list.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list.cc
@@ -296,6 +296,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
{ key::kChromeOsReleaseChannel,
prefs::kChromeOsReleaseChannel,
Value::TYPE_STRING },
+ { key::kGDataDisabled,
+ prefs::kDisableGData,
+ Value::TYPE_BOOLEAN },
+ { key::kGDataDisabledOverCellular,
+ prefs::kDisableGDataOverCellular,
+ Value::TYPE_BOOLEAN },
#endif // defined(OS_CHROMEOS)
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
index db8f45d..61526c2 100644
--- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
+++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
@@ -111,7 +111,8 @@ TEST_P(ConfigurationPolicyPrefStoreStringTest, GetDefault) {
TEST_P(ConfigurationPolicyPrefStoreStringTest, SetValue) {
provider_.AddMandatoryPolicy(GetParam().policy_name(),
- base::Value::CreateStringValue("http://chromium.org"));
+ base::Value::CreateStringValue(
+ "http://chromium.org"));
store_->OnUpdatePolicy(&provider_);
const base::Value* value = NULL;
EXPECT_EQ(PrefStore::READ_OK,
@@ -274,7 +275,11 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyPrefStoreBooleanTest,
testing::Values(
PolicyAndPref(key::kChromeOsLockOnIdleSuspend,
- prefs::kEnableScreenLock)));
+ prefs::kEnableScreenLock),
+ PolicyAndPref(key::kGDataDisabled,
+ prefs::kDisableGData),
+ PolicyAndPref(key::kGDataDisabledOverCellular,
+ prefs::kDisableGDataOverCellular)));
#endif // defined(OS_CHROMEOS)
// Test cases for integer-valued policy settings.
diff --git a/chrome/browser/prefs/command_line_pref_store.cc b/chrome/browser/prefs/command_line_pref_store.cc
index 6200b52..ba83704 100644
--- a/chrome/browser/prefs/command_line_pref_store.cc
+++ b/chrome/browser/prefs/command_line_pref_store.cc
@@ -59,6 +59,9 @@ const CommandLinePrefStore::BooleanSwitchToPreferenceMapEntry
#else
{ switches::kEnablePrintPreview, prefs::kPrintPreviewDisabled, false },
#endif
+#if defined(OS_CHROMEOS)
+ { switches::kDisableGData, prefs::kDisableGData, true },
+#endif
};
const CommandLinePrefStore::IntegerSwitchToPreferenceMapEntry