diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-20 18:01:45 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-20 18:01:45 +0000 |
commit | 5d49b0f6fc6b71a4ad0d1e72cf7e3c86f2943f86 (patch) | |
tree | 60580cc0553df9e2d9f5fc7aaf2977eda7704d2d /chrome/browser/views/frame | |
parent | d6968dda8612fe906d8e25bcc384641b28e1af42 (diff) | |
download | chromium_src-5d49b0f6fc6b71a4ad0d1e72cf7e3c86f2943f86.zip chromium_src-5d49b0f6fc6b71a4ad0d1e72cf7e3c86f2943f86.tar.gz chromium_src-5d49b0f6fc6b71a4ad0d1e72cf7e3c86f2943f86.tar.bz2 |
PanelControler support
* Refactored BrowserExtender and added NormalExtender and PopopExtender.
BrowserExtender::Create factory method returns appropriate extender for given BrowserView.
* Added #if/#else to PanelController to accept BrowserView in Constructor.
* added guard code in Close so that it will ignore 2nd invocation of Close. (views seems
to call Close() (when it requests, and when it's really closed)
Added missing code in TabOverviewMessageListener
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/276075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29533 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/frame')
-rwxr-xr-x | chrome/browser/views/frame/browser_view.cc | 30 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.h | 7 |
2 files changed, 33 insertions, 4 deletions
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index 499741d..eae4ec7 100755 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -571,6 +571,12 @@ gfx::Rect BrowserView::GetTabStripBounds() const { } bool BrowserView::IsToolbarVisible() const { +#if defined(OS_CHROMEOS) + if (browser_->type() & Browser::TYPE_POPUP) { + // Don't show toolbar if the window is a popup. + return false; + } +#endif return browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR) || browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR); } @@ -644,6 +650,9 @@ 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 { @@ -720,6 +729,10 @@ void BrowserView::Show() { contents_split_->set_divider_offset(split_offset); frame_->GetWindow()->Show(); + +#if defined (OS_CHROMEOS) + browser_extender_->Show(); +#endif } void BrowserView::SetBounds(const gfx::Rect& bounds) { @@ -736,6 +749,10 @@ void BrowserView::Close() { } frame_->GetWindow()->Close(); + +#if defined(OS_CHROMEOS) + browser_extender_->Close(); +#endif } void BrowserView::Activate() { @@ -791,6 +808,9 @@ void BrowserView::UpdateTitleBar() { frame_->GetWindow()->UpdateWindowTitle(); if (ShouldShowWindowIcon()) frame_->GetWindow()->UpdateWindowIcon(); +#if defined(OS_CHROMEOS) + browser_extender_->UpdateTitleBar(); +#endif } void BrowserView::ShelfVisibilityChanged() { @@ -1454,6 +1474,11 @@ 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. if (tabstrip_->IsDragSessionActive()) @@ -1737,10 +1762,7 @@ void BrowserView::Init() { #endif #if defined(OS_CHROMEOS) - if (browser_->type() == Browser::TYPE_NORMAL) { - browser_extender_.reset(new BrowserExtender(this)); - browser_extender_->Init(); - } + browser_extender_.reset(BrowserExtender::Create(this)); #endif } diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h index 6e7400e..5703306 100644 --- a/chrome/browser/views/frame/browser_view.h +++ b/chrome/browser/views/frame/browser_view.h @@ -328,6 +328,13 @@ 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: virtual void Layout(); |