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

Side by Side Diff: ui/keyboard/keyboard_controller.cc

Issue 2666843003: Disable pinch-to-zoom gesture on virtual keyboard (Closed)
Patch Set: rebase Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « ui/keyboard/keyboard_controller.h ('k') | ui/keyboard/keyboard_event_filter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "ui/keyboard/keyboard_controller.h" 5 #include "ui/keyboard/keyboard_controller.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 input_method_ = ui_->GetInputMethod(); 181 input_method_ = ui_->GetInputMethod();
182 input_method_->AddObserver(this); 182 input_method_->AddObserver(this);
183 ui_->SetController(this); 183 ui_->SetController(this);
184 } 184 }
185 185
186 KeyboardController::~KeyboardController() { 186 KeyboardController::~KeyboardController() {
187 if (container_) { 187 if (container_) {
188 if (container_->GetRootWindow()) 188 if (container_->GetRootWindow())
189 container_->GetRootWindow()->RemoveObserver(this); 189 container_->GetRootWindow()->RemoveObserver(this);
190 container_->RemoveObserver(this); 190 container_->RemoveObserver(this);
191 container_->RemovePreTargetHandler(&event_filter_);
191 } 192 }
192 if (input_method_) 193 if (input_method_)
193 input_method_->RemoveObserver(this); 194 input_method_->RemoveObserver(this);
194 for (KeyboardControllerObserver& observer : observer_list_) 195 for (KeyboardControllerObserver& observer : observer_list_)
195 observer.OnKeyboardClosed(); 196 observer.OnKeyboardClosed();
196 ui_->SetController(nullptr); 197 ui_->SetController(nullptr);
197 } 198 }
198 199
199 // static 200 // static
200 void KeyboardController::ResetInstance(KeyboardController* controller) { 201 void KeyboardController::ResetInstance(KeyboardController* controller) {
201 if (instance_ && instance_ != controller) 202 if (instance_ && instance_ != controller)
202 delete instance_; 203 delete instance_;
203 instance_ = controller; 204 instance_ = controller;
204 } 205 }
205 206
206 // static 207 // static
207 KeyboardController* KeyboardController::GetInstance() { 208 KeyboardController* KeyboardController::GetInstance() {
208 return instance_; 209 return instance_;
209 } 210 }
210 211
211 aura::Window* KeyboardController::GetContainerWindow() { 212 aura::Window* KeyboardController::GetContainerWindow() {
212 if (!container_.get()) { 213 if (!container_.get()) {
213 container_.reset(new aura::Window(new KeyboardWindowDelegate())); 214 container_.reset(new aura::Window(new KeyboardWindowDelegate()));
214 container_->SetName("KeyboardContainer"); 215 container_->SetName("KeyboardContainer");
215 container_->set_owned_by_parent(false); 216 container_->set_owned_by_parent(false);
216 container_->Init(ui::LAYER_NOT_DRAWN); 217 container_->Init(ui::LAYER_NOT_DRAWN);
217 container_->AddObserver(this); 218 container_->AddObserver(this);
218 container_->SetLayoutManager(new KeyboardLayoutManager(this)); 219 container_->SetLayoutManager(new KeyboardLayoutManager(this));
220 container_->AddPreTargetHandler(&event_filter_);
219 } 221 }
220 return container_.get(); 222 return container_.get();
221 } 223 }
222 224
223 void KeyboardController::NotifyKeyboardBoundsChanging( 225 void KeyboardController::NotifyKeyboardBoundsChanging(
224 const gfx::Rect& new_bounds) { 226 const gfx::Rect& new_bounds) {
225 current_keyboard_bounds_ = new_bounds; 227 current_keyboard_bounds_ = new_bounds;
226 if (ui_->HasKeyboardWindow() && ui_->GetKeyboardWindow()->IsVisible()) { 228 if (ui_->HasKeyboardWindow() && ui_->GetKeyboardWindow()->IsVisible()) {
227 for (KeyboardControllerObserver& observer : observer_list_) 229 for (KeyboardControllerObserver& observer : observer_list_)
228 observer.OnKeyboardBoundsChanging(new_bounds); 230 observer.OnKeyboardBoundsChanging(new_bounds);
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 int keyboard_height = GetContainerWindow()->bounds().height(); 518 int keyboard_height = GetContainerWindow()->bounds().height();
517 const gfx::Rect& root_bounds = container_->GetRootWindow()->bounds(); 519 const gfx::Rect& root_bounds = container_->GetRootWindow()->bounds();
518 gfx::Rect new_bounds = root_bounds; 520 gfx::Rect new_bounds = root_bounds;
519 new_bounds.set_y(root_bounds.height() - keyboard_height); 521 new_bounds.set_y(root_bounds.height() - keyboard_height);
520 new_bounds.set_height(keyboard_height); 522 new_bounds.set_height(keyboard_height);
521 GetContainerWindow()->SetBounds(new_bounds); 523 GetContainerWindow()->SetBounds(new_bounds);
522 } 524 }
523 } 525 }
524 526
525 } // namespace keyboard 527 } // namespace keyboard
OLDNEW
« no previous file with comments | « ui/keyboard/keyboard_controller.h ('k') | ui/keyboard/keyboard_event_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698