X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fui%2Fwebui%2Foptions%2Fmanaged_user_import_handler.h;h=55dbd9c3444381521971fad8634a503447453007;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=dafb416d7f9f7f8b3e460554933817eda75b9d8d;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/ui/webui/options/managed_user_import_handler.h b/src/chrome/browser/ui/webui/options/managed_user_import_handler.h index dafb416..55dbd9c 100644 --- a/src/chrome/browser/ui/webui/options/managed_user_import_handler.h +++ b/src/chrome/browser/ui/webui/options/managed_user_import_handler.h @@ -5,7 +5,9 @@ #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_MANAGED_USER_IMPORT_HANDLER_H_ #define CHROME_BROWSER_UI_WEBUI_OPTIONS_MANAGED_USER_IMPORT_HANDLER_H_ +#include "base/callback_list.h" #include "base/memory/weak_ptr.h" +#include "chrome/browser/managed_mode/managed_user_sync_service_observer.h" #include "chrome/browser/ui/webui/options/options_ui.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -18,8 +20,13 @@ class ListValue; namespace options { // Handler for the 'import existing managed user' dialog. -class ManagedUserImportHandler : public OptionsPageUIHandler { +class ManagedUserImportHandler : public OptionsPageUIHandler, + public content::NotificationObserver, + public ManagedUserSyncServiceObserver { public: + typedef base::CallbackList + CallbackList; + ManagedUserImportHandler(); virtual ~ManagedUserImportHandler(); @@ -35,7 +42,18 @@ class ManagedUserImportHandler : public OptionsPageUIHandler { virtual void Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; + + // ManagedUserSyncServiceObserver implementation. + virtual void OnManagedUserAcknowledged(const std::string& managed_user_id) + OVERRIDE {} + virtual void OnManagedUsersSyncingStopped() OVERRIDE {} + virtual void OnManagedUsersChanged() OVERRIDE; + private: + // Clears the cached list of managed users and fetches the new list of managed + // users. + void FetchManagedUsers(); + // Callback for the "requestManagedUserImportUpdate" message. // Checks the sign-in status of the custodian and accordingly // sends an update to the WebUI. The update can be to show/hide @@ -61,6 +79,13 @@ class ManagedUserImportHandler : public OptionsPageUIHandler { bool IsAccountConnected() const; bool HasAuthError() const; + // Called when a managed user shared setting is changed. If the avatar was + // changed, FetchManagedUsers() is called. + void OnSharedSettingChanged(const std::string& managed_user_id, + const std::string& key); + + scoped_ptr subscription_; + base::WeakPtrFactory weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(ManagedUserImportHandler);