diff options
author | rhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 16:42:11 +0000 |
---|---|---|
committer | rhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-08 16:42:11 +0000 |
commit | 694a1c743ce43be5efefd96f24323396e04b694f (patch) | |
tree | 1665740c297457c335b2e4a859be1be2b056d5cd /chrome/browser/chromeos/net | |
parent | c43686a522ed78f5de92588491e4242fd259c283 (diff) | |
download | chromium_src-694a1c743ce43be5efefd96f24323396e04b694f.zip chromium_src-694a1c743ce43be5efefd96f24323396e04b694f.tar.gz chromium_src-694a1c743ce43be5efefd96f24323396e04b694f.tar.bz2 |
Fix debug crash caused by NetworkChangeNotifierChromeos.
- Convert NetworkChangeNotifier::NotifyObserversOfOnlineStateChange() to static.
- Remove ScopedRunnableMethodFactory member from NetworkChangeNotifierChromeos.
The problem is that ScopedRunnableMethodFactory is not thread-safe, so tasks created by it can only be posted to the current thread.
BUG=chromium-os:16197
TEST=none
Review URL: http://codereview.chromium.org/7009002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88346 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/net')
-rw-r--r-- | chrome/browser/chromeos/net/network_change_notifier_chromeos.cc | 5 | ||||
-rw-r--r-- | chrome/browser/chromeos/net/network_change_notifier_chromeos.h | 2 |
2 files changed, 2 insertions, 5 deletions
diff --git a/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc b/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc index afbc17d..b8c1dc9 100644 --- a/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc +++ b/chrome/browser/chromeos/net/network_change_notifier_chromeos.cc @@ -12,8 +12,7 @@ namespace chromeos { NetworkChangeNotifierChromeos::NetworkChangeNotifierChromeos() : has_active_network_(false), - connection_state_(chromeos::STATE_UNKNOWN), - ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) { + connection_state_(chromeos::STATE_UNKNOWN) { chromeos::NetworkLibrary* lib = chromeos::CrosLibrary::Get()->GetNetworkLibrary(); @@ -110,7 +109,7 @@ void NetworkChangeNotifierChromeos::OnNetworkChanged( if (is_online != was_online || is_portal != was_portal) { BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, - method_factory_.NewRunnableMethod( + NewRunnableFunction( &NetworkChangeNotifierChromeos::NotifyObserversOfOnlineStateChange)); } connection_state_ = new_connection_state; diff --git a/chrome/browser/chromeos/net/network_change_notifier_chromeos.h b/chrome/browser/chromeos/net/network_change_notifier_chromeos.h index 28a6d8c..4fa94b9 100644 --- a/chrome/browser/chromeos/net/network_change_notifier_chromeos.h +++ b/chrome/browser/chromeos/net/network_change_notifier_chromeos.h @@ -50,8 +50,6 @@ class NetworkChangeNotifierChromeos // Current active network's IP address. std::string ip_address_; - ScopedRunnableMethodFactory<NetworkChangeNotifierChromeos> method_factory_; - DISALLOW_COPY_AND_ASSIGN(NetworkChangeNotifierChromeos); }; |