diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-28 15:12:06 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-28 15:12:06 +0000 |
commit | 93c7e56296435ea48a0b25a50f662243b6f62980 (patch) | |
tree | 3c3b10ee5fabcf141f2196f964cf1b620793f511 /ash | |
parent | d5ba6eb9aa57076cf046cf2834751b523dc7c471 (diff) | |
download | chromium_src-93c7e56296435ea48a0b25a50f662243b6f62980.zip chromium_src-93c7e56296435ea48a0b25a50f662243b6f62980.tar.gz chromium_src-93c7e56296435ea48a0b25a50f662243b6f62980.tar.bz2 |
Move DisplayLayout out from display_controller.h
Remove unnecessary includes
BUG=253991
R=jamescook@chromium.org
Review URL: https://codereview.chromium.org/18080004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209143 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/ash.gyp | 2 | ||||
-rw-r--r-- | ash/display/display_controller.cc | 137 | ||||
-rw-r--r-- | ash/display/display_controller.h | 54 | ||||
-rw-r--r-- | ash/display/display_layout.cc | 152 | ||||
-rw-r--r-- | ash/display/display_layout.h | 71 | ||||
-rw-r--r-- | ash/display/display_manager.h | 2 | ||||
-rw-r--r-- | ash/magnifier/magnification_controller.cc | 2 | ||||
-rw-r--r-- | ash/magnifier/magnification_controller_unittest.cc | 1 | ||||
-rw-r--r-- | ash/root_window_controller.cc | 2 | ||||
-rw-r--r-- | ash/root_window_controller_unittest.cc | 1 | ||||
-rw-r--r-- | ash/screen_ash_unittest.cc | 1 | ||||
-rw-r--r-- | ash/tooltips/tooltip_controller_unittest.cc | 1 | ||||
-rw-r--r-- | ash/wm/dock/docked_window_resizer.cc | 1 | ||||
-rw-r--r-- | ash/wm/stacking_controller.cc | 1 | ||||
-rw-r--r-- | ash/wm/window_cycle_controller_unittest.cc | 2 | ||||
-rw-r--r-- | ash/wm/workspace/workspace_window_resizer.cc | 1 |
16 files changed, 233 insertions, 198 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index d174f7f..8d5becb 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -92,6 +92,8 @@ 'display/display_error_dialog.h', 'display/display_info.h', 'display/display_info.cc', + 'display/display_layout.h', + 'display/display_layout.cc', 'display/display_manager.cc', 'display/display_manager.h', 'display/display_pref_util.h', diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc index 1caff13..1e42004 100644 --- a/ash/display/display_controller.cc +++ b/ash/display/display_controller.cc @@ -10,7 +10,6 @@ #include "ash/ash_switches.h" #include "ash/display/display_manager.h" -#include "ash/display/display_pref_util.h" #include "ash/display/root_window_transformers.h" #include "ash/host/root_window_host_factory.h" #include "ash/root_window_controller.h" @@ -20,18 +19,13 @@ #include "ash/wm/property_util.h" #include "ash/wm/window_util.h" #include "base/command_line.h" -#include "base/json/json_value_converter.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_piece.h" #include "base/strings/stringprintf.h" -#include "base/values.h" #include "third_party/skia/include/utils/SkMatrix44.h" #include "ui/aura/client/activation_client.h" #include "ui/aura/client/capture_client.h" #include "ui/aura/client/cursor_client.h" #include "ui/aura/client/focus_client.h" #include "ui/aura/client/screen_position_client.h" -#include "ui/aura/env.h" #include "ui/aura/root_window.h" #include "ui/aura/root_window_transformer.h" #include "ui/aura/window.h" @@ -70,10 +64,6 @@ gfx::Display* primary_display_for_shutdown = NULL; // ash::Shell:: is deleted. int num_displays_for_shutdown = -1; -// The maximum value for 'offset' in DisplayLayout in case of outliers. Need -// to change this value in case to support even larger displays. -const int kMaxValidOffset = 10000; - // Specifies how long the display change should have been disabled // after each display change operations. // |kCycleDisplayThrottleTimeoutMs| is set to be longer to avoid @@ -84,41 +74,6 @@ const int64 kAfterDisplayChangeThrottleTimeoutMs = 500; const int64 kCycleDisplayThrottleTimeoutMs = 4000; const int64 kSwapDisplayThrottleTimeoutMs = 500; -// Persistent key names -const char kPositionKey[] = "position"; -const char kOffsetKey[] = "offset"; -const char kMirroredKey[] = "mirrored"; -const char kPrimaryIdKey[] = "primary-id"; - -typedef std::map<DisplayLayout::Position, std::string> PositionToStringMap; - -const PositionToStringMap* GetPositionToStringMap() { - static const PositionToStringMap* map = CreateToStringMap( - DisplayLayout::TOP, "top", - DisplayLayout::BOTTOM, "bottom", - DisplayLayout::RIGHT, "right", - DisplayLayout::LEFT, "left"); - return map; -} - -bool GetPositionFromString(const base::StringPiece& position, - DisplayLayout::Position* field) { - if (ReverseFind(GetPositionToStringMap(), position, field)) - return true; - LOG(ERROR) << "Invalid position value:" << position; - return false; -} - -std::string GetStringFromPosition(DisplayLayout::Position position) { - const PositionToStringMap* map = GetPositionToStringMap(); - PositionToStringMap::const_iterator iter = map->find(position); - return iter != map->end() ? iter->second : std::string("unknown"); -} - -bool GetDisplayIdFromString(const base::StringPiece& position, int64* field) { - return base::StringToInt64(position, field); -} - internal::DisplayManager* GetDisplayManager() { return Shell::GetInstance()->display_manager(); } @@ -239,98 +194,6 @@ class FocusActivationStore { } // namespace internal //////////////////////////////////////////////////////////////////////////////// -// DisplayLayout - -// static -DisplayLayout DisplayLayout::FromInts(int position, int offsets) { - return DisplayLayout(static_cast<Position>(position), offsets); -} - -DisplayLayout::DisplayLayout() - : position(RIGHT), - offset(0), - mirrored(false), - primary_id(gfx::Display::kInvalidDisplayID) { -} - -DisplayLayout::DisplayLayout(DisplayLayout::Position position, int offset) - : position(position), - offset(offset), - mirrored(false), - primary_id(gfx::Display::kInvalidDisplayID) { - DCHECK_LE(TOP, position); - DCHECK_GE(LEFT, position); - - // Set the default value to |position| in case position is invalid. DCHECKs - // above doesn't stop in Release builds. - if (TOP > position || LEFT < position) - this->position = RIGHT; - - DCHECK_GE(kMaxValidOffset, abs(offset)); -} - -DisplayLayout DisplayLayout::Invert() const { - Position inverted_position = RIGHT; - switch (position) { - case TOP: - inverted_position = BOTTOM; - break; - case BOTTOM: - inverted_position = TOP; - break; - case RIGHT: - inverted_position = LEFT; - break; - case LEFT: - inverted_position = RIGHT; - break; - } - DisplayLayout ret = DisplayLayout(inverted_position, -offset); - ret.primary_id = primary_id; - return ret; -} - -// static -bool DisplayLayout::ConvertFromValue(const base::Value& value, - DisplayLayout* layout) { - base::JSONValueConverter<DisplayLayout> converter; - return converter.Convert(value, layout); -} - -// static -bool DisplayLayout::ConvertToValue(const DisplayLayout& layout, - base::Value* value) { - base::DictionaryValue* dict_value = NULL; - if (!value->GetAsDictionary(&dict_value) || dict_value == NULL) - return false; - - const std::string position_str = GetStringFromPosition(layout.position); - dict_value->SetString(kPositionKey, position_str); - dict_value->SetInteger(kOffsetKey, layout.offset); - dict_value->SetBoolean(kMirroredKey, layout.mirrored); - dict_value->SetString(kPrimaryIdKey, base::Int64ToString(layout.primary_id)); - return true; -} - -std::string DisplayLayout::ToString() const { - const std::string position_str = GetStringFromPosition(position); - return base::StringPrintf( - "%s, %d%s", - position_str.c_str(), offset, mirrored ? ", mirrored" : ""); -} - -// static -void DisplayLayout::RegisterJSONConverter( - base::JSONValueConverter<DisplayLayout>* converter) { - converter->RegisterCustomField<Position>( - kPositionKey, &DisplayLayout::position, &GetPositionFromString); - converter->RegisterIntField(kOffsetKey, &DisplayLayout::offset); - converter->RegisterBoolField(kMirroredKey, &DisplayLayout::mirrored); - converter->RegisterCustomField<int64>( - kPrimaryIdKey, &DisplayLayout::primary_id, &GetDisplayIdFromString); -} - -//////////////////////////////////////////////////////////////////////////////// // DisplayChangeLimiter DisplayController::DisplayChangeLimiter::DisplayChangeLimiter() diff --git a/ash/display/display_controller.h b/ash/display/display_controller.h index bfe86ff..948a7ad 100644 --- a/ash/display/display_controller.h +++ b/ash/display/display_controller.h @@ -9,13 +9,13 @@ #include <vector> #include "ash/ash_export.h" +#include "ash/display/display_layout.h" #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" #include "base/memory/scoped_ptr.h" #include "base/observer_list.h" #include "base/time/time.h" -#include "ui/gfx/display.h" #include "ui/gfx/display_observer.h" namespace aura { @@ -28,6 +28,12 @@ class Value; template <typename T> class JSONValueConverter; } +namespace gfx { +class Display; +class Insets; +class Point; +} + namespace ash { namespace internal { class DisplayManager; @@ -35,52 +41,6 @@ class FocusActivationStore; class RootWindowController; } -typedef std::pair<int64, int64> DisplayIdPair; - -struct ASH_EXPORT DisplayLayout { - // Layout options where the secondary display should be positioned. - enum Position { - TOP, - RIGHT, - BOTTOM, - LEFT - }; - // Factory method to create DisplayLayout from ints. The |mirrored| is - // set to false and |primary_id| is set to gfx::Display::kInvalidDisplayId. - // Used for persistence and webui. - static DisplayLayout FromInts(int position, int offsets); - - DisplayLayout(); - DisplayLayout(Position position, int offset); - - // Returns an inverted display layout. - DisplayLayout Invert() const WARN_UNUSED_RESULT; - - // Converter functions to/from base::Value. - static bool ConvertFromValue(const base::Value& value, DisplayLayout* layout); - static bool ConvertToValue(const DisplayLayout& layout, base::Value* value); - - // This method is used by base::JSONValueConverter, you don't need to call - // this directly. Instead consider using converter functions above. - static void RegisterJSONConverter( - base::JSONValueConverter<DisplayLayout>* converter); - - Position position; - - // The offset of the position of the secondary display. The offset is - // based on the top/left edge of the primary display. - int offset; - - // True if displays are mirrored. - bool mirrored; - - // The id of the display used as a primary display. - int64 primary_id; - - // Returns string representation of the layout for debugging/testing. - std::string ToString() const; -}; - // DisplayController owns and maintains RootWindows for each attached // display, keeping them in sync with display configuration changes. class ASH_EXPORT DisplayController : public gfx::DisplayObserver { diff --git a/ash/display/display_layout.cc b/ash/display/display_layout.cc new file mode 100644 index 0000000..a733e76 --- /dev/null +++ b/ash/display/display_layout.cc @@ -0,0 +1,152 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ash/display/display_layout.h" + +#include "ash/display/display_pref_util.h" +#include "base/json/json_value_converter.h" +#include "base/logging.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/string_piece.h" +#include "base/strings/stringprintf.h" +#include "base/values.h" +#include "ui/gfx/display.h" + +namespace ash { +namespace { + +// The maximum value for 'offset' in DisplayLayout in case of outliers. Need +// to change this value in case to support even larger displays. +const int kMaxValidOffset = 10000; + +// Persistent key names +const char kPositionKey[] = "position"; +const char kOffsetKey[] = "offset"; +const char kMirroredKey[] = "mirrored"; +const char kPrimaryIdKey[] = "primary-id"; + +typedef std::map<DisplayLayout::Position, std::string> PositionToStringMap; + +const PositionToStringMap* GetPositionToStringMap() { + static const PositionToStringMap* map = CreateToStringMap( + DisplayLayout::TOP, "top", + DisplayLayout::BOTTOM, "bottom", + DisplayLayout::RIGHT, "right", + DisplayLayout::LEFT, "left"); + return map; +} + +bool GetPositionFromString(const base::StringPiece& position, + DisplayLayout::Position* field) { + if (ReverseFind(GetPositionToStringMap(), position, field)) + return true; + LOG(ERROR) << "Invalid position value:" << position; + return false; +} + +std::string GetStringFromPosition(DisplayLayout::Position position) { + const PositionToStringMap* map = GetPositionToStringMap(); + PositionToStringMap::const_iterator iter = map->find(position); + return iter != map->end() ? iter->second : std::string("unknown"); +} + +bool GetDisplayIdFromString(const base::StringPiece& position, int64* field) { + return base::StringToInt64(position, field); +} + +} // namespace + +//////////////////////////////////////////////////////////////////////////////// +// DisplayLayout + +// static +DisplayLayout DisplayLayout::FromInts(int position, int offsets) { + return DisplayLayout(static_cast<Position>(position), offsets); +} + +DisplayLayout::DisplayLayout() + : position(RIGHT), + offset(0), + mirrored(false), + primary_id(gfx::Display::kInvalidDisplayID) { +} + +DisplayLayout::DisplayLayout(DisplayLayout::Position position, int offset) + : position(position), + offset(offset), + mirrored(false), + primary_id(gfx::Display::kInvalidDisplayID) { + DCHECK_LE(TOP, position); + DCHECK_GE(LEFT, position); + + // Set the default value to |position| in case position is invalid. DCHECKs + // above doesn't stop in Release builds. + if (TOP > position || LEFT < position) + this->position = RIGHT; + + DCHECK_GE(kMaxValidOffset, abs(offset)); +} + +DisplayLayout DisplayLayout::Invert() const { + Position inverted_position = RIGHT; + switch (position) { + case TOP: + inverted_position = BOTTOM; + break; + case BOTTOM: + inverted_position = TOP; + break; + case RIGHT: + inverted_position = LEFT; + break; + case LEFT: + inverted_position = RIGHT; + break; + } + DisplayLayout ret = DisplayLayout(inverted_position, -offset); + ret.primary_id = primary_id; + return ret; +} + +// static +bool DisplayLayout::ConvertFromValue(const base::Value& value, + DisplayLayout* layout) { + base::JSONValueConverter<DisplayLayout> converter; + return converter.Convert(value, layout); +} + +// static +bool DisplayLayout::ConvertToValue(const DisplayLayout& layout, + base::Value* value) { + base::DictionaryValue* dict_value = NULL; + if (!value->GetAsDictionary(&dict_value) || dict_value == NULL) + return false; + + const std::string position_str = GetStringFromPosition(layout.position); + dict_value->SetString(kPositionKey, position_str); + dict_value->SetInteger(kOffsetKey, layout.offset); + dict_value->SetBoolean(kMirroredKey, layout.mirrored); + dict_value->SetString(kPrimaryIdKey, base::Int64ToString(layout.primary_id)); + return true; +} + +std::string DisplayLayout::ToString() const { + const std::string position_str = GetStringFromPosition(position); + return base::StringPrintf( + "%s, %d%s", + position_str.c_str(), offset, mirrored ? ", mirrored" : ""); +} + +// static +void DisplayLayout::RegisterJSONConverter( + base::JSONValueConverter<DisplayLayout>* converter) { + converter->RegisterCustomField<Position>( + kPositionKey, &DisplayLayout::position, &GetPositionFromString); + converter->RegisterIntField(kOffsetKey, &DisplayLayout::offset); + converter->RegisterBoolField(kMirroredKey, &DisplayLayout::mirrored); + converter->RegisterCustomField<int64>( + kPrimaryIdKey, &DisplayLayout::primary_id, &GetDisplayIdFromString); +} + +} // namespace ash diff --git a/ash/display/display_layout.h b/ash/display/display_layout.h new file mode 100644 index 0000000..dc32208 --- /dev/null +++ b/ash/display/display_layout.h @@ -0,0 +1,71 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef ASH_DISPLAY_DISPLAY_LAYOUT_H_ +#define ASH_DISPLAY_DISPLAY_LAYOUT_H_ + +#include <map> +#include <string> + +#include "ash/ash_export.h" +#include "base/basictypes.h" +#include "base/compiler_specific.h" + +namespace base { +class Value; +template <typename T> class JSONValueConverter; +} + +namespace ash { + +typedef std::pair<int64, int64> DisplayIdPair; + +struct ASH_EXPORT DisplayLayout { + // Layout options where the secondary display should be positioned. + enum Position { + TOP, + RIGHT, + BOTTOM, + LEFT + }; + + // Factory method to create DisplayLayout from ints. The |mirrored| is + // set to false and |primary_id| is set to gfx::Display::kInvalidDisplayId. + // Used for persistence and webui. + static DisplayLayout FromInts(int position, int offsets); + + DisplayLayout(); + DisplayLayout(Position position, int offset); + + // Returns an inverted display layout. + DisplayLayout Invert() const WARN_UNUSED_RESULT; + + // Converter functions to/from base::Value. + static bool ConvertFromValue(const base::Value& value, DisplayLayout* layout); + static bool ConvertToValue(const DisplayLayout& layout, base::Value* value); + + // This method is used by base::JSONValueConverter, you don't need to call + // this directly. Instead consider using converter functions above. + static void RegisterJSONConverter( + base::JSONValueConverter<DisplayLayout>* converter); + + Position position; + + // The offset of the position of the secondary display. The offset is + // based on the top/left edge of the primary display. + int offset; + + // True if displays are mirrored. + bool mirrored; + + // The id of the display used as a primary display. + int64 primary_id; + + // Returns string representation of the layout for debugging/testing. + std::string ToString() const; +}; + +} // namespace ash + +#endif diff --git a/ash/display/display_manager.h b/ash/display/display_manager.h index 916b8ba..53038c1 100644 --- a/ash/display/display_manager.h +++ b/ash/display/display_manager.h @@ -9,8 +9,8 @@ #include <vector> #include "ash/ash_export.h" -#include "ash/display/display_controller.h" #include "ash/display/display_info.h" +#include "ash/display/display_layout.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" #include "ui/aura/root_window_observer.h" diff --git a/ash/magnifier/magnification_controller.cc b/ash/magnifier/magnification_controller.cc index bb50285..c8becce 100644 --- a/ash/magnifier/magnification_controller.cc +++ b/ash/magnifier/magnification_controller.cc @@ -4,8 +4,6 @@ #include "ash/magnifier/magnification_controller.h" -#include "ash/display/display_controller.h" -#include "ash/display/display_manager.h" #include "ash/display/root_window_transformers.h" #include "ash/shell.h" #include "ash/shell_delegate.h" diff --git a/ash/magnifier/magnification_controller_unittest.cc b/ash/magnifier/magnification_controller_unittest.cc index 701c1f4..f369586 100644 --- a/ash/magnifier/magnification_controller_unittest.cc +++ b/ash/magnifier/magnification_controller_unittest.cc @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "ash/display/display_controller.h" #include "ash/magnifier/magnification_controller.h" #include "ash/magnifier/magnifier_constants.h" #include "ash/shell.h" diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc index 143f0ea..2ce0102 100644 --- a/ash/root_window_controller.cc +++ b/ash/root_window_controller.cc @@ -9,7 +9,6 @@ #include "ash/ash_constants.h" #include "ash/ash_switches.h" #include "ash/desktop_background/desktop_background_widget_controller.h" -#include "ash/display/display_controller.h" #include "ash/display/display_manager.h" #include "ash/focus_cycler.h" #include "ash/session_state_delegate.h" @@ -47,7 +46,6 @@ #include "ui/aura/window.h" #include "ui/aura/window_observer.h" #include "ui/base/models/menu_model.h" -#include "ui/gfx/display.h" #include "ui/gfx/screen.h" #include "ui/keyboard/keyboard_controller.h" #include "ui/keyboard/keyboard_util.h" diff --git a/ash/root_window_controller_unittest.cc b/ash/root_window_controller_unittest.cc index 81a3e62..9896f95 100644 --- a/ash/root_window_controller_unittest.cc +++ b/ash/root_window_controller_unittest.cc @@ -4,7 +4,6 @@ #include "ash/root_window_controller.h" -#include "ash/display/display_controller.h" #include "ash/session_state_delegate.h" #include "ash/shelf/shelf_layout_manager.h" #include "ash/shell.h" diff --git a/ash/screen_ash_unittest.cc b/ash/screen_ash_unittest.cc index f5faf3b..2243742 100644 --- a/ash/screen_ash_unittest.cc +++ b/ash/screen_ash_unittest.cc @@ -4,7 +4,6 @@ #include "ash/screen_ash.h" -#include "ash/display/display_controller.h" #include "ash/root_window_controller.h" #include "ash/shelf/shelf_layout_manager.h" #include "ash/shelf/shelf_widget.h" diff --git a/ash/tooltips/tooltip_controller_unittest.cc b/ash/tooltips/tooltip_controller_unittest.cc index ff894c8..8cf0daf 100644 --- a/ash/tooltips/tooltip_controller_unittest.cc +++ b/ash/tooltips/tooltip_controller_unittest.cc @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "ash/display/display_controller.h" #include "ash/shell.h" #include "ash/test/ash_test_base.h" #include "base/strings/utf_string_conversions.h" diff --git a/ash/wm/dock/docked_window_resizer.cc b/ash/wm/dock/docked_window_resizer.cc index 931ecb0..780e1bf 100644 --- a/ash/wm/dock/docked_window_resizer.cc +++ b/ash/wm/dock/docked_window_resizer.cc @@ -5,7 +5,6 @@ #include "ash/wm/dock/docked_window_resizer.h" #include "ash/ash_switches.h" -#include "ash/display/display_controller.h" #include "ash/launcher/launcher.h" #include "ash/root_window_controller.h" #include "ash/screen_ash.h" diff --git a/ash/wm/stacking_controller.cc b/ash/wm/stacking_controller.cc index 7b3337f..3ba9dca 100644 --- a/ash/wm/stacking_controller.cc +++ b/ash/wm/stacking_controller.cc @@ -4,7 +4,6 @@ #include "ash/wm/stacking_controller.h" -#include "ash/display/display_controller.h" #include "ash/session_state_delegate.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" diff --git a/ash/wm/window_cycle_controller_unittest.cc b/ash/wm/window_cycle_controller_unittest.cc index e639258..8e74543 100644 --- a/ash/wm/window_cycle_controller_unittest.cc +++ b/ash/wm/window_cycle_controller_unittest.cc @@ -6,8 +6,6 @@ #include <algorithm> -#include "ash/display/display_controller.h" -#include "ash/display/display_manager.h" #include "ash/session_state_delegate.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" diff --git a/ash/wm/workspace/workspace_window_resizer.cc b/ash/wm/workspace/workspace_window_resizer.cc index 4472815..cf2d8b0 100644 --- a/ash/wm/workspace/workspace_window_resizer.cc +++ b/ash/wm/workspace/workspace_window_resizer.cc @@ -10,7 +10,6 @@ #include <vector> #include "ash/ash_switches.h" -#include "ash/display/display_controller.h" #include "ash/screen_ash.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" |