| Index: chrome/browser/extensions/api/system_info/system_info_api.cc
|
| diff --git a/chrome/browser/extensions/api/system_info/system_info_api.cc b/chrome/browser/extensions/api/system_info/system_info_api.cc
|
| index 99f49f5217ac4f191e716c974cd4e98dbce37c24..7c02f35a34cc41ed3f85285f91387c81ada81c11 100644
|
| --- a/chrome/browser/extensions/api/system_info/system_info_api.cc
|
| +++ b/chrome/browser/extensions/api/system_info/system_info_api.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
|
| #include "chrome/browser/extensions/api/system_storage/storage_info_provider.h"
|
| #include "chrome/browser/extensions/event_router_forwarder.h"
|
| #include "chrome/common/extensions/api/system_display.h"
|
| @@ -22,11 +23,7 @@
|
| #include "components/storage_monitor/storage_monitor.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "ui/gfx/display_observer.h"
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| -#include "ash/shell.h"
|
| #include "ui/gfx/screen.h"
|
| -#endif
|
|
|
| namespace extensions {
|
|
|
| @@ -39,11 +36,9 @@ namespace system_storage = api::system_storage;
|
|
|
| namespace {
|
|
|
| -#if defined(OS_CHROMEOS)
|
| bool IsDisplayChangedEvent(const std::string& event_name) {
|
| return event_name == system_display::OnDisplayChanged::kEventName;
|
| }
|
| -#endif
|
|
|
| bool IsSystemStorageEvent(const std::string& event_name) {
|
| return (event_name == system_storage::OnAttached::kEventName ||
|
| @@ -120,11 +115,11 @@ void SystemInfoEventRouter::AddEventListener(const std::string& event_name) {
|
| if (watching_event_set_.count(event_name) > 1)
|
| return;
|
|
|
| - // For system.display event.
|
| -#if defined(OS_CHROMEOS)
|
| - if (IsDisplayChangedEvent(event_name))
|
| - ash::Shell::GetScreen()->AddObserver(this);
|
| -#endif
|
| + if (IsDisplayChangedEvent(event_name)) {
|
| + gfx::Screen* screen = DisplayInfoProvider::Get()->GetActiveScreen();
|
| + if (screen)
|
| + screen->AddObserver(this);
|
| + }
|
|
|
| if (IsSystemStorageEvent(event_name)) {
|
| if (!has_storage_monitor_observer_) {
|
| @@ -146,10 +141,11 @@ void SystemInfoEventRouter::RemoveEventListener(const std::string& event_name) {
|
| return;
|
| }
|
|
|
| -#if defined(OS_CHROMEOS)
|
| - if (IsDisplayChangedEvent(event_name))
|
| - ash::Shell::GetScreen()->RemoveObserver(this);
|
| -#endif
|
| + if (IsDisplayChangedEvent(event_name)) {
|
| + gfx::Screen* screen = DisplayInfoProvider::Get()->GetActiveScreen();
|
| + if (screen)
|
| + screen->RemoveObserver(this);
|
| + }
|
|
|
| if (IsSystemStorageEvent(event_name)) {
|
| const std::string& other_event_name =
|
|
|