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

Side by Side Diff: views/widget/native_widget_aura.cc

Issue 8341050: Aura: Support non-global keyboard shortcuts. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Address comments 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/widget/native_widget_aura.h" 5 #include "views/widget/native_widget_aura.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "ui/aura/desktop.h" 8 #include "ui/aura/desktop.h"
9 #include "ui/aura/event.h" 9 #include "ui/aura/event.h"
10 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 if (window_) 406 if (window_)
407 window_->SchedulePaintInRect(rect); 407 window_->SchedulePaintInRect(rect);
408 } 408 }
409 409
410 void NativeWidgetAura::SetCursor(gfx::NativeCursor cursor) { 410 void NativeWidgetAura::SetCursor(gfx::NativeCursor cursor) {
411 cursor_ = cursor; 411 cursor_ = cursor;
412 aura::Desktop::GetInstance()->SetCursor(cursor); 412 aura::Desktop::GetInstance()->SetCursor(cursor);
413 } 413 }
414 414
415 void NativeWidgetAura::ClearNativeFocus() { 415 void NativeWidgetAura::ClearNativeFocus() {
416 NOTIMPLEMENTED(); 416 if (window_ && window_->GetFocusManager())
417 window_->GetFocusManager()->SetFocusedWindow(window_);
417 } 418 }
418 419
419 void NativeWidgetAura::FocusNativeView(gfx::NativeView native_view) { 420 void NativeWidgetAura::FocusNativeView(gfx::NativeView native_view) {
420 NOTIMPLEMENTED(); 421 NOTIMPLEMENTED();
421 } 422 }
422 423
423 bool NativeWidgetAura::ConvertPointFromAncestor(const Widget* ancestor, 424 bool NativeWidgetAura::ConvertPointFromAncestor(const Widget* ancestor,
424 gfx::Point* point) const { 425 gfx::Point* point) const {
425 NOTIMPLEMENTED(); 426 NOTIMPLEMENTED();
426 return false; 427 return false;
427 } 428 }
428 429
429 gfx::Rect NativeWidgetAura::GetWorkAreaBoundsInScreen() const { 430 gfx::Rect NativeWidgetAura::GetWorkAreaBoundsInScreen() const {
430 return gfx::Screen::GetMonitorWorkAreaNearestWindow(GetNativeView()); 431 return gfx::Screen::GetMonitorWorkAreaNearestWindow(GetNativeView());
431 } 432 }
432 433
433 //////////////////////////////////////////////////////////////////////////////// 434 ////////////////////////////////////////////////////////////////////////////////
434 // NativeWidgetAura, views::InputMethodDelegate implementation: 435 // NativeWidgetAura, views::InputMethodDelegate implementation:
435 436
436 void NativeWidgetAura::DispatchKeyEventPostIME(const KeyEvent& key) { 437 void NativeWidgetAura::DispatchKeyEventPostIME(const KeyEvent& key) {
437 delegate_->OnKeyEvent(key); 438 if (delegate_->OnKeyEvent(key))
439 return;
440 if (key.type() == ui::ET_KEY_PRESSED && GetWidget()->GetFocusManager())
441 GetWidget()->GetFocusManager()->OnKeyEvent(key);
Ben Goodger (Google) 2011/10/27 15:33:01 OK... so does this handle browser key events (e.g.
mazda 2011/10/28 14:44:33 Yes, shortcut keys are handled when web content ar
438 } 442 }
439 443
440 //////////////////////////////////////////////////////////////////////////////// 444 ////////////////////////////////////////////////////////////////////////////////
441 // NativeWidgetAura, aura::WindowDelegate implementation: 445 // NativeWidgetAura, aura::WindowDelegate implementation:
442 446
443 void NativeWidgetAura::OnBoundsChanged(const gfx::Rect& old_bounds, 447 void NativeWidgetAura::OnBoundsChanged(const gfx::Rect& old_bounds,
444 const gfx::Rect& new_bounds) { 448 const gfx::Rect& new_bounds) {
445 if (old_bounds.size() != new_bounds.size()) 449 if (old_bounds.size() != new_bounds.size())
446 delegate_->OnNativeWidgetSizeChanged(new_bounds.size()); 450 delegate_->OnNativeWidgetSizeChanged(new_bounds.size());
447 } 451 }
448 452
449 void NativeWidgetAura::OnFocus() { 453 void NativeWidgetAura::OnFocus() {
450 Widget* widget = GetWidget(); 454 Widget* widget = GetWidget();
451 if (widget->is_top_level()) { 455 if (widget->is_top_level()) {
452 InputMethod* input_method = widget->GetInputMethod(); 456 InputMethod* input_method = widget->GetInputMethod();
453 input_method->OnFocus(); 457 input_method->OnFocus();
454 // See description of got_initial_focus_in_ for details on this. 458 // See description of got_initial_focus_in_ for details on this.
455 widget->GetFocusManager()->RestoreFocusedView(); 459 // TODO(mazda): Investigate this is actually necessary.
460 // widget->GetFocusManager()->RestoreFocusedView();
456 } 461 }
457 delegate_->OnNativeFocus(window_); 462 delegate_->OnNativeFocus(window_);
458 } 463 }
459 464
460 void NativeWidgetAura::OnBlur() { 465 void NativeWidgetAura::OnBlur() {
461 Widget* widget = GetWidget(); 466 Widget* widget = GetWidget();
462 if (widget->is_top_level()) { 467 if (widget->is_top_level()) {
463 InputMethod* input_method = widget->GetInputMethod(); 468 InputMethod* input_method = widget->GetInputMethod();
464 input_method->OnBlur(); 469 input_method->OnBlur();
465 widget->GetFocusManager()->StoreFocusedView(); 470 widget->GetFocusManager()->StoreFocusedView();
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 } 636 }
632 637
633 // static 638 // static
634 bool NativeWidgetPrivate::IsMouseButtonDown() { 639 bool NativeWidgetPrivate::IsMouseButtonDown() {
635 NOTIMPLEMENTED(); 640 NOTIMPLEMENTED();
636 return false; 641 return false;
637 } 642 }
638 643
639 } // namespace internal 644 } // namespace internal
640 } // namespace views 645 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698