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

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

Issue 2196923002: Make ash::DisplayMode more like ui::DisplayMode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 4 years, 4 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 bce654eb45e8cea7a91260c1f41a3e8d66e0d3a5..c91eb269cc91296d075b0b97a21ba046b33cb1fd 100644
--- a/chrome/browser/extensions/display_info_provider_chromeos.cc
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc
@@ -317,21 +317,21 @@ bool ValidateParamsForDisplay(const system_display::DisplayProperties& info,
// Set the display mode.
if (info.display_mode) {
- ash::DisplayMode current_mode =
+ scoped_refptr<ash::DisplayMode> current_mode =
display_manager->GetActiveModeForDisplayId(id);
- ash::DisplayMode new_mode;
// Copy properties not set in the UI from the current mode.
- new_mode.refresh_rate = current_mode.refresh_rate;
- new_mode.interlaced = current_mode.interlaced;
- // Set properties from the UI properties.
- new_mode.size.SetSize(info.display_mode->width_in_native_pixels,
- info.display_mode->height_in_native_pixels);
- new_mode.ui_scale = info.display_mode->ui_scale;
- new_mode.device_scale_factor = info.display_mode->device_scale_factor;
- new_mode.native = info.display_mode->is_native;
-
- if (new_mode.IsEquivalent(current_mode)) {
- *error = "Display mode mataches crrent mode.";
+ gfx::Size size(info.display_mode->width_in_native_pixels,
+ info.display_mode->height_in_native_pixels);
+
+ // NB: info.display_mode is neither an ash::DisplayMode or a
+ // ui::DisplayMode.
+ scoped_refptr<ash::DisplayMode> new_mode(new ash::DisplayMode(
+ size, current_mode->refresh_rate(), current_mode->is_interlaced(),
+ info.display_mode->is_native, info.display_mode->ui_scale,
+ info.display_mode->device_scale_factor));
+
+ if (new_mode->IsEquivalent(current_mode)) {
+ *error = "Display mode matches current mode.";
return false;
}
@@ -355,20 +355,20 @@ bool ValidateParamsForDisplay(const system_display::DisplayProperties& info,
system_display::DisplayMode GetDisplayMode(
ash::DisplayManager* display_manager,
const ash::DisplayInfo& display_info,
- const ash::DisplayMode& display_mode) {
+ const scoped_refptr<ash::DisplayMode>& display_mode) {
system_display::DisplayMode result;
bool is_internal = display::Display::HasInternalDisplay() &&
display::Display::InternalDisplayId() == display_info.id();
- gfx::Size size_dip = display_mode.GetSizeInDIP(is_internal);
+ gfx::Size size_dip = display_mode->GetSizeInDIP(is_internal);
result.width = size_dip.width();
result.height = size_dip.height();
- result.width_in_native_pixels = display_mode.size.width();
- result.height_in_native_pixels = display_mode.size.height();
- result.ui_scale = display_mode.ui_scale;
- result.device_scale_factor = display_mode.device_scale_factor;
- result.is_native = display_mode.native;
- result.is_selected = display_mode.IsEquivalent(
+ result.width_in_native_pixels = display_mode->size().width();
+ result.height_in_native_pixels = display_mode->size().height();
+ result.ui_scale = display_mode->ui_scale();
+ result.device_scale_factor = display_mode->device_scale_factor();
+ result.is_native = display_mode->native();
+ result.is_selected = display_mode->IsEquivalent(
display_manager->GetActiveModeForDisplayId(display_info.id()));
return result;
}
@@ -516,7 +516,8 @@ void DisplayInfoProviderChromeOS::UpdateDisplayUnitInfoForPlatform(
unit->overscan.right = overscan_insets.right();
unit->overscan.bottom = overscan_insets.bottom();
- for (const ash::DisplayMode& display_mode : display_info.display_modes()) {
+ for (const scoped_refptr<ash::DisplayMode>& display_mode :
+ display_info.display_modes()) {
unit->modes.push_back(
GetDisplayMode(display_manager, display_info, display_mode));
}

Powered by Google App Engine
This is Rietveld 408576698