15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "build/build_config.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/download/test_download_shelf.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_window.h" 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/browser/ui/omnibox/location_bar.h" 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class LocationBarTesting; 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class OmniboxView; 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Extension; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// An implementation of BrowserWindow used for testing. TestBrowserWindow only 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// contains a valid LocationBar, all other getters return NULL. 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// See BrowserWithTestWindowTest for an example of using this class. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TestBrowserWindow : public BrowserWindow { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TestBrowserWindow(); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~TestBrowserWindow(); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // BrowserWindow: 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Show() OVERRIDE {} 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowInactive() OVERRIDE {} 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Hide() OVERRIDE {} 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE {} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Close() OVERRIDE {} 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Activate() OVERRIDE {} 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Deactivate() OVERRIDE {} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsActive() const OVERRIDE; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void FlashFrame(bool flash) OVERRIDE {} 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsAlwaysOnTop() const OVERRIDE; 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void SetAlwaysOnTop(bool always_on_top) OVERRIDE {} 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual gfx::NativeWindow GetNativeWindow() OVERRIDE; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual BrowserWindowTesting* GetBrowserWindowTesting() OVERRIDE; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual StatusBubble* GetStatusBubble() OVERRIDE; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UpdateTitleBar() OVERRIDE {} 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void BookmarkBarStateChanged( 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BookmarkBar::AnimateChangeType change_type) OVERRIDE {} 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UpdateDevTools() OVERRIDE {} 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UpdateLoadingAnimations(bool should_animate) OVERRIDE {} 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetStarredState(bool is_starred) OVERRIDE {} 52f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual void SetTranslateIconToggled(bool is_lit) OVERRIDE {} 5368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) virtual void OnActiveTabChanged(content::WebContents* old_contents, 5468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) content::WebContents* new_contents, 5568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int index, 5668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int reason) OVERRIDE {} 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ZoomChangedForActiveTab(bool can_show_bubble) OVERRIDE {} 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual gfx::Rect GetRestoredBounds() const OVERRIDE; 59b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) virtual ui::WindowShowState GetRestoredState() const OVERRIDE; 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual gfx::Rect GetBounds() const OVERRIDE; 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsMaximized() const OVERRIDE; 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsMinimized() const OVERRIDE; 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Maximize() OVERRIDE {} 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Minimize() OVERRIDE {} 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Restore() OVERRIDE {} 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void EnterFullscreen( 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, FullscreenExitBubbleType type) OVERRIDE {} 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ExitFullscreen() OVERRIDE {} 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UpdateFullscreenExitBubbleContent( 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FullscreenExitBubbleType bubble_type) OVERRIDE {} 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool ShouldHideUIForFullscreen() const OVERRIDE; 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsFullscreen() const OVERRIDE; 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetMetroSnapMode(bool enable) OVERRIDE {} 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsInMetroSnapMode() const; 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsFullscreenBubbleVisible() const OVERRIDE; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual LocationBar* GetLocationBar() const OVERRIDE; 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetFocusToLocationBar(bool select_all) OVERRIDE {} 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UpdateReloadStopState(bool is_loading, bool force) OVERRIDE {} 823551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) virtual void UpdateToolbar(content::WebContents* contents) OVERRIDE {} 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void FocusToolbar() OVERRIDE {} 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void FocusAppMenu() OVERRIDE {} 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void FocusBookmarksToolbar() OVERRIDE {} 86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void FocusInfobars() OVERRIDE {} 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void RotatePaneFocus(bool forwards) OVERRIDE {} 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowAppMenu() OVERRIDE {} 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool PreHandleKeyboardEvent( 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const content::NativeWebKeyboardEvent& event, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool* is_keyboard_shortcut) OVERRIDE; 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void HandleKeyboardEvent( 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const content::NativeWebKeyboardEvent& event) OVERRIDE {} 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsBookmarkBarVisible() const OVERRIDE; 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsBookmarkBarAnimating() const OVERRIDE; 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsTabStripEditable() const OVERRIDE; 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsToolbarVisible() const OVERRIDE; 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual gfx::Rect GetRootWindowResizerRect() const OVERRIDE; 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ConfirmAddSearchProvider(TemplateURL* template_url, 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Profile* profile) OVERRIDE {} 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowUpdateChromeDialog() OVERRIDE {} 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowBookmarkBubble(const GURL& url, 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool already_bookmarked) OVERRIDE {} 1051e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) virtual void ShowTranslateBubble( 1061e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) content::WebContents* contents, 107a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) TranslateBubbleModel::ViewState view_state, 108a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) TranslateErrors::Type error_type) OVERRIDE {} 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_ONE_CLICK_SIGNIN) 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowOneClickSigninBubble( 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OneClickSigninBubbleType type, 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const string16& email, 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const string16& error_message, 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const StartSyncCallback& start_sync_callback) OVERRIDE {} 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsDownloadShelfVisible() const OVERRIDE; 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual DownloadShelf* GetDownloadShelf() OVERRIDE; 1183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) virtual void ConfirmBrowserCloseWithPendingDownloads( 1193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) int download_count, 1203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) Browser::DownloadClosePreventionType dialog_type, 1213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bool app_modal, 1223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) const base::Callback<void(bool)>& callback) OVERRIDE {} 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void UserChangedTheme() OVERRIDE {} 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual int GetExtraRenderViewHeight() const OVERRIDE; 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void WebContentsFocused(content::WebContents* contents) OVERRIDE {} 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowWebsiteSettings(Profile* profile, 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) content::WebContents* web_contents, 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 1297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const content::SSLStatus& ssl) OVERRIDE {} 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Cut() OVERRIDE {} 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Copy() OVERRIDE {} 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Paste() OVERRIDE {} 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void OpenTabpose() OVERRIDE {} 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void EnterFullscreenWithChrome() OVERRIDE {} 1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool IsFullscreenWithChrome() OVERRIDE; 1372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool IsFullscreenWithoutChrome() OVERRIDE; 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual WindowOpenDisposition GetDispositionForPopupBounds( 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const gfx::Rect& bounds) OVERRIDE; 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual FindBar* CreateFindBar() OVERRIDE; 14390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual web_modal::WebContentsModalDialogHost* 144c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) GetWebContentsModalDialogHost() OVERRIDE; 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowAvatarBubble(content::WebContents* web_contents, 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const gfx::Rect& rect) OVERRIDE {} 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowAvatarBubbleFromAvatarButton() OVERRIDE {} 1482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ShowPasswordGenerationBubble( 1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const gfx::Rect& rect, 15058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) const autofill::PasswordForm& form, 1512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) autofill::PasswordGenerator* generator) OVERRIDE {} 152424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) virtual int GetRenderViewHeightInsetWithDetachedBookmarkBar() OVERRIDE; 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected: 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void DestroyBrowser() OVERRIDE {} 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 1584e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) class TestLocationBar : public LocationBar { 1594e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) public: 1604e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) TestLocationBar() {} 1614e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual ~TestLocationBar() {} 1624e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1634e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // LocationBar: 1644e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void ShowFirstRunBubble() OVERRIDE {} 1654e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual GURL GetDestinationURL() const OVERRIDE; 1664e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual WindowOpenDisposition GetWindowOpenDisposition() const OVERRIDE; 1674e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual content::PageTransition GetPageTransition() const OVERRIDE; 1684e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void AcceptInput() OVERRIDE {} 1694e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void FocusLocation(bool select_all) OVERRIDE {} 1704e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void FocusSearch() OVERRIDE {} 1714e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void UpdateContentSettingsIcons() OVERRIDE {} 172f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual void UpdateManagePasswordsIconAndBubble() OVERRIDE {} 1734e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void UpdatePageActions() OVERRIDE {} 1744e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void InvalidatePageActions() OVERRIDE {} 1754e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void UpdateOpenPDFInReaderPrompt() OVERRIDE {} 1764e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void UpdateGeneratedCreditCardView() OVERRIDE {} 1774e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void SaveStateToContents(content::WebContents* contents) OVERRIDE {} 1784e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void Revert() OVERRIDE {} 179f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual const OmniboxView* GetOmniboxView() const OVERRIDE; 180f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual OmniboxView* GetOmniboxView() OVERRIDE; 1814e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual LocationBarTesting* GetLocationBarForTesting() OVERRIDE; 1824e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1834e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) private: 1844e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(TestLocationBar); 1854e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) }; 1864e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TestDownloadShelf download_shelf_; 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TestLocationBar location_bar_; 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(TestBrowserWindow); 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Helper that handle the lifetime of TestBrowserWindow instances. 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Browser* CreateBrowserWithTestWindowForParams(Browser::CreateParams* params); 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_ 201