1 // Copyright (c) 2013 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_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.h"
11 #include "ui/views/linux_ui/window_button_order_observer.h"
15 // Plumbs button change events from views::LinuxUI to
16 // OpaqueBrowserFrameViewLayout.
17 class OpaqueBrowserFrameViewLinux
18 : public OpaqueBrowserFrameViewPlatformSpecific
,
19 public views::WindowButtonOrderObserver
{
21 OpaqueBrowserFrameViewLinux(
22 OpaqueBrowserFrameView
* view
,
23 OpaqueBrowserFrameViewLayout
* layout
,
25 ~OpaqueBrowserFrameViewLinux() override
;
27 // Overridden from OpaqueBrowserFrameViewPlatformSpecific:
28 bool IsUsingSystemTheme() override
;
30 // Overridden from views::WindowButtonOrderObserver:
31 void OnWindowButtonOrderingChange(
32 const std::vector
<views::FrameButton
>& leading_buttons
,
33 const std::vector
<views::FrameButton
>& trailing_buttons
) override
;
36 OpaqueBrowserFrameView
* view_
;
37 OpaqueBrowserFrameViewLayout
* layout_
;
39 ThemeService
* theme_service_
;
41 DISALLOW_COPY_AND_ASSIGN(OpaqueBrowserFrameViewLinux
);
44 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_