• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_
6 #define CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_
7 
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "build/build_config.h"
11 #include "chrome/browser/download/test_download_shelf.h"
12 #include "chrome/browser/ui/browser.h"
13 #include "chrome/browser/ui/browser_window.h"
14 #include "chrome/browser/ui/omnibox/location_bar.h"
15 
16 class LocationBarTesting;
17 class OmniboxView;
18 
19 namespace extensions {
20 class Extension;
21 }
22 
23 // An implementation of BrowserWindow used for testing. TestBrowserWindow only
24 // contains a valid LocationBar, all other getters return NULL.
25 // See BrowserWithTestWindowTest for an example of using this class.
26 class TestBrowserWindow : public BrowserWindow {
27  public:
28   TestBrowserWindow();
29   virtual ~TestBrowserWindow();
30 
31   // BrowserWindow:
Show()32   virtual void Show() OVERRIDE {}
ShowInactive()33   virtual void ShowInactive() OVERRIDE {}
Hide()34   virtual void Hide() OVERRIDE {}
SetBounds(const gfx::Rect & bounds)35   virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE {}
Close()36   virtual void Close() OVERRIDE {}
Activate()37   virtual void Activate() OVERRIDE {}
Deactivate()38   virtual void Deactivate() OVERRIDE {}
39   virtual bool IsActive() const OVERRIDE;
FlashFrame(bool flash)40   virtual void FlashFrame(bool flash) OVERRIDE {}
41   virtual bool IsAlwaysOnTop() const OVERRIDE;
SetAlwaysOnTop(bool always_on_top)42   virtual void SetAlwaysOnTop(bool always_on_top) OVERRIDE {}
43   virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
44   virtual BrowserWindowTesting* GetBrowserWindowTesting() OVERRIDE;
45   virtual StatusBubble* GetStatusBubble() OVERRIDE;
UpdateTitleBar()46   virtual void UpdateTitleBar() OVERRIDE {}
BookmarkBarStateChanged(BookmarkBar::AnimateChangeType change_type)47   virtual void BookmarkBarStateChanged(
48       BookmarkBar::AnimateChangeType change_type) OVERRIDE {}
UpdateDevTools()49   virtual void UpdateDevTools() OVERRIDE {}
UpdateLoadingAnimations(bool should_animate)50   virtual void UpdateLoadingAnimations(bool should_animate) OVERRIDE {}
SetStarredState(bool is_starred)51   virtual void SetStarredState(bool is_starred) OVERRIDE {}
SetTranslateIconToggled(bool is_lit)52   virtual void SetTranslateIconToggled(bool is_lit) OVERRIDE {}
OnActiveTabChanged(content::WebContents * old_contents,content::WebContents * new_contents,int index,int reason)53   virtual void OnActiveTabChanged(content::WebContents* old_contents,
54                                   content::WebContents* new_contents,
55                                   int index,
56                                   int reason) OVERRIDE {}
ZoomChangedForActiveTab(bool can_show_bubble)57   virtual void ZoomChangedForActiveTab(bool can_show_bubble) OVERRIDE {}
58   virtual gfx::Rect GetRestoredBounds() const OVERRIDE;
59   virtual ui::WindowShowState GetRestoredState() const OVERRIDE;
60   virtual gfx::Rect GetBounds() const OVERRIDE;
61   virtual bool IsMaximized() const OVERRIDE;
62   virtual bool IsMinimized() const OVERRIDE;
Maximize()63   virtual void Maximize() OVERRIDE {}
Minimize()64   virtual void Minimize() OVERRIDE {}
Restore()65   virtual void Restore() OVERRIDE {}
EnterFullscreen(const GURL & url,FullscreenExitBubbleType type)66   virtual void EnterFullscreen(
67       const GURL& url, FullscreenExitBubbleType type) OVERRIDE {}
ExitFullscreen()68   virtual void ExitFullscreen() OVERRIDE {}
UpdateFullscreenExitBubbleContent(const GURL & url,FullscreenExitBubbleType bubble_type)69   virtual void UpdateFullscreenExitBubbleContent(
70       const GURL& url,
71       FullscreenExitBubbleType bubble_type) OVERRIDE {}
72   virtual bool ShouldHideUIForFullscreen() const OVERRIDE;
73   virtual bool IsFullscreen() const OVERRIDE;
74 #if defined(OS_WIN)
SetMetroSnapMode(bool enable)75   virtual void SetMetroSnapMode(bool enable) OVERRIDE {}
76   virtual bool IsInMetroSnapMode() const;
77 #endif
78   virtual bool IsFullscreenBubbleVisible() const OVERRIDE;
79   virtual LocationBar* GetLocationBar() const OVERRIDE;
SetFocusToLocationBar(bool select_all)80   virtual void SetFocusToLocationBar(bool select_all) OVERRIDE {}
UpdateReloadStopState(bool is_loading,bool force)81   virtual void UpdateReloadStopState(bool is_loading, bool force) OVERRIDE {}
UpdateToolbar(content::WebContents * contents)82   virtual void UpdateToolbar(content::WebContents* contents) OVERRIDE {}
FocusToolbar()83   virtual void FocusToolbar() OVERRIDE {}
FocusAppMenu()84   virtual void FocusAppMenu() OVERRIDE {}
FocusBookmarksToolbar()85   virtual void FocusBookmarksToolbar() OVERRIDE {}
FocusInfobars()86   virtual void FocusInfobars() OVERRIDE {}
RotatePaneFocus(bool forwards)87   virtual void RotatePaneFocus(bool forwards) OVERRIDE {}
ShowAppMenu()88   virtual void ShowAppMenu() OVERRIDE {}
89   virtual bool PreHandleKeyboardEvent(
90       const content::NativeWebKeyboardEvent& event,
91       bool* is_keyboard_shortcut) OVERRIDE;
HandleKeyboardEvent(const content::NativeWebKeyboardEvent & event)92   virtual void HandleKeyboardEvent(
93       const content::NativeWebKeyboardEvent& event) OVERRIDE {}
94 
95   virtual bool IsBookmarkBarVisible() const OVERRIDE;
96   virtual bool IsBookmarkBarAnimating() const OVERRIDE;
97   virtual bool IsTabStripEditable() const OVERRIDE;
98   virtual bool IsToolbarVisible() const OVERRIDE;
99   virtual gfx::Rect GetRootWindowResizerRect() const OVERRIDE;
ConfirmAddSearchProvider(TemplateURL * template_url,Profile * profile)100   virtual void ConfirmAddSearchProvider(TemplateURL* template_url,
101                                         Profile* profile) OVERRIDE {}
ShowUpdateChromeDialog()102   virtual void ShowUpdateChromeDialog() OVERRIDE {}
ShowBookmarkBubble(const GURL & url,bool already_bookmarked)103   virtual void ShowBookmarkBubble(const GURL& url,
104                                   bool already_bookmarked) OVERRIDE {}
ShowTranslateBubble(content::WebContents * contents,TranslateBubbleModel::ViewState view_state,TranslateErrors::Type error_type)105   virtual void ShowTranslateBubble(
106       content::WebContents* contents,
107       TranslateBubbleModel::ViewState view_state,
108       TranslateErrors::Type error_type) OVERRIDE {}
109 #if defined(ENABLE_ONE_CLICK_SIGNIN)
ShowOneClickSigninBubble(OneClickSigninBubbleType type,const string16 & email,const string16 & error_message,const StartSyncCallback & start_sync_callback)110   virtual void ShowOneClickSigninBubble(
111       OneClickSigninBubbleType type,
112       const string16& email,
113       const string16& error_message,
114       const StartSyncCallback& start_sync_callback) OVERRIDE {}
115 #endif
116   virtual bool IsDownloadShelfVisible() const OVERRIDE;
117   virtual DownloadShelf* GetDownloadShelf() OVERRIDE;
ConfirmBrowserCloseWithPendingDownloads(int download_count,Browser::DownloadClosePreventionType dialog_type,bool app_modal,const base::Callback<void (bool)> & callback)118   virtual void ConfirmBrowserCloseWithPendingDownloads(
119       int download_count,
120       Browser::DownloadClosePreventionType dialog_type,
121       bool app_modal,
122       const base::Callback<void(bool)>& callback) OVERRIDE {}
UserChangedTheme()123   virtual void UserChangedTheme() OVERRIDE {}
124   virtual int GetExtraRenderViewHeight() const OVERRIDE;
WebContentsFocused(content::WebContents * contents)125   virtual void WebContentsFocused(content::WebContents* contents) OVERRIDE {}
ShowWebsiteSettings(Profile * profile,content::WebContents * web_contents,const GURL & url,const content::SSLStatus & ssl)126   virtual void ShowWebsiteSettings(Profile* profile,
127                                    content::WebContents* web_contents,
128                                    const GURL& url,
129                                    const content::SSLStatus& ssl) OVERRIDE {}
Cut()130   virtual void Cut() OVERRIDE {}
Copy()131   virtual void Copy() OVERRIDE {}
Paste()132   virtual void Paste() OVERRIDE {}
133 #if defined(OS_MACOSX)
OpenTabpose()134   virtual void OpenTabpose() OVERRIDE {}
EnterFullscreenWithChrome()135   virtual void EnterFullscreenWithChrome() OVERRIDE {}
136   virtual bool IsFullscreenWithChrome() OVERRIDE;
137   virtual bool IsFullscreenWithoutChrome() OVERRIDE;
138 #endif
139 
140   virtual WindowOpenDisposition GetDispositionForPopupBounds(
141       const gfx::Rect& bounds) OVERRIDE;
142   virtual FindBar* CreateFindBar() OVERRIDE;
143   virtual web_modal::WebContentsModalDialogHost*
144       GetWebContentsModalDialogHost() OVERRIDE;
ShowAvatarBubble(content::WebContents * web_contents,const gfx::Rect & rect)145   virtual void ShowAvatarBubble(content::WebContents* web_contents,
146                                 const gfx::Rect& rect) OVERRIDE {}
ShowAvatarBubbleFromAvatarButton()147   virtual void ShowAvatarBubbleFromAvatarButton() OVERRIDE {}
ShowPasswordGenerationBubble(const gfx::Rect & rect,const autofill::PasswordForm & form,autofill::PasswordGenerator * generator)148   virtual void ShowPasswordGenerationBubble(
149       const gfx::Rect& rect,
150       const autofill::PasswordForm& form,
151       autofill::PasswordGenerator* generator) OVERRIDE {}
152   virtual int GetRenderViewHeightInsetWithDetachedBookmarkBar() OVERRIDE;
153 
154  protected:
DestroyBrowser()155   virtual void DestroyBrowser() OVERRIDE {}
156 
157  private:
158   class TestLocationBar : public LocationBar {
159    public:
TestLocationBar()160     TestLocationBar() {}
~TestLocationBar()161     virtual ~TestLocationBar() {}
162 
163     // LocationBar:
ShowFirstRunBubble()164     virtual void ShowFirstRunBubble() OVERRIDE {}
165     virtual GURL GetDestinationURL() const OVERRIDE;
166     virtual WindowOpenDisposition GetWindowOpenDisposition() const OVERRIDE;
167     virtual content::PageTransition GetPageTransition() const OVERRIDE;
AcceptInput()168     virtual void AcceptInput() OVERRIDE {}
FocusLocation(bool select_all)169     virtual void FocusLocation(bool select_all) OVERRIDE {}
FocusSearch()170     virtual void FocusSearch() OVERRIDE {}
UpdateContentSettingsIcons()171     virtual void UpdateContentSettingsIcons() OVERRIDE {}
UpdateManagePasswordsIconAndBubble()172     virtual void UpdateManagePasswordsIconAndBubble() OVERRIDE {}
UpdatePageActions()173     virtual void UpdatePageActions() OVERRIDE {}
InvalidatePageActions()174     virtual void InvalidatePageActions() OVERRIDE {}
UpdateOpenPDFInReaderPrompt()175     virtual void UpdateOpenPDFInReaderPrompt() OVERRIDE {}
UpdateGeneratedCreditCardView()176     virtual void UpdateGeneratedCreditCardView() OVERRIDE {}
SaveStateToContents(content::WebContents * contents)177     virtual void SaveStateToContents(content::WebContents* contents) OVERRIDE {}
Revert()178     virtual void Revert() OVERRIDE {}
179     virtual const OmniboxView* GetOmniboxView() const OVERRIDE;
180     virtual OmniboxView* GetOmniboxView() OVERRIDE;
181     virtual LocationBarTesting* GetLocationBarForTesting() OVERRIDE;
182 
183    private:
184     DISALLOW_COPY_AND_ASSIGN(TestLocationBar);
185   };
186 
187   TestDownloadShelf download_shelf_;
188   TestLocationBar location_bar_;
189 
190   DISALLOW_COPY_AND_ASSIGN(TestBrowserWindow);
191 };
192 
193 namespace chrome {
194 
195 // Helper that handle the lifetime of TestBrowserWindow instances.
196 Browser* CreateBrowserWithTestWindowForParams(Browser::CreateParams* params);
197 
198 }  // namespace chrome
199 
200 #endif  // CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_
201