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

Unified Diff: chrome/browser/chromeos/display/overscan_calibrator.cc

Issue 12505005: Store rotation/ui scale to local state. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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/chromeos/display/overscan_calibrator.cc
diff --git a/chrome/browser/chromeos/display/overscan_calibrator.cc b/chrome/browser/chromeos/display/overscan_calibrator.cc
index d788f5f02d867e8ab33aaa198e99b941bbf6cd4b..c9d41b0a7e4585c91e065525feeb6951f64c238b 100644
--- a/chrome/browser/chromeos/display/overscan_calibrator.cc
+++ b/chrome/browser/chromeos/display/overscan_calibrator.cc
@@ -5,10 +5,11 @@
#include "chrome/browser/chromeos/display/overscan_calibrator.h"
#include "ash/display/display_controller.h"
+#include "ash/display/display_info.h"
+#include "ash/display/display_manager.h"
#include "ash/shell.h"
#include "ash/shell_window_ids.h"
#include "base/callback.h"
-#include "chrome/browser/chromeos/display/display_preferences.h"
#include "ui/aura/window.h"
#include "ui/compositor/layer.h"
#include "ui/gfx/canvas.h"
@@ -72,6 +73,14 @@ OverscanCalibrator::OverscanCalibrator(
ash::Shell::GetInstance()->display_controller()->SetOverscanInsets(
display_.id(), gfx::Insets());
+ ash::internal::DisplayInfo info = ash::Shell::GetInstance()->
+ display_manager()->GetDisplayInfo(display_.id());
+ if (info.has_overscan()) {
+ info.clear_has_custom_overscan_insets();
+ info.UpdateDisplaySize();
+ native_insets_ = info.overscan_insets_in_dip();
+ }
+
aura::RootWindow* root = ash::Shell::GetInstance()->display_controller()->
GetRootWindowForDisplayId(display_.id());
ui::Layer* parent_layer = ash::Shell::GetContainer(
@@ -94,10 +103,25 @@ OverscanCalibrator::~OverscanCalibrator() {
}
void OverscanCalibrator::Commit() {
- SetAndStoreDisplayOverscan(display_, insets_);
+ if (insets_ == native_insets_) {
Jun Mukai 2013/03/22 00:53:07 Can we move this logic to the display controller?
oshima 2013/03/22 02:06:51 I think this is specific to calibration UI. There
+ ash::Shell::GetInstance()->display_controller()->ClearCustomOverscanInsets(
+ display_.id());
+ } else {
+ ash::Shell::GetInstance()->display_controller()->SetOverscanInsets(
+ display_.id(), insets_);
+ }
committed_ = true;
}
+void OverscanCalibrator::Reset() {
+ if (!native_insets_.empty()) {
+ insets_ = native_insets_;
+ } else {
+ insets_ = initial_insets_;
+ }
+ calibration_layer_->SchedulePaint(calibration_layer_->bounds());
+}
+
void OverscanCalibrator::UpdateInsets(const gfx::Insets& insets) {
insets_.Set(std::max(insets.top(), 0),
std::max(insets.left(), 0),

Powered by Google App Engine
This is Rietveld 408576698