blob: 94d0fa75a88227f62b8eed3b313202814a9ff320 [file] [log] [blame]
// 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) {
}