opaque_browser_frame_view_platform_specific.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
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
8class OpaqueBrowserFrameView;
9class OpaqueBrowserFrameViewLayout;
10
11// Handles platform specific configuration concepts.
12class OpaqueBrowserFrameViewPlatformSpecific {
13 public:
14  virtual ~OpaqueBrowserFrameViewPlatformSpecific() {}
15
16  // Builds an observer for |view| and |layout|. This method returns NULL on
17  // platforms which don't need configuration.
18  static OpaqueBrowserFrameViewPlatformSpecific* Create(
19      OpaqueBrowserFrameView* view,
20      OpaqueBrowserFrameViewLayout* layout);
21
22  // Whether we should show the (minimize,maximize,close) buttons. This can
23  // depend on the current state of the window (e.g., whether it is maximized).
24  // The default implementation always returns true.
25  virtual bool ShouldShowCaptionButtons() const;
26};
27
28#endif  // CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_PLATFORM_SPECIFIC_H_
29