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

Unified Diff: ash/display/display_controller.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: ash/display/display_controller.cc
diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
index 8ce4c2fa1e6d4630bec574c87503a193fc28e98b..0b20d268a696c22051a24e89336782c4aa8dfdf7 100644
--- a/ash/display/display_controller.cc
+++ b/ash/display/display_controller.cc
@@ -48,7 +48,7 @@ DECLARE_WINDOW_PROPERTY_TYPE(gfx::Display::Rotation);
namespace ash {
namespace {
-DEFINE_WINDOW_PROPERTY_KEY(gfx::Display::Rotation, kRotationKey,
+DEFINE_WINDOW_PROPERTY_KEY(gfx::Display::Rotation, kRotationPropKey,
James Cook 2013/03/22 16:53:14 kRotationPropertyKey please
oshima 2013/03/22 18:20:42 Done.
gfx::Display::ROTATE_0);
// Primary display stored in global object as it can be
@@ -79,6 +79,10 @@ const int64 kAfterDisplayChangeThrottleTimeoutMs = 500;
const int64 kCycleDisplayThrottleTimeoutMs = 4000;
const int64 kSwapDisplayThrottleTimeoutMs = 500;
+// Persistent key names
+const char kPositionKey[] = "position";
+const char kOffsetKey[] = "offset";
+
bool GetPositionFromString(const base::StringPiece& position,
DisplayLayout::Position* field) {
if (position == "top") {
@@ -125,9 +129,9 @@ void RotateRootWindow(aura::RootWindow* root_window,
// updating the transform results in incorrectly resizing
// the root window. Don't apply the transform unless
// necessary so that unit tests pass on win8 bots.
- if (info.rotation() == root_window->GetProperty(kRotationKey))
+ if (info.rotation() == root_window->GetProperty(kRotationPropKey))
return;
- root_window->SetProperty(kRotationKey, info.rotation());
+ root_window->SetProperty(kRotationPropKey, info.rotation());
#endif
gfx::Transform rotate;
// The origin is (0, 0), so the translate width/height must be reduced by 1.
@@ -153,7 +157,8 @@ void RotateRootWindow(aura::RootWindow* root_window,
void SetDisplayPropertiesOnHostWindow(aura::RootWindow* root,
const gfx::Display& display) {
- internal::DisplayInfo info = GetDisplayManager()->GetDisplayInfo(display);
+ internal::DisplayInfo info =
+ GetDisplayManager()->GetDisplayInfo(display.id());
#if defined(OS_CHROMEOS)
// Native window property (Atom in X11) that specifies the display's
// rotation, scale factor and if it's internal display. They are
@@ -256,8 +261,8 @@ bool DisplayLayout::ConvertToValue(const DisplayLayout& layout,
return false;
const std::string position_str = GetStringFromPosition(layout.position);
- dict_value->SetString("position", position_str);
- dict_value->SetInteger("offset", layout.offset);
+ dict_value->SetString(kPositionKey, position_str);
+ dict_value->SetInteger(kOffsetKey, layout.offset);
return true;
}
@@ -270,8 +275,8 @@ std::string DisplayLayout::ToString() const {
void DisplayLayout::RegisterJSONConverter(
base::JSONValueConverter<DisplayLayout>* converter) {
converter->RegisterCustomField<Position>(
- "position", &DisplayLayout::position, &GetPositionFromString);
- converter->RegisterIntField("offset", &DisplayLayout::offset);
+ kPositionKey, &DisplayLayout::position, &GetPositionFromString);
+ converter->RegisterIntField(kOffsetKey, &DisplayLayout::offset);
}
////////////////////////////////////////////////////////////////////////////////
@@ -326,14 +331,16 @@ DisplayController::DisplayController()
delete primary_display_for_shutdown;
primary_display_for_shutdown = NULL;
num_displays_for_shutdown = -1;
-
- Shell::GetScreen()->AddObserver(this);
}
DisplayController::~DisplayController() {
DCHECK(primary_display_for_shutdown);
}
+void DisplayController::Start() {
+ Shell::GetScreen()->AddObserver(this);
+}
+
void DisplayController::Shutdown() {
DCHECK(!primary_display_for_shutdown);
primary_display_for_shutdown = new gfx::Display(
@@ -662,9 +669,9 @@ void DisplayController::SetPrimaryDisplay(
// Update the dispay manager with new display info.
std::vector<internal::DisplayInfo> display_info_list;
display_info_list.push_back(display_manager->GetDisplayInfo(
- display_manager->GetDisplayForId(primary_display_id)));
+ primary_display_id));
display_info_list.push_back(display_manager->GetDisplayInfo(
- *GetSecondaryDisplay()));
+ GetSecondaryDisplay()->id()));
GetDisplayManager()->set_force_bounds_changed(true);
GetDisplayManager()->UpdateDisplays(display_info_list);
GetDisplayManager()->set_force_bounds_changed(false);
@@ -681,7 +688,7 @@ void DisplayController::OnDisplayBoundsChanged(const gfx::Display& display) {
if (limiter_.get())
limiter_->SetThrottleTimeout(kAfterDisplayChangeThrottleTimeoutMs);
const internal::DisplayInfo& display_info =
- GetDisplayManager()->GetDisplayInfo(display);
+ GetDisplayManager()->GetDisplayInfo(display.id());
DCHECK(!display_info.bounds_in_pixel().IsEmpty());
UpdateDisplayBoundsForLayout();
@@ -706,7 +713,7 @@ void DisplayController::OnDisplayAdded(const gfx::Display& display) {
primary_root_window_for_replace_ = NULL;
UpdateDisplayBoundsForLayout();
const internal::DisplayInfo& display_info =
- GetDisplayManager()->GetDisplayInfo(display);
+ GetDisplayManager()->GetDisplayInfo(display.id());
root_windows_[display.id()]->SetHostBoundsAndInsetsAndRootWindowScale(
display_info.bounds_in_pixel(),
display_info.GetOverscanInsetsInPixel(),
@@ -771,7 +778,7 @@ aura::RootWindow* DisplayController::CreateRootWindowForDisplay(
const gfx::Display& display) {
static int root_window_count = 0;
const internal::DisplayInfo& display_info =
- GetDisplayManager()->GetDisplayInfo(display);
+ GetDisplayManager()->GetDisplayInfo(display.id());
const gfx::Rect& bounds_in_pixel = display_info.bounds_in_pixel();
aura::RootWindow::CreateParams params(bounds_in_pixel);
params.host = Shell::GetInstance()->root_window_host_factory()->

Powered by Google App Engine
This is Rietveld 408576698