| Index: chrome/browser/ui/panels/panel_browser_titlebar_gtk.cc
|
| diff --git a/chrome/browser/ui/panels/panel_browser_titlebar_gtk.cc b/chrome/browser/ui/panels/panel_browser_titlebar_gtk.cc
|
| index d1d80dc45a58f66b0b2c1dfecd9890131a07081c..df7083ce5fe04744b359444a1da9969b5c17bfc3 100644
|
| --- a/chrome/browser/ui/panels/panel_browser_titlebar_gtk.cc
|
| +++ b/chrome/browser/ui/panels/panel_browser_titlebar_gtk.cc
|
| @@ -83,12 +83,26 @@ void PanelBrowserTitlebarGtk::UpdateMinimizeRestoreButtonVisibility() {
|
| }
|
|
|
| void PanelBrowserTitlebarGtk::HandleButtonClick(GtkWidget* button) {
|
| - if (close_button() && close_button()->widget() == button)
|
| + if (close_button() && close_button()->widget() == button) {
|
| browser_window_->panel()->Close();
|
| - else if (minimize_button() && minimize_button()->widget() == button)
|
| - browser_window_->panel()->Minimize();
|
| - else if (unminimize_button_.get() && unminimize_button_->widget() == button)
|
| - browser_window_->panel()->Restore();
|
| + return;
|
| + }
|
| +
|
| + GdkEvent* event = gtk_get_current_event();
|
| + DCHECK(event && event->type == GDK_BUTTON_RELEASE);
|
| +
|
| + if (minimize_button() && minimize_button()->widget() == button) {
|
| + browser_window_->panel()->OnMinimizeButtonClicked(
|
| + (event->button.state & GDK_CONTROL_MASK) ?
|
| + panel::APPLY_TO_ALL : panel::NO_MODIFIER);
|
| + } else if (unminimize_button_.get() &&
|
| + unminimize_button_->widget() == button) {
|
| + browser_window_->panel()->OnRestoreButtonClicked(
|
| + (event->button.state & GDK_CONTROL_MASK) ?
|
| + panel::APPLY_TO_ALL : panel::NO_MODIFIER);
|
| + }
|
| +
|
| + gdk_event_free(event);
|
| }
|
|
|
| void PanelBrowserTitlebarGtk::ShowFaviconMenu(GdkEventButton* event) {
|
|
|