browser_view_layout_delegate.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_DELEGATE_H_ 6#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_DELEGATE_H_ 7 8class FullscreenExitBubbleViews; 9 10namespace gfx { 11class Rect; 12} 13namespace views { 14class View; 15} 16 17// Delegate class to allow BrowserViewLayout to be decoupled from BrowserView 18// for testing. 19class BrowserViewLayoutDelegate { 20 public: 21 virtual ~BrowserViewLayoutDelegate() {} 22 23 virtual views::View* GetContentsWebView() const = 0; 24 virtual views::View* GetWindowSwitcherButton() const = 0; 25 virtual bool IsTabStripVisible() const = 0; 26 virtual gfx::Rect GetBoundsForTabStripInBrowserView() const = 0; 27 virtual int GetTopInsetInBrowserView() const = 0; 28 virtual int GetThemeBackgroundXInset() const = 0; 29 virtual bool IsToolbarVisible() const = 0; 30 virtual bool IsBookmarkBarVisible() const = 0; 31 virtual bool DownloadShelfNeedsLayout() const = 0; 32 virtual FullscreenExitBubbleViews* GetFullscreenExitBubble() const = 0; 33}; 34 35#endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_DELEGATE_H_ 36