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

Side by Side Diff: views/focus/focus_manager.cc

Issue 8508055: Move views::Accelerator to ui in order to use it from aura code. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 9 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "views/focus/focus_manager.h" 5 #include "views/focus/focus_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 FocusSearch::DOWN, 350 FocusSearch::DOWN,
351 false, 351 false,
352 &new_focus_traversable, 352 &new_focus_traversable,
353 &new_starting_view); 353 &new_starting_view);
354 } 354 }
355 return v; 355 return v;
356 } 356 }
357 357
358 void FocusManager::RegisterAccelerator( 358 void FocusManager::RegisterAccelerator(
359 const Accelerator& accelerator, 359 const Accelerator& accelerator,
360 AcceleratorTarget* target) { 360 ui::AcceleratorTarget* target) {
361 AcceleratorTargetList& targets = accelerators_[accelerator]; 361 AcceleratorTargetList& targets = accelerators_[accelerator];
362 DCHECK(std::find(targets.begin(), targets.end(), target) == targets.end()) 362 DCHECK(std::find(targets.begin(), targets.end(), target) == targets.end())
363 << "Registering the same target multiple times"; 363 << "Registering the same target multiple times";
364 targets.push_front(target); 364 targets.push_front(target);
365 } 365 }
366 366
367 void FocusManager::UnregisterAccelerator(const Accelerator& accelerator, 367 void FocusManager::UnregisterAccelerator(const Accelerator& accelerator,
368 AcceleratorTarget* target) { 368 ui::AcceleratorTarget* target) {
369 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator); 369 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator);
370 if (map_iter == accelerators_.end()) { 370 if (map_iter == accelerators_.end()) {
371 NOTREACHED() << "Unregistering non-existing accelerator"; 371 NOTREACHED() << "Unregistering non-existing accelerator";
372 return; 372 return;
373 } 373 }
374 374
375 AcceleratorTargetList* targets = &map_iter->second; 375 AcceleratorTargetList* targets = &map_iter->second;
376 AcceleratorTargetList::iterator target_iter = 376 AcceleratorTargetList::iterator target_iter =
377 std::find(targets->begin(), targets->end(), target); 377 std::find(targets->begin(), targets->end(), target);
378 if (target_iter == targets->end()) { 378 if (target_iter == targets->end()) {
379 NOTREACHED() << "Unregistering accelerator for wrong target"; 379 NOTREACHED() << "Unregistering accelerator for wrong target";
380 return; 380 return;
381 } 381 }
382 382
383 targets->erase(target_iter); 383 targets->erase(target_iter);
384 } 384 }
385 385
386 void FocusManager::UnregisterAccelerators(AcceleratorTarget* target) { 386 void FocusManager::UnregisterAccelerators(ui::AcceleratorTarget* target) {
387 for (AcceleratorMap::iterator map_iter = accelerators_.begin(); 387 for (AcceleratorMap::iterator map_iter = accelerators_.begin();
388 map_iter != accelerators_.end(); ++map_iter) { 388 map_iter != accelerators_.end(); ++map_iter) {
389 AcceleratorTargetList* targets = &map_iter->second; 389 AcceleratorTargetList* targets = &map_iter->second;
390 targets->remove(target); 390 targets->remove(target);
391 } 391 }
392 } 392 }
393 393
394 bool FocusManager::ProcessAccelerator(const Accelerator& accelerator) { 394 bool FocusManager::ProcessAccelerator(const Accelerator& accelerator) {
395 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator); 395 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator);
396 if (map_iter != accelerators_.end()) { 396 if (map_iter != accelerators_.end()) {
397 // We have to copy the target list here, because an AcceleratorPressed 397 // We have to copy the target list here, because an AcceleratorPressed
398 // event handler may modify the list. 398 // event handler may modify the list.
399 AcceleratorTargetList targets(map_iter->second); 399 AcceleratorTargetList targets(map_iter->second);
400 for (AcceleratorTargetList::iterator iter = targets.begin(); 400 for (AcceleratorTargetList::iterator iter = targets.begin();
401 iter != targets.end(); ++iter) { 401 iter != targets.end(); ++iter) {
402 if ((*iter)->AcceleratorPressed(accelerator)) 402 if ((*iter)->AcceleratorPressed(accelerator))
403 return true; 403 return true;
404 } 404 }
405 } 405 }
406 return false; 406 return false;
407 } 407 }
408 408
409 AcceleratorTarget* FocusManager::GetCurrentTargetForAccelerator( 409 ui::AcceleratorTarget* FocusManager::GetCurrentTargetForAccelerator(
410 const views::Accelerator& accelerator) const { 410 const views::Accelerator& accelerator) const {
411 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator); 411 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator);
412 if (map_iter == accelerators_.end() || map_iter->second.empty()) 412 if (map_iter == accelerators_.end() || map_iter->second.empty())
413 return NULL; 413 return NULL;
414 return map_iter->second.front(); 414 return map_iter->second.front();
415 } 415 }
416 416
417 void FocusManager::FocusNativeView(gfx::NativeView native_view) { 417 void FocusManager::FocusNativeView(gfx::NativeView native_view) {
418 widget_->FocusNativeView(native_view); 418 widget_->FocusNativeView(native_view);
419 } 419 }
(...skipping 14 matching lines...) Expand all
434 434
435 void FocusManager::AddFocusChangeListener(FocusChangeListener* listener) { 435 void FocusManager::AddFocusChangeListener(FocusChangeListener* listener) {
436 focus_change_listeners_.AddObserver(listener); 436 focus_change_listeners_.AddObserver(listener);
437 } 437 }
438 438
439 void FocusManager::RemoveFocusChangeListener(FocusChangeListener* listener) { 439 void FocusManager::RemoveFocusChangeListener(FocusChangeListener* listener) {
440 focus_change_listeners_.RemoveObserver(listener); 440 focus_change_listeners_.RemoveObserver(listener);
441 } 441 }
442 442
443 } // namespace views 443 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698