| 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 |