Chromium Code Reviews| Index: chrome/browser/chromeos/extensions/file_manager/event_router.cc |
| diff --git a/chrome/browser/chromeos/extensions/file_manager/event_router.cc b/chrome/browser/chromeos/extensions/file_manager/event_router.cc |
| index 2b78461c5a07ff58cbacdfa590ab0b40537a8eae..812d98075528e151e0d584e8ce8c0942c5d3d6d3 100644 |
| --- a/chrome/browser/chromeos/extensions/file_manager/event_router.cc |
| +++ b/chrome/browser/chromeos/extensions/file_manager/event_router.cc |
| @@ -6,6 +6,7 @@ |
| #include <stddef.h> |
| +#include <set> |
| #include <utility> |
| #include "base/bind.h" |
| @@ -17,6 +18,7 @@ |
| #include "base/threading/thread_task_runner_handle.h" |
| #include "base/values.h" |
| #include "chrome/browser/app_mode/app_mode_utils.h" |
| +#include "chrome/browser/chromeos/arc/arc_session_manager.h" |
| #include "chrome/browser/chromeos/drive/drive_integration_service.h" |
| #include "chrome/browser/chromeos/drive/file_system_util.h" |
| #include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h" |
| @@ -397,11 +399,22 @@ EventRouter::EventRouter(Profile* profile) |
| ObserveEvents(); |
| } |
| -EventRouter::~EventRouter() { |
| +EventRouter::~EventRouter() = default; |
| + |
| +void EventRouter::OnAppsUpdated() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + BroadcastEvent(profile_, |
| + extensions::events::FILE_MANAGER_PRIVATE_ON_APPS_UPDATED, |
| + file_manager_private::OnAppsUpdated::kEventName, |
| + file_manager_private::OnAppsUpdated::Create()); |
| } |
| void EventRouter::Shutdown() { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + |
| + if (arc::ArcSessionManager::IsAllowedForProfile(profile_)) |
| + arc::ArcServiceManager::Get()->RemoveObserver(this); |
|
kinaba
2016/12/02 04:04:25
* EventRounter::Shutdown() is called inside the de
oka
2016/12/02 04:59:09
Done.
|
| + |
| chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this); |
| DLOG_IF(WARNING, !file_watchers_.empty()) |
| @@ -492,6 +505,9 @@ void EventRouter::ObserveEvents() { |
| pref_change_registrar_->Add(prefs::kUse24HourClock, callback); |
| chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this); |
| + |
| + if (arc::ArcSessionManager::IsAllowedForProfile(profile_)) |
| + arc::ArcServiceManager::Get()->AddObserver(this); |
| } |
| // File watch setup routines. |