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