Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / bookmarks / bookmark_bar_toolbar_view.h
blob4eb25cd024431738d7ae281e4aa912d84b2fd7a1
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.
5 // The BookmarkBarToolbarView is responsible for drawing the background of the
6 // BookmarkBar's toolbar in either of its two display modes - permanently
7 // attached (slimline with a stroke at the bottom edge) or New Tab Page style
8 // (padded with a round rect border and the New Tab Page theme behind).
10 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_
11 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_
13 #import <Cocoa/Cocoa.h>
15 #import "chrome/browser/ui/cocoa/animatable_view.h"
16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_state.h"
18 @class BookmarkBarView;
20 class ThemeService;
22 // An interface to allow mocking of a BookmarkBarController by the
23 // BookmarkBarToolbarView.
24 @protocol BookmarkBarToolbarViewController <BookmarkBarState>
25 // Displaying the bookmark toolbar background in bubble (floating) mode requires
26 // the size of the currently selected tab to properly calculate where the
27 // background image is joined.
28 - (int)currentTabContentsHeight;
30 // Current theme service.
31 - (ThemeService*)themeService;
33 @end
35 @interface BookmarkBarToolbarView : AnimatableView {
36 @private
37 // The controller which tells us how we should be drawing (as normal or as a
38 // floating bar).
39 IBOutlet id<BookmarkBarToolbarViewController> controller_;
41 @end
43 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_TOOLBAR_VIEW_H_