1 // Copyright 2015 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 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_MAC_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_MAC_H_
8 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
10 class BrowserNonClientFrameViewMac
: public BrowserNonClientFrameView
{
12 // Mac implementation of BrowserNonClientFrameView.
13 BrowserNonClientFrameViewMac(BrowserFrame
* frame
, BrowserView
* browser_view
);
14 ~BrowserNonClientFrameViewMac() override
;
16 // BrowserNonClientFrameView:
17 gfx::Rect
GetBoundsForTabStrip(views::View
* tabstrip
) const override
;
18 int GetTopInset() const override
;
19 int GetThemeBackgroundXInset() const override
;
20 void UpdateThrobber(bool running
) override
;
22 // views::NonClientFrameView:
23 gfx::Rect
GetBoundsForClientView() const override
;
24 gfx::Rect
GetWindowBoundsForClientBounds(
25 const gfx::Rect
& client_bounds
) const override
;
26 int NonClientHitTest(const gfx::Point
& point
) override
;
27 void GetWindowMask(const gfx::Size
& size
, gfx::Path
* window_mask
) override
;
28 void ResetWindowControls() override
;
29 void UpdateWindowIcon() override
;
30 void UpdateWindowTitle() override
;
31 void SizeConstraintsChanged() override
;
34 gfx::Size
GetMinimumSize() const override
;
38 void OnPaint(gfx::Canvas
* canvas
) override
;
40 // BrowserNonClientFrameView:
41 void UpdateNewAvatarButtonImpl() override
;
44 void PaintThemedFrame(gfx::Canvas
* canvas
);
45 void PaintToolbarBackground(gfx::Canvas
* canvas
);
47 DISALLOW_COPY_AND_ASSIGN(BrowserNonClientFrameViewMac
);
50 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_MAC_H_