summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranand.ratn <anand.ratn@samsung.com>2014-09-21 21:26:10 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-22 04:26:21 +0000
commitd35b99c4d56ee98508103fc8a832f57f02eb154a (patch)
tree1c868318c8d3fb63f882b5424f0f5acaa042db66
parentb1400bfbfb079bf3dfeb9de9d58f651059f98e1b (diff)
downloadchromium_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}
-rw-r--r--chrome/browser/chromeos/login/ui/login_display_host_impl.cc4
-rw-r--r--chrome/browser/chromeos/login/ui/login_display_host_impl.h4
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc4
-rw-r--r--chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h4
-rw-r--r--chrome/browser/chromeos/policy/app_pack_updater.cc6
-rw-r--r--chrome/browser/chromeos/policy/app_pack_updater.h4
-rw-r--r--chrome/browser/chromeos/policy/device_status_collector.cc4
-rw-r--r--chrome/browser/chromeos/policy/device_status_collector.h4
-rw-r--r--chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.cc14
-rw-r--r--chrome/browser/chromeos/policy/user_cloud_policy_store_chromeos.h4
-rw-r--r--chrome/browser/chromeos/settings/session_manager_operation.cc4
-rw-r--r--chrome/browser/chromeos/settings/session_manager_operation.h4
-rw-r--r--chrome/browser/chromeos/system/automatic_reboot_manager.h4
-rw-r--r--chrome/browser/chromeos/ui/idle_logout_dialog_view.h4
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);
};