Index: chrome/browser/extensions/display_info_provider_chromeos.cc |
diff --git a/chrome/browser/extensions/api/system_display/display_info_provider_chromeos.cc b/chrome/browser/extensions/display_info_provider_chromeos.cc |
similarity index 86% |
rename from chrome/browser/extensions/api/system_display/display_info_provider_chromeos.cc |
rename to chrome/browser/extensions/display_info_provider_chromeos.cc |
index 0aaf5249c1c5067de144c3abdd7acc49813359e5..faf475a1120930b3cf63592f98a5d1927d91b8ee 100644 |
--- a/chrome/browser/extensions/api/system_display/display_info_provider_chromeos.cc |
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc |
@@ -2,13 +2,14 @@ |
// 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 |