Make DisplayInfoProvider an interface

Now is up to the component embedding the SystemInfo API to implement
the DisplayInfoProvider. The motivation for this change is we want to
move the SystemInfo API to extensions/ but DisplayInfoProvider depends
on ash/, which will link with ui/views/, and that is way too big.

The ultimate goal is to have SystemInfo on the app_shell without increasing its
footprint considerably.

BUG=392842

Review URL: https://codereview.chromium.org/476103002

Cr-Commit-Position: refs/heads/master@{#291250}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291250 0039d316-1c4b-4281-b951-d872f2087c98
parent e4d4fb05
......@@ -191,7 +191,10 @@ static_library("extensions") {
"//third_party/isimpledom",
]
} else if (!is_chromeos) {
sources += [ "api/system_display/display_info_provider_aura.cc" ]
sources += [
"display_info_provider_aura.cc",
"display_info_provider_aura.h",
]
}
if (enable_app_list) {
......
......@@ -5,6 +5,7 @@
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "base/strings/string_number_conversions.h"
#include "chrome/common/extensions/api/system_display.h"
#include "ui/gfx/display.h"
#include "ui/gfx/screen.h"
......@@ -12,6 +13,9 @@ namespace extensions {
namespace {
// Created on demand and will leak when the process exits.
DisplayInfoProvider* g_display_info_provider = NULL;
// Converts Rotation enum to integer.
int RotationToDegrees(gfx::Display::Rotation rotation) {
switch (rotation) {
......@@ -50,21 +54,19 @@ CreateDisplayUnitInfo(const gfx::Display& display, int64 primary_display_id) {
return unit;
}
DisplayInfoProvider* g_display_info_provider = NULL;
} // namespace
DisplayInfoProvider::~DisplayInfoProvider() {
}
DisplayInfoProvider::DisplayInfoProvider() {}
DisplayInfoProvider::~DisplayInfoProvider() {}
// static
DisplayInfoProvider* DisplayInfoProvider::Get() {
if (g_display_info_provider == NULL)
g_display_info_provider = new DisplayInfoProvider();
g_display_info_provider = DisplayInfoProvider::Create();
return g_display_info_provider;
}
// static
void DisplayInfoProvider::InitializeForTesting(
DisplayInfoProvider* display_info_provider) {
DCHECK(display_info_provider);
......@@ -86,4 +88,7 @@ DisplayInfo DisplayInfoProvider::GetAllDisplaysInfo() {
return all_displays;
}
DisplayInfoProvider::DisplayInfoProvider() {
}
} // namespace extensions
......@@ -8,7 +8,8 @@
#include <string>
#include <vector>
#include "chrome/common/extensions/api/system_display.h"
#include "base/macros.h"
#include "base/memory/linked_ptr.h"
namespace gfx {
class Display;
......@@ -16,32 +17,48 @@ class Display;
namespace extensions {
typedef std::vector<linked_ptr<
api::system_display::DisplayUnitInfo> > DisplayInfo;
namespace api {
namespace system_display {
struct DisplayProperties;
struct DisplayUnitInfo;
}
}
class DisplayInfoProvider {
public :
static DisplayInfoProvider* Get();
typedef std::vector<linked_ptr<api::system_display::DisplayUnitInfo> >
DisplayInfo;
DisplayInfoProvider();
class DisplayInfoProvider {
public:
virtual ~DisplayInfoProvider();
// Returns a pointer to DisplayInfoProvider or NULL if Create()
// or InitializeForTesting() or not called yet.
static DisplayInfoProvider* Get();
// This is for tests that run in its own process (e.g. browser_tests).
// Using this in other tests (e.g. unit_tests) will result in DCHECK failure.
static void InitializeForTesting(DisplayInfoProvider* display_info_provider);
DisplayInfo GetAllDisplaysInfo();
// Updates the display with |display_id| according to |info|. Returns whether
// the display was successfully updated. On failure, no display parameters
// should be changed, and |error| should be set to the error string.
virtual bool SetInfo(const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error);
std::string* error) = 0;
DisplayInfo GetAllDisplaysInfo();
protected:
DisplayInfoProvider();
private:
static DisplayInfoProvider* Create();
// Update the content of the |unit| obtained for |display| using
// platform specific method.
virtual void UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit);
api::system_display::DisplayUnitInfo* unit) = 0;
DISALLOW_COPY_AND_ASSIGN(DisplayInfoProvider);
};
......
......@@ -9,6 +9,7 @@
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_function_test_utils.h"
#include "chrome/common/extensions/api/system_display.h"
#include "ui/gfx/display.h"
#include "ui/gfx/display_observer.h"
#include "ui/gfx/screen.h"
......@@ -51,6 +52,7 @@ class MockScreen : public ash::ScreenAsh {
virtual gfx::Display GetPrimaryDisplay() const OVERRIDE {
return displays_[0];
}
private:
std::vector<gfx::Display> displays_;
......@@ -194,6 +196,7 @@ class SystemDisplayApiTest: public ExtensionApiTest {
scoped_ptr<MockDisplayInfoProvider> provider_;
scoped_ptr<gfx::Screen> screen_;
private:
DISALLOW_COPY_AND_ASSIGN(SystemDisplayApiTest);
};
......@@ -301,4 +304,4 @@ IN_PROC_BROWSER_TEST_F(SystemDisplayApiTest, SetDisplayKioskEnabled) {
}
#endif // defined(OS_CHROMEOS)
} // namespace extensions
} // namespace extensions
// Copyright 2013 The Chromium Authors. All rights reserved.
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "chrome/browser/extensions/display_info_provider_aura.h"
namespace extensions {
bool DisplayInfoProvider::SetInfo(const std::string& display_id,
DisplayInfoProviderAura::DisplayInfoProviderAura() {
}
DisplayInfoProviderAura::~DisplayInfoProviderAura() {
}
bool DisplayInfoProviderAura::SetInfo(
const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) {
*error = "Not Implemented";
*error = "Not implemented";
return false;
}
void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
void DisplayInfoProviderAura::UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) {
NOTIMPLEMENTED();
}
// static
DisplayInfoProvider* DisplayInfoProvider::Create() {
return new DisplayInfoProviderAura();
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_AURA_H_
#define CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_AURA_H_
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
namespace extensions {
class DisplayInfoProviderAura : public DisplayInfoProvider {
public:
DisplayInfoProviderAura();
virtual ~DisplayInfoProviderAura();
// DisplayInfoProvider implementation.
virtual bool SetInfo(const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) OVERRIDE;
virtual void UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(DisplayInfoProviderAura);
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_AURA_H_
// Copyright 2013 The Chromium Authors. All rights reserved.
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "chrome/browser/extensions/display_info_provider_chromeos.h"
#include "ash/display/display_controller.h"
#include "ash/display/display_manager.h"
#include "ash/shell.h"
#include "base/message_loop/message_loop_proxy.h"
#include "base/strings/string_number_conversions.h"
#include "chrome/common/extensions/api/system_display.h"
#include "ui/gfx/display.h"
#include "ui/gfx/point.h"
#include "ui/gfx/rect.h"
......@@ -65,7 +66,7 @@ bool PointIsOverRadiusVector(const gfx::Point& point,
// So, (x, y) is over (a, b) if x * b + y * (-a) >= 0, which is equivalent to
// x * b >= y * a.
return static_cast<int64>(point.x()) * static_cast<int64>(vector.y()) >=
static_cast<int64>(point.y()) * static_cast<int64>(vector.x());
static_cast<int64>(point.y()) * static_cast<int64>(vector.x());
}
// Created ash::DisplayLayout value for |rectangle| compared to the |reference|
......@@ -122,8 +123,8 @@ ash::DisplayLayout GetLayoutForRectangles(const gfx::Rect& reference,
ash::DisplayLayout::Position position;
if (is_top_right) {
position = is_bottom_right ? ash::DisplayLayout::RIGHT :
ash::DisplayLayout::TOP;
position =
is_bottom_right ? ash::DisplayLayout::RIGHT : ash::DisplayLayout::TOP;
} else {
position =
is_bottom_right ? ash::DisplayLayout::BOTTOM : ash::DisplayLayout::LEFT;
......@@ -164,10 +165,10 @@ void UpdateDisplayLayout(const gfx::Rect& primary_display_bounds,
int primary_display_id,
const gfx::Rect& target_display_bounds,
int target_display_id) {
ash::DisplayLayout layout = GetLayoutForRectangles(primary_display_bounds,
target_display_bounds);
ash::Shell::GetInstance()->display_manager()->
SetLayoutForCurrentDisplays(layout);
ash::DisplayLayout layout =
GetLayoutForRectangles(primary_display_bounds, target_display_bounds);
ash::Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays(
layout);
}
// Validates that parameters passed to the SetInfo function are valid for the
......@@ -201,8 +202,9 @@ bool ValidateParamsForDisplay(const DisplayProperties& info,
// If mirroring source parameter is specified, no other parameter should be
// set as when the mirroring is applied the display list could change.
if (info.mirroring_source_id && (info.is_primary || info.bounds_origin_x ||
info.bounds_origin_y || info.rotation || info.overscan)) {
if (info.mirroring_source_id &&
(info.is_primary || info.bounds_origin_x || info.bounds_origin_y ||
info.rotation || info.overscan)) {
*error = "No other parameter should be set alongside mirroringSourceId.";
return false;
}
......@@ -216,15 +218,13 @@ bool ValidateParamsForDisplay(const DisplayProperties& info,
*error = "Bounds origin not allowed for the primary display.";
return false;
}
if (info.bounds_origin_x &&
(*info.bounds_origin_x > kMaxBoundsOrigin ||
*info.bounds_origin_x < -kMaxBoundsOrigin)) {
if (info.bounds_origin_x && (*info.bounds_origin_x > kMaxBoundsOrigin ||
*info.bounds_origin_x < -kMaxBoundsOrigin)) {
*error = "Bounds origin x out of bounds.";
return false;
}
if (info.bounds_origin_y &&
(*info.bounds_origin_y > kMaxBoundsOrigin ||
*info.bounds_origin_y < -kMaxBoundsOrigin)) {
if (info.bounds_origin_y && (*info.bounds_origin_y > kMaxBoundsOrigin ||
*info.bounds_origin_y < -kMaxBoundsOrigin)) {
*error = "Bounds origin y out of bounds.";
return false;
}
......@@ -279,12 +279,17 @@ gfx::Display GetTargetDisplay(const std::string& display_id_str,
return manager->GetDisplayForId(display_id);
}
// Updates the display with |display_id_str| id according to |info|. Returns
// whether the display was successfully updated. On failure, no display
// parameters should be changed, and |error| should be set to the error string.
bool SetInfoImpl(const std::string& display_id_str,
const DisplayProperties& info,
std::string* error) {
} // namespace
DisplayInfoProviderChromeOS::DisplayInfoProviderChromeOS() {
}
DisplayInfoProviderChromeOS::~DisplayInfoProviderChromeOS() {
}
bool DisplayInfoProviderChromeOS::SetInfo(const std::string& display_id_str,
const DisplayProperties& info,
std::string* error) {
DisplayManager* display_manager =
ash::Shell::GetInstance()->display_manager();
DCHECK(display_manager);
......@@ -304,8 +309,8 @@ bool SetInfoImpl(const std::string& display_id_str,
const gfx::Display& primary =
gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
if (!ValidateParamsForDisplay(info, target, display_manager, primary.id(),
error)) {
if (!ValidateParamsForDisplay(
info, target, display_manager, primary.id(), error)) {
return false;
}
......@@ -321,10 +326,11 @@ bool SetInfoImpl(const std::string& display_id_str,
// Process 'overscan' parameter.
if (info.overscan) {
display_manager->SetOverscanInsets(
display_id,
gfx::Insets(info.overscan->top, info.overscan->left,
info.overscan->bottom, info.overscan->right));
display_manager->SetOverscanInsets(display_id,
gfx::Insets(info.overscan->top,
info.overscan->left,
info.overscan->bottom,
info.overscan->right));
}
// Process 'rotation' parameter.
......@@ -344,25 +350,16 @@ bool SetInfoImpl(const std::string& display_id_str,
gfx::Rect target_bounds = target.bounds();
target_bounds.Offset(new_bounds_origin.x() - target.bounds().x(),
new_bounds_origin.y() - target.bounds().y());
UpdateDisplayLayout(primary.bounds(), primary.id(),
target_bounds, target.id());
UpdateDisplayLayout(
primary.bounds(), primary.id(), target_bounds, target.id());
}
return true;
}
} // namespace
bool DisplayInfoProvider::SetInfo(const std::string& display_id,
const DisplayProperties& info,
std::string* error) {
return SetInfoImpl(display_id, info, error);
}
void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
void DisplayInfoProviderChromeOS::UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) {
ash::DisplayManager* display_manager =
ash::Shell::GetInstance()->display_manager();
unit->name = display_manager->GetDisplayNameForId(display.id());
......@@ -383,4 +380,9 @@ void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
unit->overscan.bottom = overscan_insets.bottom();
}
// static
DisplayInfoProvider* DisplayInfoProvider::Create() {
return new DisplayInfoProviderChromeOS();
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_CHROMEOS_H_
#define CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_CHROMEOS_H_
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
namespace extensions {
class DisplayInfoProviderChromeOS : public DisplayInfoProvider {
public:
DisplayInfoProviderChromeOS();
virtual ~DisplayInfoProviderChromeOS();
// DisplayInfoProvider implementation.
virtual bool SetInfo(const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) OVERRIDE;
virtual void UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(DisplayInfoProviderChromeOS);
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_CHROMEOS_H_
// Copyright 2013 The Chromium Authors. All rights reserved.
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "chrome/browser/extensions/display_info_provider_mac.h"
namespace extensions {
bool DisplayInfoProvider::SetInfo(const std::string& display_id,
DisplayInfoProviderMac::DisplayInfoProviderMac() {
}
DisplayInfoProviderMac::~DisplayInfoProviderMac() {
}
bool DisplayInfoProviderMac::SetInfo(
const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) {
*error = "Not Implemented";
*error = "Not implemented";
return false;
}
void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
void DisplayInfoProviderMac::UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) {
NOTIMPLEMENTED();
}
// static
DisplayInfoProvider* DisplayInfoProvider::Create() {
return new DisplayInfoProviderMac();
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_MAC_H_
#define CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_MAC_H_
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
namespace extensions {
class DisplayInfoProviderMac : public DisplayInfoProvider {
public:
DisplayInfoProviderMac();
virtual ~DisplayInfoProviderMac();
// DisplayInfoProvider implementation.
virtual bool SetInfo(const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) OVERRIDE;
virtual void UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(DisplayInfoProviderMac);
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_MAC_H_
// Copyright 2013 The Chromium Authors. All rights reserved.
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
#include "chrome/browser/extensions/display_info_provider_win.h"
#include <windows.h>
......@@ -10,6 +10,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/win/win_util.h"
#include "chrome/common/extensions/api/system_display.h"
#include "ui/gfx/size.h"
#include "ui/gfx/win/dpi.h"
......@@ -19,10 +20,8 @@ using api::system_display::DisplayUnitInfo;
namespace {
BOOL CALLBACK EnumMonitorCallback(HMONITOR monitor,
HDC hdc,
LPRECT rect,
LPARAM data) {
BOOL CALLBACK
EnumMonitorCallback(HMONITOR monitor, HDC hdc, LPRECT rect, LPARAM data) {
DisplayInfo* all_displays = reinterpret_cast<DisplayInfo*>(data);
DCHECK(all_displays);
......@@ -39,8 +38,8 @@ BOOL CALLBACK EnumMonitorCallback(HMONITOR monitor,
return FALSE;
gfx::Size dpi(gfx::GetDPI());
unit->id = base::Int64ToString(
base::Hash(base::WideToUTF8(monitor_info.szDevice)));
unit->id =
base::Int64ToString(base::Hash(base::WideToUTF8(monitor_info.szDevice)));
unit->name = base::WideToUTF8(device.DeviceString);
unit->dpi_x = dpi.width();
unit->dpi_y = dpi.height();
......@@ -51,19 +50,26 @@ BOOL CALLBACK EnumMonitorCallback(HMONITOR monitor,
} // namespace
bool DisplayInfoProvider::SetInfo(const std::string& display_id,
DisplayInfoProviderWin::DisplayInfoProviderWin() {
}
DisplayInfoProviderWin::~DisplayInfoProviderWin() {
}
bool DisplayInfoProviderWin::SetInfo(
const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) {
*error = "Not implemented";
return false;
}
void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
void DisplayInfoProviderWin::UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) {
DisplayInfo all_displays;
EnumDisplayMonitors(NULL, NULL, EnumMonitorCallback,
reinterpret_cast<LPARAM>(&all_displays));
EnumDisplayMonitors(
NULL, NULL, EnumMonitorCallback, reinterpret_cast<LPARAM>(&all_displays));
for (size_t i = 0; i < all_displays.size(); ++i) {
if (unit->id == all_displays[i]->id) {
unit->name = all_displays[i]->name;
......@@ -74,4 +80,9 @@ void DisplayInfoProvider::UpdateDisplayUnitInfoForPlatform(
}
}
// static
DisplayInfoProvider* DisplayInfoProvider::Create() {
return new DisplayInfoProviderWin();
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_WIN_H_
#define CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_WIN_H_
#include "chrome/browser/extensions/api/system_display/display_info_provider.h"
namespace extensions {
class DisplayInfoProviderWin : public DisplayInfoProvider {
public:
DisplayInfoProviderWin();
virtual ~DisplayInfoProviderWin();
// DisplayInfoProvider implementation.
virtual bool SetInfo(const std::string& display_id,
const api::system_display::DisplayProperties& info,
std::string* error) OVERRIDE;
virtual void UpdateDisplayUnitInfoForPlatform(
const gfx::Display& display,
extensions::api::system_display::DisplayUnitInfo* unit) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(DisplayInfoProviderWin);
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_DISPLAY_INFO_PROVIDER_WIN_H_
......@@ -514,9 +514,6 @@
'browser/extensions/api/system_cpu/system_cpu_api.h',
'browser/extensions/api/system_display/display_info_provider.cc',
'browser/extensions/api/system_display/display_info_provider.h',
'browser/extensions/api/system_display/display_info_provider_chromeos.cc',
'browser/extensions/api/system_display/display_info_provider_mac.cc',
'browser/extensions/api/system_display/display_info_provider_win.cc',
'browser/extensions/api/system_display/system_display_api.cc',
'browser/extensions/api/system_display/system_display_api.h',
'browser/extensions/api/system_indicator/system_indicator_api.h',
......@@ -650,6 +647,12 @@
'browser/extensions/dev_mode_bubble_controller.h',
'browser/extensions/devtools_util.cc',
'browser/extensions/devtools_util.h',
'browser/extensions/display_info_provider_chromeos.cc',
'browser/extensions/display_info_provider_chromeos.h',
'browser/extensions/display_info_provider_mac.cc',
'browser/extensions/display_info_provider_mac.h',
'browser/extensions/display_info_provider_win.cc',
'browser/extensions/display_info_provider_win.h',
'browser/extensions/error_console/error_console.cc',
'browser/extensions/error_console/error_console.h',
'browser/extensions/event_router_forwarder.cc',
......@@ -1133,7 +1136,8 @@
}],
['OS!="win" and chromeos==0', {
'sources': [
'browser/extensions/api/system_display/display_info_provider_aura.cc',
'browser/extensions/display_info_provider_aura.cc',
'browser/extensions/display_info_provider_aura.h',
],
}],
['enable_app_list==1', {
......
......@@ -918,7 +918,6 @@
'browser/extensions/api/storage/settings_sync_unittest.cc',
'browser/extensions/api/streams_private/streams_private_manifest_unittest.cc',
'browser/extensions/api/synced_notifications_private/synced_notifications_shim_unittest.cc',
'browser/extensions/api/system_display/display_info_provider_chromeos_unittest.cc',
'browser/extensions/api/web_navigation/frame_navigation_state_unittest.cc',
'browser/extensions/api/web_request/form_data_parser_unittest.cc',
'browser/extensions/api/web_request/upload_data_presenter_unittest.cc',
......@@ -935,6 +934,7 @@
'browser/extensions/convert_user_script_unittest.cc',
'browser/extensions/convert_web_app_unittest.cc',
'browser/extensions/default_apps_unittest.cc',
'browser/extensions/display_info_provider_chromeos_unittest.cc',
'browser/extensions/error_console/error_console_unittest.cc',
'browser/extensions/event_router_forwarder_unittest.cc',
'browser/extensions/extension_api_unittest.cc',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment