summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/frame
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-20 18:01:45 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-20 18:01:45 +0000
commit5d49b0f6fc6b71a4ad0d1e72cf7e3c86f2943f86 (patch)
tree60580cc0553df9e2d9f5fc7aaf2977eda7704d2d /chrome/browser/views/frame
parentd6968dda8612fe906d8e25bcc384641b28e1af42 (diff)
downloadchromium_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-xchrome/browser/views/frame/browser_view.cc30
-rw-r--r--chrome/browser/views/frame/browser_view.h7
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();