browser_non_client_frame_view_factory_aura.cc revision f2477e01787aa58f445919b809d89e252beef54f
1// Copyright (c) 2012 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#include "chrome/browser/ui/views/frame/browser_view.h" 6 7#include "base/command_line.h" 8#include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h" 9 10#if defined(USE_ASH) 11#include "chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h" 12#endif 13 14#if defined(OS_WIN) 15#include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" 16#endif 17 18namespace chrome { 19 20BrowserNonClientFrameView* CreateBrowserNonClientFrameView( 21 BrowserFrame* frame, BrowserView* browser_view) { 22#if defined(USE_AURA) && defined(OS_WIN) 23 if (browser_view->browser()-> 24 host_desktop_type() == chrome::HOST_DESKTOP_TYPE_NATIVE) { 25 if (frame->ShouldUseNativeFrame()) 26 return new GlassBrowserFrameView(frame, browser_view); 27 return new OpaqueBrowserFrameView(frame, browser_view); 28 } 29#endif 30#if defined(USE_ASH) 31 BrowserNonClientFrameViewAsh* frame_view = 32 new BrowserNonClientFrameViewAsh(frame, browser_view); 33 frame_view->Init(); 34 return frame_view; 35#else 36 return new OpaqueBrowserFrameView(frame, browser_view); 37#endif 38} 39 40} // namespace chrome 41