diff options
author | anand.ratn <anand.ratn@samsung.com> | 2014-09-21 21:26:10 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-22 04:26:21 +0000 |
commit | d35b99c4d56ee98508103fc8a832f57f02eb154a (patch) | |
tree | 1c868318c8d3fb63f882b5424f0f5acaa042db66 | |
parent | b1400bfbfb079bf3dfeb9de9d58f651059f98e1b (diff) | |
download | chromium_src-d35b99c4d56ee98508103fc8a832f57f02eb154a.zip chromium_src-d35b99c4d56ee98508103fc8a832f57f02eb154a.tar.gz chromium_src-d35b99c4d56ee98508103fc8a832f57f02eb154a.tar.bz2 |
Declaring the weak_ptr_factory in proper order.
Cleaning up weak_ptr_factory destruction order in "src/chrome/browser/chromeos"
module. WeakPtrFactory should remain the last member so it'll be destroyed and
invalidate its weak pointers before any other members are destroyed.
BUG=303818
Review URL: https://codereview.chromium.org/572873002
Cr-Commit-Position: refs/heads/master@{#295923}
14 files changed, 34 insertions, 34 deletions
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc index ef282c4..d4b3035 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc +++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc @@ -283,10 +283,10 @@ LoginDisplayHostImpl::LoginDisplayHostImpl(const gfx::Rect& background_bounds) crash_count_(0), restore_path_(RESTORE_UNKNOWN), finalize_animation_type_(ANIMATION_WORKSPACE), - animation_weak_ptr_factory_(this), startup_sound_played_(false), startup_sound_honors_spoken_feedback_(false), - is_observing_keyboard_(false) { + is_observing_keyboard_(false), + animation_weak_ptr_factory_(this) { DBusThreadManager::Get()->GetSessionManagerClient()->AddObserver(this); CrasAudioHandler::Get()->AddAudioObserver(this); if (keyboard::KeyboardController::GetInstance()) { diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.h b/chrome/browser/chromeos/login/ui/login_display_host_impl.h index af510c6..06b809e 100644 --- a/chrome/browser/chromeos/login/ui/login_display_host_impl.h +++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.h @@ -298,8 +298,6 @@ class LoginDisplayHostImpl : public LoginDisplayHost, FinalizeAnimationType finalize_animation_type_; - base::WeakPtrFactory<LoginDisplayHostImpl> animation_weak_ptr_factory_; - // Time when login prompt visible signal is received. Used for // calculations of delay before startup sound. base::TimeTicks login_prompt_visible_time_; @@ -323,6 +321,8 @@ class LoginDisplayHostImpl : public LoginDisplayHost, scoped_ptr<aura::Window> login_screen_container_; #endif + base::WeakPtrFactory<LoginDisplayHostImpl> animation_weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(LoginDisplayHostImpl); }; diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc index 3430f86..d7fd9d1 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc @@ -471,8 +471,8 @@ WallpaperManager::WallpaperManager() : loaded_wallpapers_(0), command_line_for_testing_(NULL), should_cache_wallpaper_(false), - weak_factory_(this), - pending_inactive_(NULL) { + pending_inactive_(NULL), + weak_factory_(this) { SetDefaultWallpaperPathsFromCommandLine( base::CommandLine::ForCurrentProcess()); registrar_.Add(this, diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h index 6a23cdb..b76e305 100644 --- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h +++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h @@ -591,8 +591,6 @@ class WallpaperManager: public content::NotificationObserver { scoped_ptr<CrosSettings::ObserverSubscription> show_user_name_on_signin_subscription_; - base::WeakPtrFactory<WallpaperManager> weak_factory_; - content::NotificationRegistrar registrar_; ObserverList<Observer> observers_; @@ -624,6 +622,8 @@ class WallpaperManager: public content::NotificationObserver { // Current decoded default image is stored in cache. scoped_ptr<user_manager::UserImage> default_wallpaper_image_; + base::WeakPtrFactory<WallpaperManager> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(WallpaperManager); }; diff --git a/chrome/browser/chromeos/policy/app_pack_updater.cc b/chrome/browser/chromeos/policy/app_pack_updater.cc index 7e2508c..a327d0e 100644 --- a/chrome/browser/chromeos/policy/app_pack_updater.cc +++ b/chrome/browser/chromeos/policy/app_pack_updater.cc @@ -62,8 +62,7 @@ class AppPackExternalLoader AppPackUpdater::AppPackUpdater(net::URLRequestContextGetter* request_context, EnterpriseInstallAttributes* install_attributes) - : weak_ptr_factory_(this), - created_extension_loader_(false), + : created_extension_loader_(false), install_attributes_(install_attributes), external_cache_(base::FilePath(kAppPackCacheDir), request_context, @@ -74,7 +73,8 @@ AppPackUpdater::AppPackUpdater(net::URLRequestContextGetter* request_context, base::SequencedWorkerPool::SKIP_ON_SHUTDOWN), this, false, - false) { + false), + weak_ptr_factory_(this) { app_pack_subscription_ = chromeos::CrosSettings::Get()->AddSettingsObserver( chromeos::kAppPack, base::Bind(&AppPackUpdater::AppPackChanged, base::Unretained(this))); diff --git a/chrome/browser/chromeos/policy/app_pack_updater.h b/chrome/browser/chromeos/policy/app_pack_updater.h index 54b4374..2b83f54 100644 --- a/chrome/browser/chromeos/policy/app_pack_updater.h +++ b/chrome/browser/chromeos/policy/app_pack_updater.h @@ -81,8 +81,6 @@ class AppPackUpdater : public chromeos::ExternalCache::Delegate { // appropriate. void SetScreenSaverPath(const base::FilePath& path); - base::WeakPtrFactory<AppPackUpdater> weak_ptr_factory_; - // The extension ID and path of the CRX file of the screen saver extension, // if it is configured by the policy. Otherwise these fields are empty. std::string screen_saver_id_; @@ -106,6 +104,8 @@ class AppPackUpdater : public chromeos::ExternalCache::Delegate { scoped_ptr<chromeos::CrosSettings::ObserverSubscription> app_pack_subscription_; + base::WeakPtrFactory<AppPackUpdater> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(AppPackUpdater); }; diff --git a/chrome/browser/chromeos/policy/device_status_collector.cc b/chrome/browser/chromeos/policy/device_status_collector.cc index 377c827..6798414 100644 --- a/chrome/browser/chromeos/policy/device_status_collector.cc +++ b/chrome/browser/chromeos/policy/device_status_collector.cc @@ -88,13 +88,13 @@ DeviceStatusCollector::DeviceStatusCollector( duration_for_last_reported_day_(0), geolocation_update_in_progress_(false), statistics_provider_(provider), - weak_factory_(this), report_version_info_(false), report_activity_times_(false), report_boot_mode_(false), report_location_(false), report_network_interfaces_(false), - report_users_(false) { + report_users_(false), + weak_factory_(this) { if (location_update_requester) location_update_requester_ = *location_update_requester; idle_poll_timer_.Start(FROM_HERE, diff --git a/chrome/browser/chromeos/policy/device_status_collector.h b/chrome/browser/chromeos/policy/device_status_collector.h index d4f70fe..7a77b0f 100644 --- a/chrome/browser/chromeos/policy/device_status_collector.h +++ b/chrome/browser/chromeos/policy/device_status_collector.h @@ -165,8 +165,6 @@ class DeviceStatusCollector : public CloudPolicyClient::StatusProvider { chromeos::CrosSettings* cros_settings_; - base::WeakPtrFactory<DeviceStatusCollector> weak_factory_; - // TODO(bartfab): Remove this once crbug.com/125931 is addressed and a proper // way to mock geolocation exists. LocationUpdateRequester location_update_requester_; @@ -195,6 +193,8 @@ class DeviceStatusCollector : public CloudPolicyClient::StatusProvider { scoped_ptr<chromeos::CrosSettings::ObserverSubscription> users_subscription_; + base::WeakPtrFactory<DeviceStatusCollector> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(DeviceStatusCollector); }; diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.cc index cb8e25b..2f2f86f 100644 --- a/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.cc +++ b/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.cc @@ -92,8 +92,6 @@ class LegacyPolicyCacheLoader : public UserPolicyTokenLoader::Delegate, static CloudPolicyStore::Status TranslateLoadResult( UserPolicyDiskCache::LoadResult result); - base::WeakPtrFactory<LegacyPolicyCacheLoader> weak_factory_; - scoped_refptr<UserPolicyTokenLoader> token_loader_; scoped_refptr<UserPolicyDiskCache> policy_cache_; @@ -105,6 +103,8 @@ class LegacyPolicyCacheLoader : public UserPolicyTokenLoader::Delegate, Callback callback_; + base::WeakPtrFactory<LegacyPolicyCacheLoader> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(LegacyPolicyCacheLoader); }; @@ -112,9 +112,9 @@ LegacyPolicyCacheLoader::LegacyPolicyCacheLoader( const base::FilePath& token_cache_file, const base::FilePath& policy_cache_file, scoped_refptr<base::SequencedTaskRunner> background_task_runner) - : weak_factory_(this), - has_policy_(false), - status_(CloudPolicyStore::STATUS_OK) { + : has_policy_(false), + status_(CloudPolicyStore::STATUS_OK), + weak_factory_(this) { token_loader_ = new UserPolicyTokenLoader(weak_factory_.GetWeakPtr(), token_cache_file, background_task_runner); @@ -186,13 +186,13 @@ UserCloudPolicyStoreChromeOS::UserCloudPolicyStoreChromeOS( session_manager_client_(session_manager_client), username_(username), user_policy_key_dir_(user_policy_key_dir), - weak_factory_(this), legacy_cache_dir_(legacy_token_cache_file.DirName()), legacy_loader_(new LegacyPolicyCacheLoader(legacy_token_cache_file, legacy_policy_cache_file, background_task_runner)), legacy_caches_loaded_(false), - policy_key_loaded_(false) {} + policy_key_loaded_(false), + weak_factory_(this) {} UserCloudPolicyStoreChromeOS::~UserCloudPolicyStoreChromeOS() {} diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h b/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h index 06f71d5..65d3832 100644 --- a/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h +++ b/chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h @@ -128,8 +128,6 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { const std::string username_; base::FilePath user_policy_key_dir_; - base::WeakPtrFactory<UserCloudPolicyStoreChromeOS> weak_factory_; - // TODO(mnissler): Remove all the legacy policy support members below after // the number of pre-M20 clients drops back to zero. base::FilePath legacy_cache_dir_; @@ -140,6 +138,8 @@ class UserCloudPolicyStoreChromeOS : public UserCloudPolicyStoreBase { base::FilePath policy_key_path_; std::string policy_key_; + base::WeakPtrFactory<UserCloudPolicyStoreChromeOS> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(UserCloudPolicyStoreChromeOS); }; diff --git a/chrome/browser/chromeos/settings/session_manager_operation.cc b/chrome/browser/chromeos/settings/session_manager_operation.cc index 69373f2..8947c37 100644 --- a/chrome/browser/chromeos/settings/session_manager_operation.cc +++ b/chrome/browser/chromeos/settings/session_manager_operation.cc @@ -29,10 +29,10 @@ namespace chromeos { SessionManagerOperation::SessionManagerOperation(const Callback& callback) : session_manager_client_(NULL), - weak_factory_(this), callback_(callback), force_key_load_(false), - is_loading_(false) {} + is_loading_(false), + weak_factory_(this) {} SessionManagerOperation::~SessionManagerOperation() {} diff --git a/chrome/browser/chromeos/settings/session_manager_operation.h b/chrome/browser/chromeos/settings/session_manager_operation.h index 66ba738..194f9fe 100644 --- a/chrome/browser/chromeos/settings/session_manager_operation.h +++ b/chrome/browser/chromeos/settings/session_manager_operation.h @@ -117,8 +117,6 @@ class SessionManagerOperation { SessionManagerClient* session_manager_client_; scoped_refptr<ownership::OwnerKeyUtil> owner_key_util_; - base::WeakPtrFactory<SessionManagerOperation> weak_factory_; - Callback callback_; scoped_refptr<ownership::PublicKey> public_key_; @@ -129,6 +127,8 @@ class SessionManagerOperation { scoped_ptr<enterprise_management::PolicyData> policy_data_; scoped_ptr<enterprise_management::ChromeDeviceSettingsProto> device_settings_; + base::WeakPtrFactory<SessionManagerOperation> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(SessionManagerOperation); }; diff --git a/chrome/browser/chromeos/system/automatic_reboot_manager.h b/chrome/browser/chromeos/system/automatic_reboot_manager.h index 1be4e2d..fba9cc7 100644 --- a/chrome/browser/chromeos/system/automatic_reboot_manager.h +++ b/chrome/browser/chromeos/system/automatic_reboot_manager.h @@ -164,10 +164,10 @@ class AutomaticRebootManager : public PowerManagerClient::Observer, scoped_ptr<base::OneShotTimer<AutomaticRebootManager> > grace_start_timer_; scoped_ptr<base::OneShotTimer<AutomaticRebootManager> > grace_end_timer_; - base::WeakPtrFactory<AutomaticRebootManager> weak_ptr_factory_; - ObserverList<AutomaticRebootManagerObserver, true> observers_; + base::WeakPtrFactory<AutomaticRebootManager> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(AutomaticRebootManager); }; diff --git a/chrome/browser/chromeos/ui/idle_logout_dialog_view.h b/chrome/browser/chromeos/ui/idle_logout_dialog_view.h index da6f4d9..afca216 100644 --- a/chrome/browser/chromeos/ui/idle_logout_dialog_view.h +++ b/chrome/browser/chromeos/ui/idle_logout_dialog_view.h @@ -77,10 +77,10 @@ class IdleLogoutDialogView : public views::DialogDelegateView { base::RepeatingTimer<IdleLogoutDialogView> timer_; - base::WeakPtrFactory<IdleLogoutDialogView> weak_ptr_factory_; - static IdleLogoutSettingsProvider* provider_; + base::WeakPtrFactory<IdleLogoutDialogView> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(IdleLogoutDialogView); }; |