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