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

Unified Diff: ash/display/display_manager.cc

Issue 11363124: Move DisplayManager and DisplayChangeObserverX11 from aura to ash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix rebase Created 8 years, 1 month 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
« no previous file with comments | « ash/display/display_manager.h ('k') | ash/display/display_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/display/display_manager.cc
diff --git a/ash/display/multi_display_manager.cc b/ash/display/display_manager.cc
similarity index 85%
rename from ash/display/multi_display_manager.cc
rename to ash/display/display_manager.cc
index 46f1abc45199688d766ade5caf40ac4713439436..7016732ef17a0b874b2b58026d8e269873fca30c 100644
--- a/ash/display/multi_display_manager.cc
+++ b/ash/display/display_manager.cc
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ash/display/multi_display_manager.h"
+#include "ash/display/display_manager.h"
#include <string>
#include <vector>
#include "ash/display/display_controller.h"
+#include "ash/screen_ash.h"
#include "ash/shell.h"
#include "base/command_line.h"
#include "base/stl_util.h"
@@ -17,6 +18,7 @@
#include "grit/ash_strings.h"
#include "ui/aura/aura_switches.h"
#include "ui/aura/client/screen_position_client.h"
+#include "ui/aura/display_util.h"
#include "ui/aura/env.h"
#include "ui/aura/root_window.h"
#include "ui/aura/root_window_host.h"
@@ -79,30 +81,26 @@ using std::vector;
DEFINE_WINDOW_PROPERTY_KEY(int64, kDisplayIdKey,
gfx::Display::kInvalidDisplayID);
-MultiDisplayManager::MultiDisplayManager() :
+DisplayManager::DisplayManager() :
internal_display_id_(gfx::Display::kInvalidDisplayID),
force_bounds_changed_(false) {
Init();
}
-MultiDisplayManager::~MultiDisplayManager() {
+DisplayManager::~DisplayManager() {
}
// static
-void MultiDisplayManager::CycleDisplay() {
- MultiDisplayManager* manager = static_cast<MultiDisplayManager*>(
- aura::Env::GetInstance()->display_manager());
- manager->CycleDisplayImpl();
+void DisplayManager::CycleDisplay() {
+ Shell::GetInstance()->display_manager()->CycleDisplayImpl();
}
// static
-void MultiDisplayManager::ToggleDisplayScale() {
- MultiDisplayManager* manager = static_cast<MultiDisplayManager*>(
- aura::Env::GetInstance()->display_manager());
- manager->ScaleDisplayImpl();
+void DisplayManager::ToggleDisplayScale() {
+ Shell::GetInstance()->display_manager()->ScaleDisplayImpl();
}
-bool MultiDisplayManager::IsActiveDisplay(const gfx::Display& display) const {
+bool DisplayManager::IsActiveDisplay(const gfx::Display& display) const {
for (DisplayList::const_iterator iter = displays_.begin();
iter != displays_.end(); ++iter) {
if ((*iter).id() == display.id())
@@ -111,15 +109,15 @@ bool MultiDisplayManager::IsActiveDisplay(const gfx::Display& display) const {
return false;
}
-bool MultiDisplayManager::HasInternalDisplay() const {
+bool DisplayManager::HasInternalDisplay() const {
return internal_display_id_ != gfx::Display::kInvalidDisplayID;
}
-bool MultiDisplayManager::IsInternalDisplayId(int64 id) const {
+bool DisplayManager::IsInternalDisplayId(int64 id) const {
return internal_display_id_ == id;
}
-bool MultiDisplayManager::UpdateWorkAreaOfDisplayNearestWindow(
+bool DisplayManager::UpdateWorkAreaOfDisplayNearestWindow(
const aura::Window* window,
const gfx::Insets& insets) {
const RootWindow* root = window->GetRootWindow();
@@ -129,11 +127,11 @@ bool MultiDisplayManager::UpdateWorkAreaOfDisplayNearestWindow(
return old_work_area != display.work_area();
}
-const gfx::Display& MultiDisplayManager::GetDisplayForId(int64 id) const {
- return const_cast<MultiDisplayManager*>(this)->FindDisplayForId(id);
+const gfx::Display& DisplayManager::GetDisplayForId(int64 id) const {
+ return const_cast<DisplayManager*>(this)->FindDisplayForId(id);
}
-const gfx::Display& MultiDisplayManager::FindDisplayContainingPoint(
+const gfx::Display& DisplayManager::FindDisplayContainingPoint(
const gfx::Point& point_in_screen) const {
for (DisplayList::const_iterator iter = displays_.begin();
iter != displays_.end(); ++iter) {
@@ -144,8 +142,8 @@ const gfx::Display& MultiDisplayManager::FindDisplayContainingPoint(
return GetInvalidDisplay();
}
-void MultiDisplayManager::SetOverscanInsets(int64 display_id,
- const gfx::Insets& insets_in_dip) {
+void DisplayManager::SetOverscanInsets(int64 display_id,
+ const gfx::Insets& insets_in_dip) {
DisplayList displays = displays_;
std::map<int64, gfx::Insets>::const_iterator old_overscan =
overscan_mapping_.find(display_id);
@@ -166,13 +164,13 @@ void MultiDisplayManager::SetOverscanInsets(int64 display_id,
OnNativeDisplaysChanged(displays);
}
-gfx::Insets MultiDisplayManager::GetOverscanInsets(int64 display_id) const {
+gfx::Insets DisplayManager::GetOverscanInsets(int64 display_id) const {
std::map<int64, gfx::Insets>::const_iterator it =
overscan_mapping_.find(display_id);
return (it != overscan_mapping_.end()) ? it->second : gfx::Insets();
}
-void MultiDisplayManager::OnNativeDisplaysChanged(
+void DisplayManager::OnNativeDisplaysChanged(
const std::vector<gfx::Display>& updated_displays) {
if (updated_displays.empty()) {
// Don't update the displays when all displays are disconnected.
@@ -230,8 +228,8 @@ void MultiDisplayManager::OnNativeDisplaysChanged(
std::vector<size_t> changed_display_indices;
std::vector<size_t> added_display_indices;
gfx::Display current_primary;
- if (Shell::HasInstance())
- current_primary = Shell::GetScreen()->GetPrimaryDisplay();
+ if (DisplayController::HasPrimaryDisplay())
+ current_primary = DisplayController::GetPrimaryDisplay();
for (DisplayList::iterator curr_iter = displays_.begin(),
new_iter = new_displays.begin();
@@ -291,24 +289,22 @@ void MultiDisplayManager::OnNativeDisplaysChanged(
removed_displays.end());
for (std::vector<size_t>::iterator iter = changed_display_indices.begin();
iter != changed_display_indices.end(); ++iter) {
- NotifyBoundsChanged(displays_[*iter]);
+ Shell::GetInstance()->screen()->NotifyBoundsChanged(displays_[*iter]);
}
for (std::vector<size_t>::iterator iter = added_display_indices.begin();
iter != added_display_indices.end(); ++iter) {
- NotifyDisplayAdded(displays_[*iter]);
+ Shell::GetInstance()->screen()->NotifyDisplayAdded(displays_[*iter]);
}
-
for (DisplayList::const_reverse_iterator iter = removed_displays.rbegin();
iter != removed_displays.rend(); ++iter) {
- NotifyDisplayRemoved(displays_.back());
+ Shell::GetInstance()->screen()->NotifyDisplayRemoved(displays_.back());
displays_.pop_back();
}
EnsurePointerInDisplays();
}
-RootWindow* MultiDisplayManager::CreateRootWindowForDisplay(
+RootWindow* DisplayManager::CreateRootWindowForDisplay(
const gfx::Display& display) {
-
RootWindow::CreateParams params(display.bounds_in_pixel());
#if defined(OS_WIN)
if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
@@ -325,26 +321,26 @@ RootWindow* MultiDisplayManager::CreateRootWindowForDisplay(
return root_window;
}
-gfx::Display* MultiDisplayManager::GetDisplayAt(size_t index) {
+gfx::Display* DisplayManager::GetDisplayAt(size_t index) {
return index < displays_.size() ? &displays_[index] : NULL;
}
-size_t MultiDisplayManager::GetNumDisplays() const {
+size_t DisplayManager::GetNumDisplays() const {
return displays_.size();
}
-const gfx::Display& MultiDisplayManager::GetDisplayNearestWindow(
+const gfx::Display& DisplayManager::GetDisplayNearestWindow(
const Window* window) const {
if (!window)
return DisplayController::GetPrimaryDisplay();
const RootWindow* root = window->GetRootWindow();
- MultiDisplayManager* manager = const_cast<MultiDisplayManager*>(this);
+ DisplayManager* manager = const_cast<DisplayManager*>(this);
return root ?
manager->FindDisplayForRootWindow(root) :
DisplayController::GetPrimaryDisplay();
}
-const gfx::Display& MultiDisplayManager::GetDisplayNearestPoint(
+const gfx::Display& DisplayManager::GetDisplayNearestPoint(
const gfx::Point& point) const {
// Fallback to the primary display if there is no root display containing
// the |point|.
@@ -352,7 +348,7 @@ const gfx::Display& MultiDisplayManager::GetDisplayNearestPoint(
return display.is_valid() ? display : DisplayController::GetPrimaryDisplay();
}
-const gfx::Display& MultiDisplayManager::GetDisplayMatching(
+const gfx::Display& DisplayManager::GetDisplayMatching(
const gfx::Rect& rect) const {
if (rect.IsEmpty())
return GetDisplayNearestPoint(rect.origin());
@@ -373,7 +369,7 @@ const gfx::Display& MultiDisplayManager::GetDisplayMatching(
return matching ? *matching : DisplayController::GetPrimaryDisplay();
}
-std::string MultiDisplayManager::GetDisplayNameFor(
+std::string DisplayManager::GetDisplayNameFor(
const gfx::Display& display) {
if (!display.is_valid())
return l10n_util::GetStringUTF8(IDS_ASH_STATUS_TRAY_UNKNOWN_DISPLAY_NAME);
@@ -386,18 +382,18 @@ std::string MultiDisplayManager::GetDisplayNameFor(
return base::StringPrintf("Display %d", static_cast<int>(display.id()));
}
-void MultiDisplayManager::OnRootWindowResized(const aura::RootWindow* root,
- const gfx::Size& old_size) {
- if (!use_fullscreen_host_window()) {
+void DisplayManager::OnRootWindowResized(const aura::RootWindow* root,
+ const gfx::Size& old_size) {
+ if (!aura::UseFullscreenHostWindow()) {
gfx::Display& display = FindDisplayForRootWindow(root);
if (display.size() != root->GetHostSize()) {
display.SetSize(root->GetHostSize());
- NotifyBoundsChanged(display);
+ Shell::GetInstance()->screen()->NotifyBoundsChanged(display);
}
}
}
-void MultiDisplayManager::Init() {
+void DisplayManager::Init() {
#if defined(OS_CHROMEOS)
if (base::chromeos::IsRunningOnChromeOS()) {
std::vector<XID> outputs;
@@ -417,7 +413,7 @@ void MultiDisplayManager::Init() {
#if defined(OS_WIN)
if (base::win::GetVersion() >= base::win::VERSION_WIN8)
- set_use_fullscreen_host_window(true);
+ aura::SetUseFullscreenHostWindow(true);
#endif
// TODO(oshima): Move this logic to DisplayChangeObserver.
const string size_str = CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
@@ -432,17 +428,17 @@ void MultiDisplayManager::Init() {
AddDisplayFromSpec(std::string() /* default */);
}
-void MultiDisplayManager::CycleDisplayImpl() {
+void DisplayManager::CycleDisplayImpl() {
DCHECK(!displays_.empty());
std::vector<gfx::Display> new_displays;
new_displays.push_back(DisplayController::GetPrimaryDisplay());
// Add if there is only one display.
if (displays_.size() == 1)
- new_displays.push_back(CreateDisplayFromSpec("100+200-500x400"));
+ new_displays.push_back(aura::CreateDisplayFromSpec("100+200-500x400"));
OnNativeDisplaysChanged(new_displays);
}
-void MultiDisplayManager::ScaleDisplayImpl() {
+void DisplayManager::ScaleDisplayImpl() {
DCHECK(!displays_.empty());
std::vector<gfx::Display> new_displays;
for (DisplayList::const_iterator iter = displays_.begin();
@@ -458,7 +454,7 @@ void MultiDisplayManager::ScaleDisplayImpl() {
OnNativeDisplaysChanged(new_displays);
}
-gfx::Display& MultiDisplayManager::FindDisplayForRootWindow(
+gfx::Display& DisplayManager::FindDisplayForRootWindow(
const aura::RootWindow* root_window) {
int64 id = root_window->GetProperty(kDisplayIdKey);
// if id is |kInvaildDisplayID|, it's being deleted.
@@ -468,7 +464,7 @@ gfx::Display& MultiDisplayManager::FindDisplayForRootWindow(
return display;
}
-gfx::Display& MultiDisplayManager::FindDisplayForId(int64 id) {
+gfx::Display& DisplayManager::FindDisplayForId(int64 id) {
for (DisplayList::iterator iter = displays_.begin();
iter != displays_.end(); ++iter) {
if ((*iter).id() == id)
@@ -478,8 +474,8 @@ gfx::Display& MultiDisplayManager::FindDisplayForId(int64 id) {
return GetInvalidDisplay();
}
-void MultiDisplayManager::AddDisplayFromSpec(const std::string& spec) {
- gfx::Display display = CreateDisplayFromSpec(spec);
+void DisplayManager::AddDisplayFromSpec(const std::string& spec) {
+ gfx::Display display = aura::CreateDisplayFromSpec(spec);
const gfx::Insets insets = display.GetWorkAreaInsets();
const gfx::Rect& native_bounds = display.bounds_in_pixel();
@@ -488,16 +484,16 @@ void MultiDisplayManager::AddDisplayFromSpec(const std::string& spec) {
displays_.push_back(display);
}
-int64 MultiDisplayManager::SetFirstDisplayAsInternalDisplayForTest() {
+int64 DisplayManager::SetFirstDisplayAsInternalDisplayForTest() {
internal_display_id_ = displays_[0].id();
internal_display_.reset(new gfx::Display);
*internal_display_ = displays_[0];
return internal_display_id_;
}
-void MultiDisplayManager::EnsurePointerInDisplays() {
+void DisplayManager::EnsurePointerInDisplays() {
// Don't try to move the pointer during the boot/startup.
- if (!Shell::HasInstance())
+ if (!DisplayController::HasPrimaryDisplay())
return;
gfx::Point location_in_screen = Shell::GetScreen()->GetCursorScreenPoint();
gfx::Point target_location;
@@ -533,7 +529,7 @@ void MultiDisplayManager::EnsurePointerInDisplays() {
root_window->MoveCursorTo(target_location);
}
-void MultiDisplayManager::RefreshDisplayNames() {
+void DisplayManager::RefreshDisplayNames() {
display_names_.clear();
#if defined(OS_CHROMEOS)
@@ -564,7 +560,7 @@ void MultiDisplayManager::RefreshDisplayNames() {
#endif
}
-void MultiDisplayManager::SetDisplayIdsForTest(DisplayList* to_update) const {
+void DisplayManager::SetDisplayIdsForTest(DisplayList* to_update) const {
DisplayList::iterator iter_to_update = to_update->begin();
DisplayList::const_iterator iter = displays_.begin();
for (; iter != displays_.end() && iter_to_update != to_update->end();
« no previous file with comments | « ash/display/display_manager.h ('k') | ash/display/display_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698