native_browser_frame_factory.h revision 58537e28ecd584eab876aee8be7156509866d23a
1// Copyright 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_NATIVE_BROWSER_FRAME_FACTORY_H_ 6#define CHROME_BROWSER_UI_VIEWS_FRAME_NATIVE_BROWSER_FRAME_FACTORY_H_ 7 8#include "base/basictypes.h" 9 10class BrowserFrame; 11class BrowserView; 12class NativeBrowserFrame; 13 14// Factory for creating a NativeBrowserFrame. 15class NativeBrowserFrameFactory { 16 public: 17 // Construct a platform-specific implementation of this interface. 18 static NativeBrowserFrame* CreateNativeBrowserFrame( 19 BrowserFrame* browser_frame, 20 BrowserView* browser_view); 21 22 // Sets the factory. Takes ownership of |new_factory|, deleting existing 23 // factory. Use NULL to go back to default factory. 24 static void Set(NativeBrowserFrameFactory* new_factory); 25 26 virtual NativeBrowserFrame* Create(BrowserFrame* browser_frame, 27 BrowserView* browser_view); 28 29 protected: 30 NativeBrowserFrameFactory() {} 31 virtual ~NativeBrowserFrameFactory() {} 32 33 DISALLOW_COPY_AND_ASSIGN(NativeBrowserFrameFactory); 34}; 35 36#endif // CHROME_BROWSER_UI_VIEWS_FRAME_NATIVE_BROWSER_FRAME_FACTORY_H_ 37