Index: chrome/browser/managed_mode/managed_mode.h |
diff --git a/chrome/browser/managed_mode/managed_mode.h b/chrome/browser/managed_mode/managed_mode.h |
index f7d998a6d08479b0189c7de790d63d0a1e491a59..a079128b6f3513a433ddfcac8dd04962ef136a7d 100644 |
--- a/chrome/browser/managed_mode/managed_mode.h |
+++ b/chrome/browser/managed_mode/managed_mode.h |
@@ -11,9 +11,9 @@ |
#include "base/callback.h" |
#include "base/compiler_specific.h" |
+#include "base/gtest_prod_util.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/singleton.h" |
-#include "chrome/browser/extensions/management_policy.h" |
#include "chrome/browser/ui/browser_list_observer.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
@@ -28,23 +28,21 @@ class PrefServiceSimple; |
class PrefServiceSyncable; |
class Profile; |
-namespace policy{ |
+namespace policy { |
class URLBlacklist; |
} |
-// Managed mode allows one person to manage the Chrome experience for another |
-// person by pre-configuring and then locking a managed User profile. |
+// Managed mode locks the UI to a certain managed user profile, preventing the |
+// user from accessing other profiles. |
// The ManagedMode class provides methods to check whether the browser is in |
// managed mode, and to attempt to enter or leave managed mode. |
// Except where otherwise noted, this class should be used on the UI thread. |
class ManagedMode : public chrome::BrowserListObserver, |
- public extensions::ManagementPolicy::Provider, |
public content::NotificationObserver { |
public: |
typedef base::Callback<void(bool)> EnterCallback; |
static void RegisterPrefs(PrefServiceSimple* prefs); |
- static void RegisterUserPrefs(PrefServiceSyncable* prefs); |
// Initializes the singleton, setting the managed_profile_. Must be called |
// after g_browser_process and the LocalState have been created. |
@@ -56,51 +54,6 @@ class ManagedMode : public chrome::BrowserListObserver, |
static void EnterManagedMode(Profile* profile, const EnterCallback& callback); |
static void LeaveManagedMode(); |
- // Returns the URL filter for the IO thread, for filtering network requests |
- // (in ChromeNetworkDelegate). |
- // This method should only be called on the IO thread. |
- static const ManagedModeURLFilter* GetURLFilterForIOThread(); |
- |
- // Returns the URL filter for the UI thread, for filtering navigations and |
- // classifying sites in the history view. |
- // This method should only be called on the UI thread. |
- static const ManagedModeURLFilter* GetURLFilterForUIThread(); |
- |
- // The functions that handle manual whitelists use |url_pattern| or lists |
- // of "url patterns". An "url pattern" is a pattern in the format used by the |
- // policy::URLBlacklist filter. A description of the format used can be found |
- // here: http://dev.chromium.org/administrators/url-blacklist-filter-format. |
- // They all receive the |is_whitelist| parameter which dictates whether they |
- // act on the whitelist (for |is_whitelist| == true) or on the blacklist (for |
- // |is_whitelist| == false). |
- |
- // Checks if the |url_pattern| is in the manual whitelist. |
- static bool IsInManualList(const bool is_whitelist, |
- const std::string& url_pattern); |
- |
- // Appends |list| to the manual white/black list (according to |is_whitelist|) |
- // both in URL filter and in preferences. |
- static void AddToManualList(const bool is_whitelist, |
- const base::ListValue& list); |
- |
- // Removes |list| from the manual white/black list (according to |
- // |is_whitelist|) both in URL filter and in preferences. |
- static void RemoveFromManualList(const bool is_whitelist, |
- const base::ListValue& list); |
- |
- // Updates the whitelist and the blacklist from the prefs. |
- static void UpdateManualLists(); |
- |
- // Returns the profile blacklist. |
- static scoped_ptr<base::ListValue> GetBlacklist(); |
- |
- // ExtensionManagementPolicy::Provider implementation: |
- virtual std::string GetDebugPolicyProviderName() const OVERRIDE; |
- virtual bool UserMayLoad(const extensions::Extension* extension, |
- string16* error) const OVERRIDE; |
- virtual bool UserMayModifySettings(const extensions::Extension* extension, |
- string16* error) const OVERRIDE; |
- |
// chrome::BrowserListObserver implementation: |
virtual void OnBrowserAdded(Browser* browser) OVERRIDE; |
virtual void OnBrowserRemoved(Browser* browser) OVERRIDE; |
@@ -119,8 +72,6 @@ class ManagedMode : public chrome::BrowserListObserver, |
Profile* managed_profile_; |
private: |
- class URLFilterContext; |
- |
friend class Singleton<ManagedMode, LeakySingletonTraits<ManagedMode> >; |
friend struct DefaultSingletonTraits<ManagedMode>; |
FRIEND_TEST_ALL_PREFIXES(ExtensionApiTest, ManagedModeOnChange); |
@@ -132,16 +83,8 @@ class ManagedMode : public chrome::BrowserListObserver, |
virtual void InitImpl(Profile* profile); |
- // Internal implementation for ExtensionManagementPolicy::Delegate methods. |
- // If |error| is not NULL, it will be filled with an error message if the |
- // requested extension action (install, modify status, etc.) is not permitted. |
- bool ExtensionManagementPolicyImpl(string16* error) const; |
- |
void LeaveManagedModeImpl(); |
- ManagedModeURLFilter* GetURLFilterForIOThreadImpl(); |
- ManagedModeURLFilter* GetURLFilterForUIThreadImpl(); |
- |
void FinalizeEnter(bool result); |
// Platform-specific methods that confirm whether we can enter or leave |
@@ -158,43 +101,7 @@ class ManagedMode : public chrome::BrowserListObserver, |
// testing). |
virtual void SetInManagedMode(Profile* newly_managed_profile); |
- // Returns a list of all installed and enabled site lists in the current |
- // managed profile. |
- // This method should only be called if managed mode is active. |
- ScopedVector<ManagedModeSiteList> GetActiveSiteLists(); |
- |
- void OnDefaultFilteringBehaviorChanged(); |
- |
- void UpdateManualListsImpl(); |
- |
- // Returns a copy of the manual whitelist which is stored in each profile. |
- scoped_ptr<base::ListValue> GetWhitelist(); |
- |
- // The following functions use |is_whitelist| to select between the whitelist |
- // and the blacklist as the target of the function. If |is_whitelist| is true |
- // |url_pattern| is added to the whitelist, otherwise it is added to the |
- // blacklist. |
- |
- void RemoveFromManualListImpl(const bool is_whitelist, |
- const base::ListValue& whitelist); |
- |
- // Adds the |url_pattern| to the manual lists in the URL filter. This is used |
- // by AddToManualListImpl(). |
- void AddURLPatternToManualList(const bool is_whitelist, |
- const std::string& url_pattern); |
- |
- void AddToManualListImpl(const bool is_whitelist, |
- const base::ListValue& whitelist); |
- |
- bool IsInManualListImpl(const bool is_whitelist, |
- const std::string& url_pattern); |
- |
content::NotificationRegistrar registrar_; |
- scoped_ptr<PrefChangeRegistrar> pref_change_registrar_; |
- |
- scoped_ptr<URLFilterContext> io_url_filter_context_; |
- scoped_ptr<URLFilterContext> ui_url_filter_context_; |
- |
std::set<Browser*> browsers_to_close_; |
std::vector<EnterCallback> callbacks_; |