Chromium Code Reviews| Index: chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc |
| diff --git a/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc b/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc |
| index c96373adcb7c1edeeffe304f41d201757239b9ca..b2c8b3835b3fead47856e713b0d067ad2e56438e 100644 |
| --- a/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc |
| +++ b/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc |
| @@ -80,19 +80,21 @@ class ScopedAddListenerObserver : public EventRouter::Observer { |
| callback_(callback), |
| event_router_(EventRouter::EventRouter::Get(profile)) { |
| DCHECK(profile); |
| - DCHECK(event_router_); |
| event_router_->RegisterObserver(this, event_name); |
| } |
| - ~ScopedAddListenerObserver() { event_router_->UnregisterObserver(this); } |
| + ~ScopedAddListenerObserver() override { |
| + event_router_->UnregisterObserver(this); |
| + } |
| // EventRouter::Observer overrides. |
| void OnListenerAdded(const EventListenerInfo& details) override { |
| // Call the callback only once, as the listener may be added multiple times. |
| - if (details.extension_id == extension_id_ && !callback_.is_null()) { |
| - base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback_); |
| - callback_ = base::Closure(); |
| - } |
| + if (details.extension_id != extension_id_ || !callback_) |
| + return; |
| + |
| + base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback_); |
|
Devlin
2017/05/20 00:49:15
nit: PostTask(FROM_HERE, base::ResetAndReturn(&cal
Lei Zhang
2017/05/20 01:04:14
Done. I missed the memo on that one.
|
| + callback_.Reset(); |
| } |
| private: |