Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3776)

Unified Diff: chrome/browser/gtk/browser_window_gtk.cc

Issue 159019: Begin work on extension shelf for Linux. (Closed)
Patch Set: Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | chrome/browser/gtk/extension_shelf_gtk.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/browser_window_gtk.cc
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index db15bd9919c7aec51ba0c4c02cc90207851b7304..567535af2f0338d82dbd4ad9de2d8f6bd6a89845 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -36,6 +36,7 @@
#include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h"
#include "chrome/browser/gtk/download_shelf_gtk.h"
#include "chrome/browser/gtk/edit_search_engine_dialog.h"
+#include "chrome/browser/gtk/extension_shelf_gtk.h"
#include "chrome/browser/gtk/find_bar_gtk.h"
#include "chrome/browser/gtk/go_button_gtk.h"
#include "chrome/browser/gtk/gtk_theme_provider.h"
@@ -645,10 +646,11 @@ void BrowserWindowGtk::SetFullscreen(bool fullscreen) {
UpdateCustomFrame();
if (fullscreen) {
- // These three balanced by ShowSupportedWindowFeatures().
+ // These four balanced by ShowSupportedWindowFeatures().
toolbar_->Hide();
tabstrip_->Hide();
bookmark_bar_->Hide(false);
+ extension_shelf_->Hide();
gtk_window_fullscreen(window_);
} else {
@@ -904,6 +906,10 @@ void BrowserWindowGtk::MaybeShowBookmarkBar(TabContents* contents,
}
}
+void BrowserWindowGtk::MaybeShowExtensionShelf() {
+ extension_shelf_->Show();
+}
+
void BrowserWindowGtk::UpdateDevToolsForContents(TabContents* contents) {
TabContents* old_devtools = devtools_container_->GetTabContents();
if (old_devtools)
@@ -1108,6 +1114,11 @@ void BrowserWindowGtk::InitWidgets() {
this));
bookmark_bar_->AddBookmarkbarToBox(content_vbox_);
+ extension_shelf_.reset(new ExtensionShelfGtk(browser()->profile(),
+ browser_.get()));
+ extension_shelf_->AddShelfToBox(content_vbox_);
+ MaybeShowExtensionShelf();
+
// This vbox surrounds the render area: find bar, info bars and render view.
// The reason is that this area as a whole needs to be grouped in its own
// GdkWindow hierarchy so that animations originating inside it (infobar,
@@ -1407,6 +1418,9 @@ void BrowserWindowGtk::ShowSupportedWindowFeatures() {
if (IsBookmarkBarSupported())
MaybeShowBookmarkBar(browser_->GetSelectedTabContents(), false);
+
+ if (IsExtensionShelfSupported())
+ MaybeShowExtensionShelf();
}
void BrowserWindowGtk::HideUnsupportedWindowFeatures() {
@@ -1418,6 +1432,9 @@ void BrowserWindowGtk::HideUnsupportedWindowFeatures() {
if (!IsBookmarkBarSupported())
bookmark_bar_->Hide(false);
+
+ if (!IsExtensionShelfSupported())
+ extension_shelf_->Hide();
}
bool BrowserWindowGtk::IsTabStripSupported() {
@@ -1433,6 +1450,10 @@ bool BrowserWindowGtk::IsBookmarkBarSupported() {
return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR);
}
+bool BrowserWindowGtk::IsExtensionShelfSupported() {
+ return browser_->SupportsWindowFeature(Browser::FEATURE_EXTENSIONSHELF);
+}
+
bool BrowserWindowGtk::GetWindowEdge(int x, int y, GdkWindowEdge* edge) {
if (!use_custom_frame_.GetValue())
return false;
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | chrome/browser/gtk/extension_shelf_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698