OLD | NEW |
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 #ifndef CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
6 #define CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 | 12 |
| 13 #include "base/basictypes.h" |
| 14 #include "base/compiler_specific.h" |
13 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
14 #include "base/timer.h" | 16 #include "base/timer.h" |
15 #include "build/build_config.h" | 17 #include "build/build_config.h" |
16 #include "chrome/browser/infobars/infobar_container.h" | 18 #include "chrome/browser/infobars/infobar_container.h" |
17 #include "chrome/browser/prefs/pref_member.h" | 19 #include "chrome/browser/prefs/pref_member.h" |
18 #include "chrome/browser/tabs/tab_strip_model_observer.h" | 20 #include "chrome/browser/tabs/tab_strip_model_observer.h" |
19 #include "chrome/browser/ui/browser_window.h" | 21 #include "chrome/browser/ui/browser_window.h" |
20 #include "ui/base/gtk/gtk_signal.h" | 22 #include "ui/base/gtk/gtk_signal.h" |
21 #include "ui/base/ui_base_types.h" | 23 #include "ui/base/ui_base_types.h" |
22 #include "ui/base/x/active_window_watcher_x.h" | 24 #include "ui/base/x/active_window_watcher_x.h" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 virtual void Init(); | 62 virtual void Init(); |
61 | 63 |
62 // Shows the settings menu when the settings button, if present, is clicked. | 64 // Shows the settings menu when the settings button, if present, is clicked. |
63 // This is currently only used in panel window. | 65 // This is currently only used in panel window. |
64 virtual void ShowSettingsMenu(GtkWidget* widget, GdkEventButton* event); | 66 virtual void ShowSettingsMenu(GtkWidget* widget, GdkEventButton* event); |
65 | 67 |
66 // Allows for a derived class to decorate title text with pango markup. | 68 // Allows for a derived class to decorate title text with pango markup. |
67 // Returns the type of text used for title. | 69 // Returns the type of text used for title. |
68 virtual TitleDecoration GetWindowTitle(std::string* title) const; | 70 virtual TitleDecoration GetWindowTitle(std::string* title) const; |
69 | 71 |
70 // Overridden from BrowserWindow | 72 // Overridden from BrowserWindow: |
71 virtual void Show(); | 73 virtual void Show() OVERRIDE; |
72 virtual void ShowInactive(); | 74 virtual void ShowInactive() OVERRIDE; |
73 virtual void SetBounds(const gfx::Rect& bounds); | 75 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE; |
74 virtual void Close(); | 76 virtual void Close() OVERRIDE; |
75 virtual void Activate(); | 77 virtual void Activate() OVERRIDE; |
76 virtual void Deactivate(); | 78 virtual void Deactivate() OVERRIDE; |
77 virtual bool IsActive() const; | 79 virtual bool IsActive() const OVERRIDE; |
78 virtual void FlashFrame(); | 80 virtual void FlashFrame() OVERRIDE; |
79 virtual gfx::NativeWindow GetNativeHandle(); | 81 virtual gfx::NativeWindow GetNativeHandle() OVERRIDE; |
80 virtual BrowserWindowTesting* GetBrowserWindowTesting(); | 82 virtual BrowserWindowTesting* GetBrowserWindowTesting() OVERRIDE; |
81 virtual StatusBubble* GetStatusBubble(); | 83 virtual StatusBubble* GetStatusBubble() OVERRIDE; |
82 virtual void ToolbarSizeChanged(bool is_animating); | 84 virtual void ToolbarSizeChanged(bool is_animating) OVERRIDE; |
83 virtual void UpdateTitleBar(); | 85 virtual void UpdateTitleBar() OVERRIDE; |
84 virtual void BookmarkBarStateChanged( | 86 virtual void BookmarkBarStateChanged( |
85 BookmarkBar::AnimateChangeType change_type); | 87 BookmarkBar::AnimateChangeType change_type) OVERRIDE; |
86 virtual void UpdateDevTools(); | 88 virtual void UpdateDevTools() OVERRIDE; |
87 virtual void UpdateLoadingAnimations(bool should_animate); | 89 virtual void UpdateLoadingAnimations(bool should_animate) OVERRIDE; |
88 virtual void SetStarredState(bool is_starred); | 90 virtual void SetStarredState(bool is_starred) OVERRIDE; |
89 virtual gfx::Rect GetRestoredBounds() const; | 91 virtual gfx::Rect GetRestoredBounds() const OVERRIDE; |
90 virtual gfx::Rect GetBounds() const; | 92 virtual gfx::Rect GetBounds() const OVERRIDE; |
91 virtual bool IsMaximized() const; | 93 virtual bool IsMaximized() const OVERRIDE; |
92 virtual bool IsMinimized() const; | 94 virtual bool IsMinimized() const OVERRIDE; |
93 virtual void EnterFullscreen( | 95 virtual void EnterFullscreen( |
94 const GURL& url, FullscreenExitBubbleType type) OVERRIDE; | 96 const GURL& url, FullscreenExitBubbleType type) OVERRIDE; |
95 virtual void ExitFullscreen() OVERRIDE; | 97 virtual void ExitFullscreen() OVERRIDE; |
96 virtual void UpdateFullscreenExitBubbleContent( | 98 virtual void UpdateFullscreenExitBubbleContent( |
97 const GURL& url, | 99 const GURL& url, |
98 FullscreenExitBubbleType bubble_type) OVERRIDE; | 100 FullscreenExitBubbleType bubble_type) OVERRIDE; |
99 virtual bool IsFullscreen() const; | 101 virtual bool IsFullscreen() const OVERRIDE; |
100 virtual bool IsFullscreenBubbleVisible() const; | 102 virtual bool IsFullscreenBubbleVisible() const OVERRIDE; |
101 virtual LocationBar* GetLocationBar() const; | 103 virtual LocationBar* GetLocationBar() const OVERRIDE; |
102 virtual void SetFocusToLocationBar(bool select_all); | 104 virtual void SetFocusToLocationBar(bool select_all) OVERRIDE; |
103 virtual void UpdateReloadStopState(bool is_loading, bool force); | 105 virtual void UpdateReloadStopState(bool is_loading, bool force) OVERRIDE; |
104 virtual void UpdateToolbar(TabContentsWrapper* contents, | 106 virtual void UpdateToolbar(TabContentsWrapper* contents, |
105 bool should_restore_state); | 107 bool should_restore_state) OVERRIDE; |
106 virtual void FocusToolbar(); | 108 virtual void FocusToolbar() OVERRIDE; |
107 virtual void FocusAppMenu(); | 109 virtual void FocusAppMenu() OVERRIDE; |
108 virtual void FocusBookmarksToolbar(); | 110 virtual void FocusBookmarksToolbar() OVERRIDE; |
109 virtual void FocusChromeOSStatus(); | 111 virtual void FocusChromeOSStatus() OVERRIDE; |
110 virtual void RotatePaneFocus(bool forwards); | 112 virtual void RotatePaneFocus(bool forwards) OVERRIDE; |
111 virtual bool IsBookmarkBarVisible() const; | 113 virtual bool IsBookmarkBarVisible() const OVERRIDE; |
112 virtual bool IsBookmarkBarAnimating() const; | 114 virtual bool IsBookmarkBarAnimating() const OVERRIDE; |
113 virtual bool IsTabStripEditable() const; | 115 virtual bool IsTabStripEditable() const OVERRIDE; |
114 virtual bool IsToolbarVisible() const; | 116 virtual bool IsToolbarVisible() const OVERRIDE; |
115 virtual void ConfirmAddSearchProvider(const TemplateURL* template_url, | 117 virtual void ConfirmAddSearchProvider(const TemplateURL* template_url, |
116 Profile* profile); | 118 Profile* profile) OVERRIDE; |
117 virtual void ToggleBookmarkBar(); | 119 virtual void ToggleBookmarkBar() OVERRIDE; |
118 virtual void ShowAboutChromeDialog(); | 120 virtual void ShowAboutChromeDialog() OVERRIDE; |
119 virtual void ShowUpdateChromeDialog(); | 121 virtual void ShowUpdateChromeDialog() OVERRIDE; |
120 virtual void ShowTaskManager(); | 122 virtual void ShowTaskManager() OVERRIDE; |
121 virtual void ShowBackgroundPages(); | 123 virtual void ShowBackgroundPages() OVERRIDE; |
122 virtual void ShowBookmarkBubble(const GURL& url, bool already_bookmarked); | 124 virtual void ShowBookmarkBubble(const GURL& url, |
123 virtual bool IsDownloadShelfVisible() const; | 125 bool already_bookmarked) OVERRIDE; |
124 virtual DownloadShelf* GetDownloadShelf(); | 126 virtual bool IsDownloadShelfVisible() const OVERRIDE; |
125 virtual void ShowRepostFormWarningDialog(TabContents* tab_contents); | 127 virtual DownloadShelf* GetDownloadShelf() OVERRIDE; |
126 virtual void ShowCollectedCookiesDialog(TabContentsWrapper* tab_contents); | 128 virtual void ShowRepostFormWarningDialog(TabContents* tab_contents) OVERRIDE; |
127 virtual void ConfirmBrowserCloseWithPendingDownloads(); | 129 virtual void ShowCollectedCookiesDialog( |
128 virtual void UserChangedTheme(); | 130 TabContentsWrapper* tab_contents) OVERRIDE; |
129 virtual int GetExtraRenderViewHeight() const; | 131 virtual void ConfirmBrowserCloseWithPendingDownloads() OVERRIDE; |
130 virtual void TabContentsFocused(TabContents* tab_contents); | 132 virtual void UserChangedTheme() OVERRIDE; |
| 133 virtual int GetExtraRenderViewHeight() const OVERRIDE; |
| 134 virtual void TabContentsFocused(TabContents* tab_contents) OVERRIDE; |
131 virtual void ShowPageInfo(Profile* profile, | 135 virtual void ShowPageInfo(Profile* profile, |
132 const GURL& url, | 136 const GURL& url, |
133 const NavigationEntry::SSLStatus& ssl, | 137 const NavigationEntry::SSLStatus& ssl, |
134 bool show_history); | 138 bool show_history) OVERRIDE; |
135 virtual void ShowAppMenu(); | 139 virtual void ShowAppMenu() OVERRIDE; |
136 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, | 140 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, |
137 bool* is_keyboard_shortcut); | 141 bool* is_keyboard_shortcut) OVERRIDE; |
138 virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event); | 142 virtual void HandleKeyboardEvent( |
| 143 const NativeWebKeyboardEvent& event) OVERRIDE; |
139 virtual void ShowCreateWebAppShortcutsDialog( | 144 virtual void ShowCreateWebAppShortcutsDialog( |
140 TabContentsWrapper* tab_contents); | 145 TabContentsWrapper* tab_contents) OVERRIDE; |
141 virtual void ShowCreateChromeAppShortcutsDialog(Profile* profile, | 146 virtual void ShowCreateChromeAppShortcutsDialog( |
142 const Extension* app); | 147 Profile* profile, |
143 virtual void Cut(); | 148 const Extension* app) OVERRIDE; |
144 virtual void Copy(); | 149 virtual void Cut() OVERRIDE; |
145 virtual void Paste(); | 150 virtual void Copy() OVERRIDE; |
146 virtual void ShowInstant(TabContentsWrapper* preview); | 151 virtual void Paste() OVERRIDE; |
147 virtual void HideInstant(); | 152 virtual void ShowInstant(TabContentsWrapper* preview) OVERRIDE; |
148 virtual gfx::Rect GetInstantBounds(); | 153 virtual void HideInstant() OVERRIDE; |
| 154 virtual gfx::Rect GetInstantBounds() OVERRIDE; |
149 virtual WindowOpenDisposition GetDispositionForPopupBounds( | 155 virtual WindowOpenDisposition GetDispositionForPopupBounds( |
150 const gfx::Rect& bounds); | 156 const gfx::Rect& bounds) OVERRIDE; |
151 virtual FindBar* CreateFindBar() OVERRIDE; | 157 virtual FindBar* CreateFindBar() OVERRIDE; |
152 virtual void ShowAvatarBubble(TabContents* tab_contents, | 158 virtual void ShowAvatarBubble(TabContents* tab_contents, |
153 const gfx::Rect& rect) OVERRIDE; | 159 const gfx::Rect& rect) OVERRIDE; |
154 virtual void ShowAvatarBubbleFromAvatarButton() OVERRIDE; | 160 virtual void ShowAvatarBubbleFromAvatarButton() OVERRIDE; |
155 | 161 |
156 // Overridden from NotificationObserver: | 162 // Overridden from NotificationObserver: |
157 virtual void Observe(int type, | 163 virtual void Observe(int type, |
158 const content::NotificationSource& source, | 164 const content::NotificationSource& source, |
159 const content::NotificationDetails& details); | 165 const content::NotificationDetails& details) OVERRIDE; |
160 | 166 |
161 // Overridden from TabStripModelObserver: | 167 // Overridden from TabStripModelObserver: |
162 virtual void TabDetachedAt(TabContentsWrapper* contents, int index); | 168 virtual void TabDetachedAt(TabContentsWrapper* contents, int index) OVERRIDE; |
163 virtual void ActiveTabChanged(TabContentsWrapper* old_contents, | 169 virtual void ActiveTabChanged(TabContentsWrapper* old_contents, |
164 TabContentsWrapper* new_contents, | 170 TabContentsWrapper* new_contents, |
165 int index, | 171 int index, |
166 bool user_gesture); | 172 bool user_gesture) OVERRIDE; |
167 | 173 |
168 // Overridden from ActiveWindowWatcher::Observer. | 174 // Overridden from ActiveWindowWatcher::Observer. |
169 virtual void ActiveWindowChanged(GdkWindow* active_window); | 175 virtual void ActiveWindowChanged(GdkWindow* active_window) OVERRIDE; |
170 | 176 |
171 // Overridden from InfoBarContainer::Delegate: | 177 // Overridden from InfoBarContainer::Delegate: |
172 virtual SkColor GetInfoBarSeparatorColor() const; | 178 virtual SkColor GetInfoBarSeparatorColor() const OVERRIDE; |
173 virtual void InfoBarContainerStateChanged(bool is_animating); | 179 virtual void InfoBarContainerStateChanged(bool is_animating) OVERRIDE; |
174 virtual bool DrawInfoBarArrows(int* x) const; | 180 virtual bool DrawInfoBarArrows(int* x) const OVERRIDE; |
175 | 181 |
176 // Accessor for the tab strip. | 182 // Accessor for the tab strip. |
177 TabStripGtk* tabstrip() const { return tabstrip_.get(); } | 183 TabStripGtk* tabstrip() const { return tabstrip_.get(); } |
178 | 184 |
179 void UpdateDevToolsForContents(TabContents* contents); | 185 void UpdateDevToolsForContents(TabContents* contents); |
180 | 186 |
181 void OnDebouncedBoundsChanged(); | 187 void OnDebouncedBoundsChanged(); |
182 | 188 |
183 // Request the underlying window to unmaximize. Also tries to work around | 189 // Request the underlying window to unmaximize. Also tries to work around |
184 // a window manager "feature" that can prevent this in some edge cases. | 190 // a window manager "feature" that can prevent this in some edge cases. |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 // be called. This should only be enabled in tests where the debounce timeout | 527 // be called. This should only be enabled in tests where the debounce timeout |
522 // introduces timing issues (e.g. in OmniBoxApiTest it dismisses the | 528 // introduces timing issues (e.g. in OmniBoxApiTest it dismisses the |
523 // autocomplete popup before the results can be read) and the final window | 529 // autocomplete popup before the results can be read) and the final window |
524 // position is unimportant. | 530 // position is unimportant. |
525 bool debounce_timer_disabled_; | 531 bool debounce_timer_disabled_; |
526 | 532 |
527 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); | 533 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); |
528 }; | 534 }; |
529 | 535 |
530 #endif // CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 536 #endif // CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
OLD | NEW |