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

Unified Diff: ash/shell.cc

Issue 17063013: Separate projection mode from rest of touch HUD (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Renamed TouchHudDebug and applied some more reviews Created 7 years, 6 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/shell.cc
diff --git a/ash/shell.cc b/ash/shell.cc
index 84fe09f2acc4557c38bbe6ec0fbedc2f7906c8f5..2b9a29f3e24647fd8696a6f458f9d5cd2677c378 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -208,7 +208,8 @@ Shell::Shell(ShellDelegate* delegate)
cursor_manager_(scoped_ptr<views::corewm::NativeCursorManager>(
native_cursor_manager_)),
browser_context_(NULL),
- simulate_modal_window_open_for_testing_(false) {
+ simulate_modal_window_open_for_testing_(false),
+ touch_hud_projection_enabled_(false) {
DCHECK(delegate_.get());
display_manager_.reset(new internal::DisplayManager);
mirror_window_controller_.reset(new internal::MirrorWindowController);
@@ -849,6 +850,26 @@ LauncherDelegate* Shell::GetLauncherDelegate() {
return launcher_delegate_.get();
}
+void Shell::SetTouchHudProjectionEnabled(bool enabled) {
+ if (touch_hud_projection_enabled_ == enabled)
+ return;
+
+ RootWindowList roots = GetInstance()->GetAllRootWindows();
+ for (RootWindowList::iterator iter = roots.begin(); iter != roots.end();
+ ++iter) {
+ internal::RootWindowController* controller = GetRootWindowController(*iter);
+ if (enabled)
+ controller->EnableTouchHudProjection();
+ else
+ controller->DisableTouchHudProjection();
+ }
+ touch_hud_projection_enabled_ = enabled;
+}
+
+void Shell::ToggleTouchHudProjection() {
+ SetTouchHudProjectionEnabled(!touch_hud_projection_enabled_);
+}
+
void Shell::InitRootWindowForSecondaryDisplay(aura::RootWindow* root) {
aura::client::SetFocusClient(root, focus_client_.get());
internal::RootWindowController* controller =
@@ -908,6 +929,7 @@ void Shell::InitRootWindowController(
root_window->SetCursor(ui::kCursorPointer);
controller->InitLayoutManagers();
+ controller->InitTouchHuds();
// TODO(oshima): Move the instance to RootWindowController when
// the extended desktop is enabled by default.

Powered by Google App Engine
This is Rietveld 408576698