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_PLATFORM_SPECIFIC_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_PLATFORM_SPECIFIC_H_
8 class OpaqueBrowserFrameView;
9 class OpaqueBrowserFrameViewLayout;
12 // Handles platform specific configuration concepts.
13 class OpaqueBrowserFrameViewPlatformSpecific {
15 virtual ~OpaqueBrowserFrameViewPlatformSpecific() {}
17 // Returns whether we're using native system like rendering for theme
20 // Why not just ask ThemeService::UsingNativeTheme()? Because on Windows, the
21 // default theme is UsingNativeTheme(). Therefore, the default implementation
22 // always returns false and we specifically override this on Linux.
23 virtual bool IsUsingNativeTheme();
25 // Builds an observer for |view| and |layout|.
26 static OpaqueBrowserFrameViewPlatformSpecific* Create(
27 OpaqueBrowserFrameView* view,
28 OpaqueBrowserFrameViewLayout* layout,
32 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_PLATFORM_SPECIFIC_H_