Home | History | Annotate | Download | only in frame
      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.
      4 
      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_
      7 
      8 class OpaqueBrowserFrameView;
      9 class OpaqueBrowserFrameViewLayout;
     10 class Profile;
     11 
     12 // Handles platform specific configuration concepts.
     13 class OpaqueBrowserFrameViewPlatformSpecific {
     14  public:
     15   virtual ~OpaqueBrowserFrameViewPlatformSpecific() {}
     16 
     17   // Returns whether we're using native system like rendering for theme
     18   // elements.
     19   //
     20   // Why not just ask ThemeService::UsingSystemTheme()? Because on Windows, the
     21   // default theme is UsingSystemTheme(). Therefore, the default implementation
     22   // always returns false and we specifically override this on Linux.
     23   virtual bool IsUsingSystemTheme();
     24 
     25   // Builds an observer for |view| and |layout|.
     26   static OpaqueBrowserFrameViewPlatformSpecific* Create(
     27       OpaqueBrowserFrameView* view,
     28       OpaqueBrowserFrameViewLayout* layout,
     29       Profile* profile);
     30 };
     31 
     32 #endif  // CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_PLATFORM_SPECIFIC_H_
     33