summaryrefslogtreecommitdiffstats
path: root/remoting/host/remoting_me2me_host.cc
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-17 20:30:11 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-17 20:30:11 +0000
commit8144871ca2fb49c62c3a77aa95a3045e3c7a9c99 (patch)
treebbc3ca14e2daf8f0cbc0877b7ee81a7275da7710 /remoting/host/remoting_me2me_host.cc
parentf47a5b90a630194445e4c5cafc331acdddcc0778 (diff)
downloadchromium_src-8144871ca2fb49c62c3a77aa95a3045e3c7a9c99.zip
chromium_src-8144871ca2fb49c62c3a77aa95a3045e3c7a9c99.tar.gz
chromium_src-8144871ca2fb49c62c3a77aa95a3045e3c7a9c99.tar.bz2
Add ChromotingHost::RemoveStatusObserver().
Now HostStatusObservers can be added or removed at any time. ObserverList<> is used to store the list of observers. This allows deletion of status observers before host is destroyed. It was previously causing a crash described in http://crbug.com/110196 . BUG=110196 Review URL: https://chromiumcodereview.appspot.com/9231002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117947 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/remoting_me2me_host.cc')
-rw-r--r--remoting/host/remoting_me2me_host.cc7
1 files changed, 2 insertions, 5 deletions
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
index bd397a7..1e4c4ae 100644
--- a/remoting/host/remoting_me2me_host.cc
+++ b/remoting/host/remoting_me2me_host.cc
@@ -173,11 +173,8 @@ class HostProcess {
heartbeat_sender_.reset(
new HeartbeatSender(host_id_, signal_strategy_.get(), &key_pair_));
- log_to_server_.reset(new LogToServer(signal_strategy_.get()));
- host_->AddStatusObserver(log_to_server_.get());
-
- host_event_logger_.reset(new HostEventLogger());
- host_->AddStatusObserver(host_event_logger_.get());
+ log_to_server_.reset(new LogToServer(host_, signal_strategy_.get()));
+ host_event_logger_.reset(new HostEventLogger(host_));
host_->Start();