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

Unified Diff: ui/views/bubble/tray_bubble_view.cc

Issue 2948223002: Revert of Do not activate TrayBubbleView by default (Closed)
Patch Set: Created 3 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
« no previous file with comments | « ui/views/bubble/tray_bubble_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/bubble/tray_bubble_view.cc
diff --git a/ui/views/bubble/tray_bubble_view.cc b/ui/views/bubble/tray_bubble_view.cc
index 194c9cd183b99123e4149535969d1412147f6c6a..9f106c168b7633118f05d0baad7fa7948346138d 100644
--- a/ui/views/bubble/tray_bubble_view.cc
+++ b/ui/views/bubble/tray_bubble_view.cc
@@ -194,7 +194,7 @@
bubble_border_->set_alignment(BubbleBorder::ALIGN_EDGE_TO_ANCHOR_EDGE);
bubble_border_->set_paint_arrow(BubbleBorder::PAINT_NONE);
set_parent_window(params_.parent_window);
- set_can_activate(false);
+ set_can_activate(params_.can_activate);
set_notify_enter_exit_on_child(true);
set_close_on_deactivate(init_params.close_on_deactivate);
set_margins(gfx::Insets());
@@ -209,12 +209,9 @@
TrayBubbleView::~TrayBubbleView() {
mouse_watcher_.reset();
- if (delegate_) {
- delegate_->UnregisterAllAccelerators(this);
-
- // Inform host items (models) that their views are being destroyed.
+ // Inform host items (models) that their views are being destroyed.
+ if (delegate_)
delegate_->BubbleViewDestroyed();
- }
}
// static
@@ -231,17 +228,6 @@
UpdateBubble();
++g_current_tray_bubble_showing_count_;
-
- // If TrayBubbleView cannot be activated, register accelerators to capture key
- // events for activating the view or closing it. TrayBubbleView expects that
- // those accelerators are registered at the global level.
- if (delegate_ && !CanActivate()) {
- delegate_->RegisterAccelerators(
- {ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE),
- ui::Accelerator(ui::VKEY_TAB, ui::EF_NONE),
- ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN)},
- this);
- }
}
void TrayBubbleView::UpdateBubble() {
@@ -249,11 +235,6 @@
SizeToContents();
bubble_content_mask_->layer()->SetBounds(layer()->bounds());
GetWidget()->GetRootView()->SchedulePaint();
-
- // When extra keyboard accessibility is enabled, focus the default item if
- // no item is focused.
- if (delegate_ && delegate_->ShouldEnableExtraKeyboardAccessibility())
- FocusDefaultIfNeeded();
}
}
@@ -278,13 +259,6 @@
gfx::Insets TrayBubbleView::GetBorderInsets() const {
return bubble_border_->GetInsets();
-}
-
-void TrayBubbleView::ResetDelegate() {
- if (delegate_)
- delegate_->UnregisterAllAccelerators(this);
-
- delegate_ = nullptr;
}
int TrayBubbleView::GetDialogButtons() const {
@@ -397,26 +371,6 @@
mouse_watcher_->Stop();
}
-bool TrayBubbleView::AcceleratorPressed(const ui::Accelerator& accelerator) {
- if (accelerator == ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE)) {
- CloseBubbleView();
- return true;
- }
-
- if (accelerator == ui::Accelerator(ui::VKEY_TAB, ui::EF_NONE) ||
- accelerator == ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN)) {
- ui::KeyEvent key_event(
- accelerator.key_state() == ui::Accelerator::KeyState::PRESSED
- ? ui::EventType::ET_KEY_PRESSED
- : ui::EventType::ET_KEY_RELEASED,
- accelerator.key_code(), accelerator.modifiers());
- ActivateAndStartNavigation(key_event);
- return true;
- }
-
- return false;
-}
-
void TrayBubbleView::ChildPreferredSizeChanged(View* child) {
SizeToContents();
}
@@ -429,42 +383,4 @@
}
}
-void TrayBubbleView::CloseBubbleView() {
- if (!delegate_)
- return;
-
- delegate_->UnregisterAllAccelerators(this);
- delegate_->HideBubble(this);
-}
-
-void TrayBubbleView::ActivateAndStartNavigation(const ui::KeyEvent& key_event) {
- // No need to explicitly activate the widget. FocusManager will activate it if
- // necessary.
- set_can_activate(true);
-
- if (!GetWidget()->GetFocusManager()->OnKeyEvent(key_event) && delegate_) {
- // No need to handle accelerators by TrayBubbleView after focus has moved to
- // the widget. The focused view will handle focus traversal.
- // FocusManager::OnKeyEvent returns false when it consumes a key event.
- delegate_->UnregisterAllAccelerators(this);
- }
-}
-
-void TrayBubbleView::FocusDefaultIfNeeded() {
- views::FocusManager* manager = GetFocusManager();
- if (!manager || manager->GetFocusedView())
- return;
-
- views::View* view =
- manager->GetNextFocusableView(nullptr, nullptr, false, false);
- if (!view)
- return;
-
- // No need to explicitly activate the widget. View::RequestFocus will activate
- // it if necessary.
- set_can_activate(true);
-
- view->RequestFocus();
-}
-
} // namespace views
« no previous file with comments | « ui/views/bubble/tray_bubble_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698