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

Unified Diff: chrome/browser/extensions/extension_preference_helpers.cc

Issue 10008076: Add onFontNameChanged event to Font Settings API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_preference_helpers.cc
diff --git a/chrome/browser/extensions/extension_preference_helpers.cc b/chrome/browser/extensions/extension_preference_helpers.cc
index 55bbe1b179844306f0b109149f0107cf5d43a703..a8a2c54eca8ef59084bbb16120d4403ab2c7f179 100644
--- a/chrome/browser/extensions/extension_preference_helpers.cc
+++ b/chrome/browser/extensions/extension_preference_helpers.cc
@@ -1,15 +1,24 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/extension_preference_helpers.h"
+#include "chrome/browser/extensions/extension_prefs.h"
+#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/profiles/profile.h"
+
namespace {
const char kIncognitoPersistent[] = "incognito_persistent";
const char kIncognitoSessionOnly[] = "incognito_session_only";
const char kRegular[] = "regular";
+const char kNotControllable[] = "not_controllable";
+const char kControlledByOtherExtensions[] = "controlled_by_other_extensions";
+const char kControllableByThisExtension[] = "controllable_by_this_extension";
+const char kControlledByThisExtension[] = "controlled_by_this_extension";
+
} // namespace
namespace extension_preference_helpers {
@@ -26,4 +35,28 @@ bool StringToScope(const std::string& s, ExtensionPrefsScope* scope) {
return true;
}
+const char* GetLevelOfControl(
+ Profile* profile,
+ const std::string& extension_id,
+ const std::string& browser_pref,
+ bool incognito) {
+ PrefService* prefs = incognito ? profile->GetOffTheRecordPrefs()
+ : profile->GetPrefs();
+ const PrefService::Preference* pref =
+ prefs->FindPreference(browser_pref.c_str());
+ CHECK(pref);
+ ExtensionPrefs* ep = profile->GetExtensionService()->extension_prefs();
+
+ if (!pref->IsExtensionModifiable())
+ return kNotControllable;
+
+ if (ep->DoesExtensionControlPref(extension_id, browser_pref, incognito))
+ return kControlledByThisExtension;
+
+ if (ep->CanExtensionControlPref(extension_id, browser_pref, incognito))
+ return kControllableByThisExtension;
+
+ return kControlledByOtherExtensions;
+}
+
} // namespace extension_preference_helpers

Powered by Google App Engine
This is Rietveld 408576698