Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5176)

Unified Diff: chrome/browser/extensions/display_info_provider_chromeos.cc

Issue 1594683002: Introduce DisplayConfigurationController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_576375_display1b1
Patch Set: Rebase Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/display_info_provider_chromeos.cc
diff --git a/chrome/browser/extensions/display_info_provider_chromeos.cc b/chrome/browser/extensions/display_info_provider_chromeos.cc
index b68a7d82d9a239f1c2515682c907a1f6454b0ebf..070682f0bb70edaaaa580873ba5b58863c84fc9a 100644
--- a/chrome/browser/extensions/display_info_provider_chromeos.cc
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc
@@ -6,8 +6,8 @@
#include <stdint.h>
+#include "ash/display/display_configuration_controller.h"
#include "ash/display/display_manager.h"
-#include "ash/display/window_tree_host_manager.h"
#include "ash/shell.h"
#include "base/strings/string_number_conversions.h"
#include "extensions/common/api/system_display.h"
@@ -15,8 +15,6 @@
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
-using ash::DisplayManager;
-
namespace extensions {
using api::system_display::Bounds;
@@ -166,8 +164,10 @@ void UpdateDisplayLayout(const gfx::Rect& primary_display_bounds,
int target_display_id) {
ash::DisplayLayout layout =
GetLayoutForRectangles(primary_display_bounds, target_display_bounds);
- ash::Shell::GetInstance()->display_manager()->SetLayoutForCurrentDisplays(
- layout);
+ layout.primary_id = primary_display_id;
+ ash::Shell::GetInstance()
+ ->display_configuration_controller()
+ ->SetDisplayLayout(target_display_id, layout, false /* user_action */);
}
// Validates that parameters passed to the SetInfo function are valid for the
@@ -176,7 +176,7 @@ void UpdateDisplayLayout(const gfx::Rect& primary_display_bounds,
// error message.
bool ValidateParamsForDisplay(const DisplayProperties& info,
const gfx::Display& display,
- DisplayManager* display_manager,
+ ash::DisplayManager* display_manager,
int64_t primary_display_id,
std::string* error) {
bool is_primary = display.id() == primary_display_id ||
@@ -269,7 +269,7 @@ bool ValidateParamsForDisplay(const DisplayProperties& info,
// Gets the display with the provided string id.
gfx::Display GetTargetDisplay(const std::string& display_id_str,
- DisplayManager* manager) {
+ ash::DisplayManager* manager) {
int64_t display_id;
if (!base::StringToInt64(display_id_str, &display_id)) {
// This should return invalid display.
@@ -289,12 +289,10 @@ DisplayInfoProviderChromeOS::~DisplayInfoProviderChromeOS() {
bool DisplayInfoProviderChromeOS::SetInfo(const std::string& display_id_str,
const DisplayProperties& info,
std::string* error) {
- DisplayManager* display_manager =
+ ash::DisplayManager* display_manager =
ash::Shell::GetInstance()->display_manager();
- DCHECK(display_manager);
- ash::WindowTreeHostManager* window_tree_host_manager =
- ash::Shell::GetInstance()->window_tree_host_manager();
- DCHECK(window_tree_host_manager);
+ ash::DisplayConfigurationController* display_configuration_controller =
+ ash::Shell::GetInstance()->display_configuration_controller();
const gfx::Display target = GetTargetDisplay(display_id_str, display_manager);
@@ -314,13 +312,16 @@ bool DisplayInfoProviderChromeOS::SetInfo(const std::string& display_id_str,
}
// Process 'isPrimary' parameter.
- if (info.is_primary && *info.is_primary && target.id() != primary.id())
- window_tree_host_manager->SetPrimaryDisplayId(display_id);
+ if (info.is_primary && *info.is_primary && target.id() != primary.id()) {
+ display_configuration_controller->SetPrimaryDisplayId(
+ display_id, false /* user_action */);
+ }
// Process 'mirroringSourceId' parameter.
- if (info.mirroring_source_id &&
- info.mirroring_source_id->empty() == display_manager->IsInMirrorMode()) {
- window_tree_host_manager->ToggleMirrorMode();
+ if (info.mirroring_source_id) {
+ bool mirror = !info.mirroring_source_id->empty();
+ display_configuration_controller->SetMirrorMode(mirror,
+ false /* user_action */);
}
// Process 'overscan' parameter.
@@ -334,9 +335,9 @@ bool DisplayInfoProviderChromeOS::SetInfo(const std::string& display_id_str,
// Process 'rotation' parameter.
if (info.rotation) {
- display_manager->SetDisplayRotation(display_id,
- DegreesToRotation(*info.rotation),
- gfx::Display::ROTATION_SOURCE_ACTIVE);
+ display_configuration_controller->SetDisplayRotation(
+ display_id, DegreesToRotation(*info.rotation),
+ gfx::Display::ROTATION_SOURCE_ACTIVE, false /* user_action */);
}
// Process new display origin parameters.

Powered by Google App Engine
This is Rietveld 408576698