diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-22 23:41:24 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-22 23:41:24 +0000 |
commit | ae25f9f425e0e652e0d72edf6fb5d080d5760f3b (patch) | |
tree | 702d964850ddbf39389014d65d2d39dda8dcbb43 /chrome/browser | |
parent | 61eeb15a8909da1141c10316d8cf8c6841ed29d1 (diff) | |
download | chromium_src-ae25f9f425e0e652e0d72edf6fb5d080d5760f3b.zip chromium_src-ae25f9f425e0e652e0d72edf6fb5d080d5760f3b.tar.gz chromium_src-ae25f9f425e0e652e0d72edf6fb5d080d5760f3b.tar.bz2 |
* Moved panel controller to chromeos directory
* Include BrowserExtender to regular build to remove CHROMEOS ifdefs in BrowserView
* moved browser_extender.h to chrome/browser/views/frame, and BrowserExtender methods
to chrome/browser/views/frame/browser_extender.cc.
* Added StandardExtender (standard_extender.cc), which is empty now. I'm going to add MainMenu support to win,
which will be added vua StandardExtender with a command line flag.
* factory method "Create" is now defined in standard_extender.cc and chromeos/chromeos_browser_extenders.cc.
toolkit_views=1 uses chromeos_browser_extenders.cc and other build uses standard_extender
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/317001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29836 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/chromeos/chromeos_browser_extenders.cc (renamed from chrome/browser/chromeos/browser_extender.cc) | 29 | ||||
-rw-r--r-- | chrome/browser/chromeos/panel_controller.cc (renamed from chrome/browser/views/panel_controller.cc) | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/panel_controller.h (renamed from chrome/browser/views/panel_controller.h) | 7 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller.cc (renamed from chrome/browser/views/panels/panel_scroller.cc) | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller.h (renamed from chrome/browser/views/panels/panel_scroller.h) | 7 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller_container.cc (renamed from chrome/browser/views/panels/panel_scroller_container.cc) | 2 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller_container.h (renamed from chrome/browser/views/panels/panel_scroller_container.h) | 7 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller_header.cc (renamed from chrome/browser/views/panels/panel_scroller_header.cc) | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/panels/panel_scroller_header.h (renamed from chrome/browser/views/panels/panel_scroller_header.h) | 7 | ||||
-rw-r--r-- | chrome/browser/gtk/browser_window_gtk.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_extender.cc | 25 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_extender.h (renamed from chrome/browser/chromeos/browser_extender.h) | 20 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 38 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.h | 8 | ||||
-rw-r--r-- | chrome/browser/views/frame/standard_extender.cc | 38 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_overview_controller.cc | 2 |
16 files changed, 117 insertions, 92 deletions
diff --git a/chrome/browser/chromeos/browser_extender.cc b/chrome/browser/chromeos/chromeos_browser_extenders.cc index 44b4e51..cf11585 100644 --- a/chrome/browser/chromeos/browser_extender.cc +++ b/chrome/browser/chromeos/chromeos_browser_extenders.cc @@ -2,17 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/chromeos/browser_extender.h" - #include <algorithm> #include "app/theme_provider.h" #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/chromeos/main_menu.h" #include "chrome/browser/chromeos/status_area_view.h" +#include "chrome/browser/chromeos/panel_controller.h" +#include "chrome/browser/views/frame/browser_extender.h" #include "chrome/browser/views/frame/browser_frame_gtk.h" #include "chrome/browser/views/frame/browser_view.h" -#include "chrome/browser/views/panel_controller.h" #include "chrome/browser/views/tabs/tab_overview_types.h" #include "chrome/browser/views/toolbar_view.h" #include "grit/generated_resources.h" @@ -24,9 +23,15 @@ namespace { -// NormalExtender adds ChromeOS specific controls and menus to BrowserView -// created with Browser::TYPE_NORMAL. For Browser::TYPE_POPUP type of -// BrowserView, see PopupExtender class below. +// NormalExtender adds ChromeOS specific controls and menus to a BrowserView +// created with Browser::TYPE_NORMAL. This extender adds controls to +// the title bar as follows: +// ____ __ __ +// [MainMenu] / \ \ \ [StatusArea] +// +// and adds the system context menu to the remaining arae of the titlebar. +// +// For Browser::TYPE_POPUP type of BrowserView, see PopupExtender class below. class NormalExtender : public BrowserExtender, public views::ButtonListener, public views::ContextMenuController { @@ -216,11 +221,6 @@ class PopupExtender : public BrowserExtender { //////////////////////////////////////////////////////////////////////////////// // BrowserExtender, public: -BrowserExtender::BrowserExtender(BrowserView* browser_view) - : browser_view_(browser_view), - can_close_(true) { -} - // static BrowserExtender* BrowserExtender::Create(BrowserView* browser_view) { BrowserExtender* extender; @@ -231,10 +231,3 @@ BrowserExtender* BrowserExtender::Create(BrowserView* browser_view) { extender->Init(); return extender; } - -//////////////////////////////////////////////////////////////////////////////// -// BrowserExtender, protected: - -views::Window* BrowserExtender::GetBrowserWindow() { - return browser_view_->frame()->GetWindow(); -} diff --git a/chrome/browser/views/panel_controller.cc b/chrome/browser/chromeos/panel_controller.cc index 7515b55..3b393d2 100644 --- a/chrome/browser/views/panel_controller.cc +++ b/chrome/browser/chromeos/panel_controller.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/views/panel_controller.h" +#include "chrome/browser/chromeos/panel_controller.h" #include "app/resource_bundle.h" #include "base/logging.h" @@ -331,3 +331,4 @@ void PanelController::TitleContentView::OnFocusOut() { Layout(); SchedulePaint(); } + diff --git a/chrome/browser/views/panel_controller.h b/chrome/browser/chromeos/panel_controller.h index ac9909c..5b3e494 100644 --- a/chrome/browser/views/panel_controller.h +++ b/chrome/browser/chromeos/panel_controller.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_VIEWS_PANEL_CONTROLLER_H_ -#define CHROME_BROWSER_VIEWS_PANEL_CONTROLLER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_PANEL_CONTROLLER_H_ +#define CHROME_BROWSER_CHROMEOS_PANEL_CONTROLLER_H_ #include <gtk/gtk.h> @@ -123,4 +123,5 @@ class PanelController : public views::ButtonListener { DISALLOW_COPY_AND_ASSIGN(PanelController); }; -#endif // CHROME_BROWSER_PANEL_CONTROLLER_H_ +#endif // CHROME_BROWSER_CHROMEOS_PANEL_CONTROLLER_H_ + diff --git a/chrome/browser/views/panels/panel_scroller.cc b/chrome/browser/chromeos/panels/panel_scroller.cc index ec93daa..c2af341 100644 --- a/chrome/browser/views/panels/panel_scroller.cc +++ b/chrome/browser/chromeos/panels/panel_scroller.cc @@ -2,15 +2,15 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#include "chrome/browser/views/panels/panel_scroller.h" +#include "chrome/browser/chromeos/panels/panel_scroller.h" #include "app/gfx/canvas.h" #include "base/compiler_specific.h" #include "base/logging.h" #include "base/stl_util-inl.h" #include "base/string_util.h" -#include "chrome/browser/views/panels/panel_scroller_container.h" -#include "chrome/browser/views/panels/panel_scroller_header.h" +#include "chrome/browser/chromeos/panels/panel_scroller_container.h" +#include "chrome/browser/chromeos/panels/panel_scroller_header.h" #include "views/widget/widget_gtk.h" struct PanelScroller::Panel { @@ -176,7 +176,7 @@ void PanelScroller::HeaderClicked(PanelScrollerHeader* source) { } void PanelScroller::ScrollToPanel(int index) { - int affected_panel_height = + int affected_panel_height = panels_[index]->container->GetPreferredSize().height(); // The pixel size we need to reserve for the stuck headers. @@ -242,7 +242,7 @@ void PanelScroller::AnimationEnded(const Animation* animation) { void PanelScroller::AnimationProgressed(const Animation* animation) { scroll_pos_ = static_cast<int>( - static_cast<double>(animated_scroll_end_ - animated_scroll_begin_) * + static_cast<double>(animated_scroll_end_ - animated_scroll_begin_) * animation_.GetCurrentValue()) + animated_scroll_begin_; Layout(); diff --git a/chrome/browser/views/panels/panel_scroller.h b/chrome/browser/chromeos/panels/panel_scroller.h index 4d32551..a3db3db 100644 --- a/chrome/browser/views/panels/panel_scroller.h +++ b/chrome/browser/chromeos/panels/panel_scroller.h @@ -2,8 +2,8 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#ifndef CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_H_ -#define CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_H_ +#define CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_H_ #include <vector> @@ -66,4 +66,5 @@ class PanelScroller : public views::View, public AnimationDelegate { DISALLOW_COPY_AND_ASSIGN(PanelScroller); }; -#endif // CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_H_ +#endif // CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_H_ + diff --git a/chrome/browser/views/panels/panel_scroller_container.cc b/chrome/browser/chromeos/panels/panel_scroller_container.cc index dcd9167..ace44d5 100644 --- a/chrome/browser/views/panels/panel_scroller_container.cc +++ b/chrome/browser/chromeos/panels/panel_scroller_container.cc @@ -2,7 +2,7 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#include "chrome/browser/views/panels/panel_scroller_container.h" +#include "chrome/browser/chromeos/panels/panel_scroller_container.h" #include "app/gfx/canvas.h" diff --git a/chrome/browser/views/panels/panel_scroller_container.h b/chrome/browser/chromeos/panels/panel_scroller_container.h index 43bf0b2..5007e95 100644 --- a/chrome/browser/views/panels/panel_scroller_container.h +++ b/chrome/browser/chromeos/panels/panel_scroller_container.h @@ -2,8 +2,8 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#ifndef CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_CONTAINER_H_ -#define CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_CONTAINER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_CONTAINER_H_ +#define CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_CONTAINER_H_ #include "base/basictypes.h" #include "views/view.h" @@ -33,4 +33,5 @@ class PanelScrollerContainer : public views::View { DISALLOW_COPY_AND_ASSIGN(PanelScrollerContainer); }; -#endif // CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_CONTAINER_H_ +#endif // CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_CONTAINER_H_ + diff --git a/chrome/browser/views/panels/panel_scroller_header.cc b/chrome/browser/chromeos/panels/panel_scroller_header.cc index 46e4ffb..47da1ad 100644 --- a/chrome/browser/views/panels/panel_scroller_header.cc +++ b/chrome/browser/chromeos/panels/panel_scroller_header.cc @@ -2,13 +2,13 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#include "chrome/browser/views/panels/panel_scroller_header.h" +#include "chrome/browser/chromeos/panels/panel_scroller_header.h" #include "app/gfx/canvas.h" #include "app/gfx/font.h" #include "app/resource_bundle.h" #include "base/string_util.h" -#include "chrome/browser/views/panels/panel_scroller.h" +#include "chrome/browser/chromeos/panels/panel_scroller.h" PanelScrollerHeader::PanelScrollerHeader(PanelScroller* scroller) : views::View(), diff --git a/chrome/browser/views/panels/panel_scroller_header.h b/chrome/browser/chromeos/panels/panel_scroller_header.h index 0be080b..e4aa8d9 100644 --- a/chrome/browser/views/panels/panel_scroller_header.h +++ b/chrome/browser/chromeos/panels/panel_scroller_header.h @@ -2,8 +2,8 @@ // source code is governed by a BSD-style license that can be found in the // LICENSE file. -#ifndef CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_HEADER_H_ -#define CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_HEADER_H_ +#ifndef CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_HEADER_H_ +#define CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_HEADER_H_ #include <string> @@ -38,4 +38,5 @@ class PanelScrollerHeader : public views::View { DISALLOW_COPY_AND_ASSIGN(PanelScrollerHeader); }; -#endif // CHROME_BROWSER_VIEWS_PANELS_PANEL_SCROLLER_HEADER_H_ +#endif // CHROME_BROWSER_CHROMEOS_PANELS_PANEL_SCROLLER_HEADER_H_ + diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc index 9981031..d4e0ffe 100644 --- a/chrome/browser/gtk/browser_window_gtk.cc +++ b/chrome/browser/gtk/browser_window_gtk.cc @@ -79,9 +79,9 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/compact_navigation_bar.h" #include "chrome/browser/chromeos/main_menu.h" +#include "chrome/browser/chromeos/panel_controller.h" #include "chrome/browser/chromeos/status_area_view.h" #include "chrome/browser/views/browser_dialogs.h" -#include "chrome/browser/views/panel_controller.h" #include "chrome/browser/views/tabs/tab_overview_types.h" #include "views/widget/widget_gtk.h" #endif diff --git a/chrome/browser/views/frame/browser_extender.cc b/chrome/browser/views/frame/browser_extender.cc new file mode 100644 index 0000000..be9cb29 --- /dev/null +++ b/chrome/browser/views/frame/browser_extender.cc @@ -0,0 +1,25 @@ +// Copyright (c) 2009 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/views/frame/browser_extender.h" + +#include <algorithm> + +#include "chrome/browser/views/frame/browser_view.h" + +//////////////////////////////////////////////////////////////////////////////// +// BrowserExtender, public: + +BrowserExtender::BrowserExtender(BrowserView* browser_view) + : browser_view_(browser_view), + can_close_(true) { +} + +//////////////////////////////////////////////////////////////////////////////// +// BrowserExtender, protected: + +views::Window* BrowserExtender::GetBrowserWindow() { + return browser_view_->frame()->GetWindow(); +} + diff --git a/chrome/browser/chromeos/browser_extender.h b/chrome/browser/views/frame/browser_extender.h index 3cc3d5d..6481d11 100644 --- a/chrome/browser/chromeos/browser_extender.h +++ b/chrome/browser/views/frame/browser_extender.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_CHROMEOS_BROWSER_EXTENDER_H_ -#define CHROME_BROWSER_CHROMEOS_BROWSER_EXTENDER_H_ +#ifndef CHROME_BROWSER_VIEWS_FRAME_BROWSER_EXTENDER_H_ +#define CHROME_BROWSER_VIEWS_FRAME_BROWSER_EXTENDER_H_ #include "base/basictypes.h" #include "base/gfx/rect.h" @@ -16,17 +16,10 @@ class Window; // BrowserExtender adds chromeos specific features to BrowserView. -// The factory method |Create(BrowserView*)| returns two different types -// of extender depending on the type of BrowserView. If the browser_view -// is normal browser, it returns NormalExtender that adds controls to -// the title bar as follows: -// ____ __ __ -// [MainMenu] / \ \ \ [StatusArea] -// -// and adds the system context menu to the remaining arae of the titlebar. -// -// If it is popup window, it returns PopupExtender that creates -// a title window. +// The factory method |Create(BrowserView*)| creates different types +// of extender depending on the type of BrowserView and target platform. +// Please see chromeos_browser_extender.cc for ChromeOS extenders, and +// standard_extender.cc for Chrome browser. class BrowserExtender { public: // Factory method to create a BrowserExtender for given @@ -90,3 +83,4 @@ class BrowserExtender { }; #endif // CHROME_BROWSER_CHROMEOS_BROWSER_EXTENDER_H_ + diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index b52ccf1..8fb342a9 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -38,6 +38,7 @@ #include "chrome/browser/views/chrome_views_delegate.h" #include "chrome/browser/views/download_shelf_view.h" #include "chrome/browser/views/extensions/extension_shelf.h" +#include "chrome/browser/views/frame/browser_extender.h" #include "chrome/browser/views/frame/browser_frame.h" #include "chrome/browser/views/fullscreen_exit_bubble.h" #include "chrome/browser/views/infobars/infobar_container.h" @@ -83,10 +84,6 @@ #include "views/window/hit_test.h" #endif -#if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/browser_extender.h" -#endif - using base::TimeDelta; using views::ColumnSet; using views::GridLayout; @@ -650,9 +647,7 @@ bool BrowserView::ActivateAppModalDialog() const { void BrowserView::ActivationChanged(bool activated) { if (activated) BrowserList::SetLastActive(browser_.get()); -#if defined(OS_CHROMEOS) browser_extender_->ActivationChanged(); -#endif } TabContents* BrowserView::GetSelectedTabContents() const { @@ -694,12 +689,8 @@ void BrowserView::DetachBrowserBubble(BrowserBubble* bubble) { bool BrowserView::IsPositionInWindowCaption(const gfx::Point& point) { gfx::Point tabstrip_point(point); View::ConvertPointToView(this, tabstrip()->GetView(), &tabstrip_point); -#if defined(OS_CHROMEOS) return tabstrip()->IsPositionInWindowCaption(tabstrip_point) && !browser_extender_->NonClientHitTest(point); -#else - return tabstrip()->IsPositionInWindowCaption(tabstrip_point); -#endif } /////////////////////////////////////////////////////////////////////////////// @@ -741,9 +732,7 @@ void BrowserView::Show() { frame_->GetWindow()->Show(); -#if defined (OS_CHROMEOS) browser_extender_->Show(); -#endif } void BrowserView::SetBounds(const gfx::Rect& bounds) { @@ -761,9 +750,7 @@ void BrowserView::Close() { frame_->GetWindow()->Close(); -#if defined(OS_CHROMEOS) browser_extender_->Close(); -#endif } void BrowserView::Activate() { @@ -819,9 +806,7 @@ void BrowserView::UpdateTitleBar() { frame_->GetWindow()->UpdateWindowTitle(); if (ShouldShowWindowIcon()) frame_->GetWindow()->UpdateWindowIcon(); -#if defined(OS_CHROMEOS) browser_extender_->UpdateTitleBar(); -#endif } void BrowserView::ShelfVisibilityChanged() { @@ -1479,10 +1464,8 @@ views::ClientView* BrowserView::CreateClientView(views::Window* window) { // BrowserView, views::ClientView overrides: bool BrowserView::CanClose() const { -#if defined(OS_CHROMEOS) if (!browser_extender_->can_close()) return false; -#endif // You cannot close a frame for which there is an active originating drag // session. @@ -1537,11 +1520,12 @@ int BrowserView::NonClientHitTest(const gfx::Point& point) { #endif } + gfx::Point point_in_browser_view_coords(point); + View::ConvertPointToView(GetParent(), this, &point_in_browser_view_coords); + // Determine if the TabStrip exists and is capable of being clicked on. We // might be a popup window without a TabStrip. if (IsTabStripVisible()) { - gfx::Point point_in_view_coords(point); - View::ConvertPointToView(GetParent(), this, &point_in_view_coords); // See if the mouse pointer is within the bounds of the TabStrip. gfx::Point point_in_tabstrip_coords(point); @@ -1557,7 +1541,7 @@ int BrowserView::NonClientHitTest(const gfx::Point& point) { // starved of dragable area, let's give it to window dragging (this also // makes sense visually). if (!IsMaximized() && - (point_in_view_coords.y() < + (point_in_browser_view_coords.y() < (tabstrip_->GetView()->y() + kTabShadowSize))) { // We return HTNOWHERE as this is a signal to our containing // NonClientView that it should figure out what the correct hit-test @@ -1566,12 +1550,8 @@ int BrowserView::NonClientHitTest(const gfx::Point& point) { } } -#if defined(OS_CHROMEOS) - gfx::Point browser_view_point(point); - ConvertPointToView(GetParent(), this, &browser_view_point); - if (browser_extender_->NonClientHitTest(browser_view_point)) + if (browser_extender_->NonClientHitTest(point_in_browser_view_coords)) return HTCLIENT; -#endif // If the point's y coordinate is below the top of the toolbar and otherwise // within the bounds of this view, the point is considered to be within the @@ -1768,9 +1748,7 @@ void BrowserView::Init() { } #endif -#if defined(OS_CHROMEOS) browser_extender_.reset(BrowserExtender::Create(this)); -#endif } #if defined(OS_WIN) @@ -1800,10 +1778,8 @@ int BrowserView::LayoutTabStrip() { ConvertPointToView(GetParent(), this, &tabstrip_origin); tabstrip_bounds.set_origin(tabstrip_origin); -#if defined(OS_CHROMEOS) - // Layout chromeos specific components. + // Layout extra components. tabstrip_bounds = browser_extender_->Layout(tabstrip_bounds); -#endif bool visible = IsTabStripVisible(); int y = visible ? tabstrip_bounds.y() : 0; diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h index c48a7e0..42967af 100644 --- a/chrome/browser/views/frame/browser_view.h +++ b/chrome/browser/views/frame/browser_view.h @@ -34,6 +34,7 @@ class BookmarkBarView; class Browser; class BrowserBubble; +class BrowserExtender; class DownloadShelfView; class EncodingMenuModel; class ExtensionShelf; @@ -49,9 +50,6 @@ class TabContentsContainer; class TabStripWrapper; class ToolbarView; class ZoomMenuModel; -#if defined(OS_CHROMEOS) -class BrowserExtender; -#endif namespace views { class ExternalFocusTracker; @@ -332,12 +330,10 @@ class BrowserView : public BrowserWindow, virtual bool GetAccessibleName(std::wstring* name); virtual void SetAccessibleName(const std::wstring& name); -#if defined(OS_CHROMEOS) // Returns BrowserExtender. BrowserExtender* browser_extender() const { return browser_extender_.get(); } -#endif protected: // Overridden from views::View: @@ -529,9 +525,7 @@ class BrowserView : public BrowserWindow, // The accessible name of this view. std::wstring accessible_name_; -#if defined(OS_CHROMEOS) scoped_ptr<BrowserExtender> browser_extender_; -#endif DISALLOW_COPY_AND_ASSIGN(BrowserView); }; diff --git a/chrome/browser/views/frame/standard_extender.cc b/chrome/browser/views/frame/standard_extender.cc new file mode 100644 index 0000000..3f32fa6 --- /dev/null +++ b/chrome/browser/views/frame/standard_extender.cc @@ -0,0 +1,38 @@ +// Copyright (c) 2009 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/views/frame/browser_extender.h" + +namespace { + +// StandardExtender for non ChromeOS build. This currently adds/does nothing. +// TODO(oshima): Add MainMenu support with a command line flag. +class StandardExtender : public BrowserExtender { + public: + explicit StandardExtender(BrowserView* browser_view) + : BrowserExtender(browser_view) { + } + virtual ~StandardExtender() {} + + private: + // BrowserExtender overrides. + virtual void Init() {} + virtual bool NonClientHitTest(const gfx::Point& point) { return false; } + virtual void Show() {} + virtual void Close() {} + virtual void UpdateTitleBar() {} + virtual void ActivationChanged() {} + + DISALLOW_COPY_AND_ASSIGN(StandardExtender); +}; + +} // namespace + +//////////////////////////////////////////////////////////////////////////////// +// BrowserExtender, public: + +// static +BrowserExtender* BrowserExtender::Create(BrowserView* browser_view) { + return new StandardExtender(browser_view); +} diff --git a/chrome/browser/views/tabs/tab_overview_controller.cc b/chrome/browser/views/tabs/tab_overview_controller.cc index ee26feebc..91e9dd6 100644 --- a/chrome/browser/views/tabs/tab_overview_controller.cc +++ b/chrome/browser/views/tabs/tab_overview_controller.cc @@ -8,7 +8,7 @@ #include "chrome/browser/browser_process.h" #if defined(TOOLKIT_VIEWS) #include "chrome/common/x11_util.h" -#include "chrome/browser/chromeos/browser_extender.h" +#include "chrome/browser/views/frame/browser_extender.h" #include "chrome/browser/views/frame/browser_view.h" #else #include "chrome/browser/gtk/browser_window_gtk.h" |