OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ |
6 #define CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ |
7 | 7 |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 | 9 |
10 #include "base/timer.h" | 10 #include "base/timer.h" |
11 #include "chrome/browser/ui/extensions/native_shell_window.h" | 11 #include "chrome/browser/ui/extensions/native_shell_window.h" |
12 #include "chrome/browser/ui/extensions/shell_window.h" | 12 #include "chrome/browser/ui/extensions/shell_window.h" |
13 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" | 13 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" |
14 #include "third_party/skia/include/core/SkRegion.h" | 14 #include "third_party/skia/include/core/SkRegion.h" |
15 #include "ui/base/gtk/gtk_signal.h" | 15 #include "ui/base/gtk/gtk_signal.h" |
16 #include "ui/base/x/active_window_watcher_x_observer.h" | 16 #include "ui/base/x/active_window_watcher_x_observer.h" |
17 #include "ui/gfx/rect.h" | 17 #include "ui/gfx/rect.h" |
18 | 18 |
| 19 class ExtensionKeybindingRegistryGtk; |
19 class Profile; | 20 class Profile; |
20 | 21 |
21 namespace extensions { | 22 namespace extensions { |
22 class Extension; | 23 class Extension; |
23 struct DraggableRegion; | 24 struct DraggableRegion; |
24 } | 25 } |
25 | 26 |
26 class ShellWindowGtk : public NativeShellWindow, | 27 class ShellWindowGtk : public NativeShellWindow, |
27 public ExtensionViewGtk::Container, | 28 public ExtensionViewGtk::Container, |
28 public ui::ActiveWindowWatcherXObserver { | 29 public ui::ActiveWindowWatcherXObserver { |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 // If true, don't call gdk_window_raise() when we get a click in the title | 112 // If true, don't call gdk_window_raise() when we get a click in the title |
112 // bar or window border. This is to work around a compiz bug. | 113 // bar or window border. This is to work around a compiz bug. |
113 bool suppress_window_raise_; | 114 bool suppress_window_raise_; |
114 | 115 |
115 // True if the window shows without frame. | 116 // True if the window shows without frame. |
116 bool frameless_; | 117 bool frameless_; |
117 | 118 |
118 // The timer used to save the window position for session restore. | 119 // The timer used to save the window position for session restore. |
119 base::OneShotTimer<ShellWindowGtk> window_configure_debounce_timer_; | 120 base::OneShotTimer<ShellWindowGtk> window_configure_debounce_timer_; |
120 | 121 |
| 122 // The Extension Keybinding Registry responsible for registering listeners for |
| 123 // accelerators that are sent to the window, that are destined to be turned |
| 124 // into events and sent to the extension. |
| 125 scoped_ptr<ExtensionKeybindingRegistryGtk> extension_keybinding_registry_; |
| 126 |
121 DISALLOW_COPY_AND_ASSIGN(ShellWindowGtk); | 127 DISALLOW_COPY_AND_ASSIGN(ShellWindowGtk); |
122 }; | 128 }; |
123 | 129 |
124 #endif // CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ | 130 #endif // CHROME_BROWSER_UI_GTK_EXTENSIONS_SHELL_WINDOW_GTK_H_ |
OLD | NEW |