Chromium Code Reviews| Index: chrome/browser/media/router/issues_observer.cc |
| diff --git a/chrome/browser/media/router/issues_observer.cc b/chrome/browser/media/router/issues_observer.cc |
| index 1590b0cda5ac05f8f3f462ab8a401a73b5d4597a..decdbe488e68a5e0195a89b7247a16d7b97dc940 100644 |
| --- a/chrome/browser/media/router/issues_observer.cc |
| +++ b/chrome/browser/media/router/issues_observer.cc |
| @@ -9,19 +9,22 @@ |
| namespace media_router { |
| -IssuesObserver::IssuesObserver(MediaRouter* router) : router_(router) { |
| +IssuesObserver::IssuesObserver(MediaRouter* router) |
| + : router_(router), initialized_(false) { |
| DCHECK(router_); |
| } |
| IssuesObserver::~IssuesObserver() { |
| + if (initialized_) |
| + router_->UnregisterIssuesObserver(this); |
| } |
| -void IssuesObserver::RegisterObserver() { |
| - router_->RegisterIssuesObserver(this); |
| -} |
| +void IssuesObserver::Init() { |
| + if (initialized_) |
| + return; |
| -void IssuesObserver::UnregisterObserver() { |
| - router_->UnregisterIssuesObserver(this); |
| + router_->RegisterIssuesObserver(this); |
| + initialized_ = true; |
|
dcheng
2016/12/07 18:58:02
Can you help me understand why this isn't just par
imcheng
2016/12/09 23:19:53
RegisterIssuesObserver will synchronously invoke O
|
| } |
| } // namespace media_router |