| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ui/views/frame/browser_frame.h" |
| |
| #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" |
| #include "chrome/browser/ui/views/frame/browser_root_view.h" |
| #include "chrome/browser/ui/views/frame/browser_view.h" |
| #include "chrome/browser/ui/views/frame/native_browser_frame.h" |
| #include "views/widget/native_widget.h" |
| #include "views/widget/widget.h" |
| #include "views/window/native_window.h" |
| #include "views/window/window.h" |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // BrowserFrame, public: |
| |
| BrowserFrame::~BrowserFrame() { |
| } |
| |
| views::Window* BrowserFrame::GetWindow() { |
| return native_browser_frame_->AsNativeWindow()->GetWindow(); |
| } |
| |
| int BrowserFrame::GetMinimizeButtonOffset() const { |
| return native_browser_frame_->GetMinimizeButtonOffset(); |
| } |
| |
| gfx::Rect BrowserFrame::GetBoundsForTabStrip(views::View* tabstrip) const { |
| return browser_frame_view_->GetBoundsForTabStrip(tabstrip); |
| } |
| |
| int BrowserFrame::GetHorizontalTabStripVerticalOffset(bool restored) const { |
| return browser_frame_view_->GetHorizontalTabStripVerticalOffset(restored); |
| } |
| |
| void BrowserFrame::UpdateThrobber(bool running) { |
| browser_frame_view_->UpdateThrobber(running); |
| } |
| |
| ui::ThemeProvider* BrowserFrame::GetThemeProviderForFrame() const { |
| return native_browser_frame_->GetThemeProviderForFrame(); |
| } |
| |
| bool BrowserFrame::AlwaysUseNativeFrame() const { |
| return native_browser_frame_->AlwaysUseNativeFrame(); |
| } |
| |
| views::View* BrowserFrame::GetFrameView() const { |
| return browser_frame_view_; |
| } |
| |
| void BrowserFrame::TabStripDisplayModeChanged() { |
| native_browser_frame_->TabStripDisplayModeChanged(); |
| } |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // BrowserFrame, NativeBrowserFrameDelegate implementation: |
| |
| views::RootView* BrowserFrame::DelegateCreateRootView() { |
| root_view_ = new BrowserRootView( |
| browser_view_, |
| native_browser_frame_->AsNativeWindow()->AsNativeWidget()->GetWidget()); |
| return root_view_; |
| } |
| |
| views::NonClientFrameView* BrowserFrame::DelegateCreateFrameViewForWindow() { |
| browser_frame_view_ = |
| native_browser_frame_->CreateBrowserNonClientFrameView(); |
| return browser_frame_view_; |
| } |
| |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // BrowserFrame, protected: |
| |
| BrowserFrame::BrowserFrame(BrowserView* browser_view) |
| : native_browser_frame_(NULL), |
| root_view_(NULL), |
| browser_frame_view_(NULL), |
| browser_view_(browser_view) { |
| } |