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

Side by Side Diff: ash/magnifier/partial_magnification_controller.cc

Issue 64933002: Eliminate Shell::RootWindowList in favor of aura::Window::Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/magnifier/partial_magnification_controller.h" 5 #include "ash/magnifier/partial_magnification_controller.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 8 #include "ash/shell_window_ids.h"
9 #include "ui/aura/root_window.h" 9 #include "ui/aura/root_window.h"
10 #include "ui/views/corewm/compound_event_filter.h" 10 #include "ui/views/corewm/compound_event_filter.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 } 93 }
94 94
95 //////////////////////////////////////////////////////////////////////////////// 95 ////////////////////////////////////////////////////////////////////////////////
96 // PartialMagnificationController: aura::WindowObserver implementation 96 // PartialMagnificationController: aura::WindowObserver implementation
97 97
98 void PartialMagnificationController::OnWindowDestroying( 98 void PartialMagnificationController::OnWindowDestroying(
99 aura::Window* window) { 99 aura::Window* window) {
100 CloseMagnifierWindow(); 100 CloseMagnifierWindow();
101 101
102 aura::RootWindow* new_root_window = GetCurrentRootWindow(); 102 aura::Window* new_root_window = GetCurrentRootWindow();
103 if (new_root_window != window) 103 if (new_root_window != window)
104 SwitchTargetRootWindow(new_root_window); 104 SwitchTargetRootWindow(new_root_window);
105 } 105 }
106 106
107 void PartialMagnificationController::OnWidgetDestroying( 107 void PartialMagnificationController::OnWidgetDestroying(
108 views::Widget* widget) { 108 views::Widget* widget) {
109 DCHECK_EQ(widget, zoom_widget_); 109 DCHECK_EQ(widget, zoom_widget_);
110 RemoveZoomWidgetObservers(); 110 RemoveZoomWidgetObservers();
111 zoom_widget_ = NULL; 111 zoom_widget_ = NULL;
112 } 112 }
(...skipping 11 matching lines...) Expand all
124 } 124 }
125 125
126 bool PartialMagnificationController::IsPartialMagnified() const { 126 bool PartialMagnificationController::IsPartialMagnified() const {
127 return scale_ >= kMinPartialMagnifiedScaleThreshold; 127 return scale_ >= kMinPartialMagnifiedScaleThreshold;
128 } 128 }
129 129
130 void PartialMagnificationController::CreateMagnifierWindow() { 130 void PartialMagnificationController::CreateMagnifierWindow() {
131 if (zoom_widget_) 131 if (zoom_widget_)
132 return; 132 return;
133 133
134 aura::RootWindow* root_window = GetCurrentRootWindow(); 134 aura::Window* root_window = GetCurrentRootWindow();
135 if (!root_window) 135 if (!root_window)
136 return; 136 return;
137 137
138 root_window->AddObserver(this); 138 root_window->AddObserver(this);
139 139
140 gfx::Point mouse(root_window->GetLastMouseLocationInRoot()); 140 gfx::Point mouse(root_window->GetDispatcher()->GetLastMouseLocationInRoot());
141 141
142 zoom_widget_ = new views::Widget; 142 zoom_widget_ = new views::Widget;
143 views::Widget::InitParams params( 143 views::Widget::InitParams params(
144 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); 144 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
145 params.can_activate = false; 145 params.can_activate = false;
146 params.accept_events = false; 146 params.accept_events = false;
147 params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; 147 params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
148 params.parent = root_window; 148 params.parent = root_window;
149 zoom_widget_->Init(params); 149 zoom_widget_->Init(params);
150 zoom_widget_->SetBounds(gfx::Rect(mouse.x() - kMagnifierWidth / 2, 150 zoom_widget_->SetBounds(gfx::Rect(mouse.x() - kMagnifierWidth / 2,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 if (zoom_widget_ && 189 if (zoom_widget_ &&
190 new_root_window == zoom_widget_->GetNativeView()->GetRootWindow()) 190 new_root_window == zoom_widget_->GetNativeView()->GetRootWindow())
191 return; 191 return;
192 192
193 CloseMagnifierWindow(); 193 CloseMagnifierWindow();
194 194
195 // Recreate the magnifier window by updating the scale factor. 195 // Recreate the magnifier window by updating the scale factor.
196 SetScale(GetScale()); 196 SetScale(GetScale());
197 } 197 }
198 198
199 aura::RootWindow* PartialMagnificationController::GetCurrentRootWindow() { 199 aura::Window* PartialMagnificationController::GetCurrentRootWindow() {
200 Shell::RootWindowList root_windows = Shell::GetAllRootWindows(); 200 aura::Window::Windows root_windows = Shell::GetAllRootWindows();
201 for (Shell::RootWindowList::const_iterator iter = root_windows.begin(); 201 for (aura::Window::Windows::const_iterator iter = root_windows.begin();
202 iter != root_windows.end(); ++iter) { 202 iter != root_windows.end(); ++iter) {
203 aura::RootWindow* root_window = *iter; 203 aura::Window* root_window = *iter;
204 if (root_window->ContainsPointInRoot( 204 if (root_window->ContainsPointInRoot(
205 root_window->GetLastMouseLocationInRoot())) 205 root_window->GetDispatcher()->GetLastMouseLocationInRoot()))
206 return root_window; 206 return root_window;
207 } 207 }
208 return NULL; 208 return NULL;
209 } 209 }
210 210
211 } // namespace ash 211 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698