summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-17 17:50:45 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-17 17:50:45 +0000
commit8bbb3ac22f87e12532a1c74992eba97bb0a52812 (patch)
tree60e0da57ce409e7fa40e66563627515de751ef90 /chrome
parentfb497ca596afe928e180609c579208db40f56d3d (diff)
downloadchromium_src-8bbb3ac22f87e12532a1c74992eba97bb0a52812.zip
chromium_src-8bbb3ac22f87e12532a1c74992eba97bb0a52812.tar.gz
chromium_src-8bbb3ac22f87e12532a1c74992eba97bb0a52812.tar.bz2
GTK: Remove the global bookmark menu code. It's been behind a flag and bitrotting.
BUG=86715, 85466 TEST=none Review URL: http://codereview.chromium.org/8293002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105841 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/ui/gtk/global_bookmark_menu.cc268
-rw-r--r--chrome/browser/ui/gtk/global_bookmark_menu.h127
-rw-r--r--chrome/browser/ui/gtk/global_menu_bar.cc25
-rw-r--r--chrome/browser/ui/gtk/global_menu_bar.h4
-rw-r--r--chrome/chrome_browser.gypi2
-rw-r--r--chrome/common/chrome_switches.cc8
-rw-r--r--chrome/common/chrome_switches.h4
7 files changed, 0 insertions, 438 deletions
diff --git a/chrome/browser/ui/gtk/global_bookmark_menu.cc b/chrome/browser/ui/gtk/global_bookmark_menu.cc
deleted file mode 100644
index 8357319..0000000
--- a/chrome/browser/ui/gtk/global_bookmark_menu.cc
+++ /dev/null
@@ -1,268 +0,0 @@
-// 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/gtk/global_bookmark_menu.h"
-
-#include <dlfcn.h>
-#include <gtk/gtk.h>
-
-#include "base/bind.h"
-#include "base/logging.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/bookmarks/bookmark_model.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/themes/theme_service_factory.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h"
-#include "chrome/browser/ui/gtk/global_bookmark_menu.h"
-#include "chrome/browser/ui/gtk/global_menu_bar.h"
-#include "chrome/browser/ui/gtk/gtk_theme_service.h"
-#include "chrome/browser/ui/gtk/gtk_util.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "content/common/notification_service.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/gfx/gtk_util.h"
-
-GlobalBookmarkMenu::GlobalBookmarkMenu(Browser* browser)
- : browser_(browser),
- profile_(browser->profile()),
- default_favicon_(NULL),
- ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
- DCHECK(profile_);
-
- default_favicon_ = GtkThemeService::GetDefaultFavicon(true);
- default_folder_ = GtkThemeService::GetFolderIcon(true);
- registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
- Source<ThemeService>(
- ThemeServiceFactory::GetForProfile(profile_)));
-}
-
-GlobalBookmarkMenu::~GlobalBookmarkMenu() {
- profile_->GetBookmarkModel()->RemoveObserver(this);
-}
-
-void GlobalBookmarkMenu::Init(GtkWidget* bookmark_menu,
- GtkWidget* bookmark_menu_item) {
- bookmark_menu_.Own(bookmark_menu);
-
- BookmarkModel* model = profile_->GetBookmarkModel();
- model->AddObserver(this);
- if (model->IsLoaded())
- Loaded(model, false);
-}
-
-void GlobalBookmarkMenu::RebuildMenuInFuture() {
- weak_factory_.InvalidateWeakPtrs();
- MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&GlobalBookmarkMenu::RebuildMenu,
- weak_factory_.GetWeakPtr()));
-}
-
-void GlobalBookmarkMenu::RebuildMenu() {
- BookmarkModel* model = profile_->GetBookmarkModel();
- DCHECK(model);
- DCHECK(model->IsLoaded());
-
- ClearBookmarkMenu();
-
- const BookmarkNode* bar_node = model->bookmark_bar_node();
- if (!bar_node->empty()) {
- AddBookmarkMenuItem(bookmark_menu_.get(), gtk_separator_menu_item_new());
- AddNodeToMenu(bar_node, bookmark_menu_.get());
- }
-
- // Only display the other bookmarks folder in the menu if it has items in it.
- const BookmarkNode* other_node = model->other_node();
- if (!other_node->empty()) {
- GtkWidget* submenu = gtk_menu_new();
- AddNodeToMenu(other_node, submenu);
-
- AddBookmarkMenuItem(bookmark_menu_.get(), gtk_separator_menu_item_new());
-
- GtkWidget* menu_item = gtk_image_menu_item_new_with_label(
- l10n_util::GetStringUTF8(IDS_BOOKMARK_BAR_OTHER_FOLDER_NAME).c_str());
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu);
- gtk_image_menu_item_set_image(
- GTK_IMAGE_MENU_ITEM(menu_item),
- gtk_image_new_from_pixbuf(default_folder_));
- gtk_util::SetAlwaysShowImage(menu_item);
-
- AddBookmarkMenuItem(bookmark_menu_.get(), menu_item);
- }
-}
-
-void GlobalBookmarkMenu::AddBookmarkMenuItem(GtkWidget* menu,
- GtkWidget* menu_item) {
- g_object_set_data(G_OBJECT(menu_item), "type-tag",
- GINT_TO_POINTER(GlobalMenuBar::TAG_BOOKMARK_CLEARABLE));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
- gtk_widget_show(menu_item);
-}
-
-void GlobalBookmarkMenu::AddNodeToMenu(const BookmarkNode* node,
- GtkWidget* menu) {
- if (node->empty()) {
- GtkWidget* item = gtk_menu_item_new_with_label(
- l10n_util::GetStringUTF8(IDS_MENU_EMPTY_SUBMENU).c_str());
- gtk_widget_set_sensitive(item, FALSE);
- AddBookmarkMenuItem(menu, item);
- } else {
- for (int i = 0; i < node->child_count(); ++i) {
- const BookmarkNode* child = node->GetChild(i);
- GtkWidget* item = gtk_image_menu_item_new();
- ConfigureMenuItem(child, item);
- bookmark_nodes_[child] = item;
-
- if (child->is_folder()) {
- GtkWidget* submenu = gtk_menu_new();
- AddNodeToMenu(child, submenu);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
- } else {
- g_object_set_data(G_OBJECT(item), "bookmark-node",
- const_cast<BookmarkNode*>(child));
- g_signal_connect(item, "activate",
- G_CALLBACK(OnBookmarkItemActivatedThunk), this);
- }
-
- AddBookmarkMenuItem(menu, item);
- }
- }
-}
-
-void GlobalBookmarkMenu::ConfigureMenuItem(const BookmarkNode* node,
- GtkWidget* menu_item) {
- CHECK(node);
- CHECK(menu_item);
-
- gtk_menu_item_set_label(GTK_MENU_ITEM(menu_item),
- bookmark_utils::BuildMenuLabelFor(node).c_str());
-
- if (node->is_url()) {
- gtk_widget_set_tooltip_markup(
- menu_item,
- bookmark_utils::BuildTooltipFor(node).c_str());
- }
-
- const SkBitmap& bitmap = profile_->GetBookmarkModel()->GetFavicon(node);
- if (!bitmap.isNull()) {
- GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&bitmap);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),
- gtk_image_new_from_pixbuf(pixbuf));
- g_object_unref(pixbuf);
- } else {
- GdkPixbuf* pixbuf = node->is_url() ? default_favicon_ : default_folder_;
- CHECK(pixbuf);
- GtkWidget* image = gtk_image_new_from_pixbuf(pixbuf);
- CHECK(image);
-
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image);
- }
-
- gtk_util::SetAlwaysShowImage(menu_item);
-}
-
-GtkWidget* GlobalBookmarkMenu::MenuItemForNode(const BookmarkNode* node) {
- if (!node)
- return NULL;
- std::map<const BookmarkNode*, GtkWidget*>::iterator it =
- bookmark_nodes_.find(node);
- if (it == bookmark_nodes_.end())
- return NULL;
- return it->second;
-}
-
-void GlobalBookmarkMenu::ClearBookmarkMenu() {
- bookmark_nodes_.clear();
-
- gtk_container_foreach(GTK_CONTAINER(bookmark_menu_.get()),
- &ClearBookmarkItemCallback,
- NULL);
-}
-
-// static
-void GlobalBookmarkMenu::ClearBookmarkItemCallback(GtkWidget* menu_item,
- void* unused) {
- int tag = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(menu_item), "type-tag"));
- if (tag == GlobalMenuBar::TAG_BOOKMARK_CLEARABLE)
- gtk_widget_destroy(menu_item);
-}
-
-void GlobalBookmarkMenu::Observe(int type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- DCHECK(type == chrome::NOTIFICATION_BROWSER_THEME_CHANGED);
-
- // Change the icon and invalidate the menu.
- default_favicon_ = GtkThemeService::GetDefaultFavicon(true);
- default_folder_ = GtkThemeService::GetFolderIcon(true);
- RebuildMenuInFuture();
-}
-
-void GlobalBookmarkMenu::Loaded(BookmarkModel* model, bool ids_reassigned) {
- // If we have a Loaded() event, then we need to build the menu immediately
- // for the first time.
- RebuildMenu();
-}
-
-void GlobalBookmarkMenu::BookmarkModelBeingDeleted(BookmarkModel* model) {
- ClearBookmarkMenu();
-}
-
-void GlobalBookmarkMenu::BookmarkNodeMoved(BookmarkModel* model,
- const BookmarkNode* old_parent,
- int old_index,
- const BookmarkNode* new_parent,
- int new_index) {
- RebuildMenuInFuture();
-}
-
-void GlobalBookmarkMenu::BookmarkNodeAdded(BookmarkModel* model,
- const BookmarkNode* parent,
- int index) {
- RebuildMenuInFuture();
-}
-
-void GlobalBookmarkMenu::BookmarkNodeRemoved(BookmarkModel* model,
- const BookmarkNode* parent,
- int old_index,
- const BookmarkNode* node) {
- GtkWidget* item = MenuItemForNode(node);
- if (item) {
- gtk_widget_destroy(item);
- bookmark_nodes_.erase(node);
- }
-}
-
-void GlobalBookmarkMenu::BookmarkNodeChanged(BookmarkModel* model,
- const BookmarkNode* node) {
- GtkWidget* item = MenuItemForNode(node);
- if (item)
- ConfigureMenuItem(node, item);
-}
-
-void GlobalBookmarkMenu::BookmarkNodeFaviconChanged(BookmarkModel* model,
- const BookmarkNode* node) {
- GtkWidget* item = MenuItemForNode(node);
- if (item)
- ConfigureMenuItem(node, item);
-}
-
-void GlobalBookmarkMenu::BookmarkNodeChildrenReordered(
- BookmarkModel* model,
- const BookmarkNode* node) {
- RebuildMenuInFuture();
-}
-
-void GlobalBookmarkMenu::OnBookmarkItemActivated(GtkWidget* menu_item) {
- // The actual mouse event that generated this activated event was in a
- // different process. Go with something default.
- const BookmarkNode* node = static_cast<const BookmarkNode*>(
- g_object_get_data(G_OBJECT(menu_item), "bookmark-node"));
-
- browser_->OpenURL(OpenURLParams(node->url(), GURL(), NEW_FOREGROUND_TAB,
- content::PAGE_TRANSITION_AUTO_BOOKMARK, false));
-}
-
diff --git a/chrome/browser/ui/gtk/global_bookmark_menu.h b/chrome/browser/ui/gtk/global_bookmark_menu.h
deleted file mode 100644
index 92b712a..0000000
--- a/chrome/browser/ui/gtk/global_bookmark_menu.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// 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.
-
-#ifndef CHROME_BROWSER_UI_GTK_GLOBAL_BOOKMARK_MENU_H_
-#define CHROME_BROWSER_UI_GTK_GLOBAL_BOOKMARK_MENU_H_
-
-#include <map>
-
-#include "base/compiler_specific.h"
-#include "base/memory/weak_ptr.h"
-#include "base/task.h"
-#include "chrome/browser/bookmarks/bookmark_model_observer.h"
-#include "chrome/browser/ui/gtk/global_menu_owner.h"
-#include "content/common/notification_observer.h"
-#include "content/common/notification_registrar.h"
-#include "ui/base/gtk/gtk_signal.h"
-#include "ui/base/gtk/owned_widget_gtk.h"
-
-class Browser;
-class Profile;
-
-typedef struct _GdkPixbuf GdkPixbuf;
-typedef struct _GtkWidget GtkWidget;
-
-// Manages the global bookmarks menu.
-//
-// There are a few subtleties here: we can't rely on accurate event
-// dispositions being sent back, right click menus on menu items are placed
-// relative to the main chrome window instead of the global menu bar, and we
-// need to update the menu in the background (instead of building it on showing
-// and not updating it if the model changes). I'm not even thinking about
-// making these draggable since these items aren't displayed in our process.
-class GlobalBookmarkMenu : public GlobalMenuOwner,
- public NotificationObserver,
- public BookmarkModelObserver {
- public:
- explicit GlobalBookmarkMenu(Browser* browser);
- virtual ~GlobalBookmarkMenu();
-
- // Takes the bookmark menu we need to modify based on bookmark state.
- virtual void Init(GtkWidget* bookmark_menu, GtkWidget* bookmark_menu_item);
-
- private:
- // Schedules the menu to be rebuilt. The mac version sets a boolean and
- // rebuilds the menu during their pre-show callback. We don't have anything
- // like that: by the time we get a "show" signal from GTK+, the menu has
- // already been displayed and it will take multiple dbus calls to add the
- // menu items.
- //
- // Since the bookmark model works by sending us BookmarkNodeEvent
- // notifications one by one, we use a timer to batch up calls.
- void RebuildMenuInFuture();
-
- // Rebuilds the menu now. Called on initial Load() and from
- // RebuildMenuInFuture().
- void RebuildMenu();
-
- // Adds |item| to |menu| and marks it as a dynamic item.
- void AddBookmarkMenuItem(GtkWidget* menu, GtkWidget* menu_item);
-
- // Adds an menu item representing |node| to |menu|.
- void AddNodeToMenu(const BookmarkNode* node, GtkWidget* menu);
-
- // This configures a GtkWidget with all the data from a BookmarkNode. This is
- // used to update existing menu items, as well as to configure newly created
- // ones, like in AddNodeToMenu().
- void ConfigureMenuItem(const BookmarkNode* node, GtkWidget* menu_item);
-
- // Returns the GtkMenuItem for |node|.
- GtkWidget* MenuItemForNode(const BookmarkNode* node);
-
- // Removes all bookmark entries from the bookmark menu in anticipation that
- // we're about to do a rebuild.
- void ClearBookmarkMenu();
-
- // Callback used in ClearBookmarkMenu().
- static void ClearBookmarkItemCallback(GtkWidget* menu_item,
- void* unused);
-
- // NotificationObserver:
- virtual void Observe(int type,
- const NotificationSource& source,
- const NotificationDetails& details);
-
- // BookmarkModelObserver:
- virtual void Loaded(BookmarkModel* model, bool ids_reassigned) OVERRIDE;
- virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE;
- virtual void BookmarkNodeMoved(BookmarkModel* model,
- const BookmarkNode* old_parent,
- int old_index,
- const BookmarkNode* new_parent,
- int new_index) OVERRIDE;
- virtual void BookmarkNodeAdded(BookmarkModel* model,
- const BookmarkNode* parent,
- int index) OVERRIDE;
- virtual void BookmarkNodeRemoved(BookmarkModel* model,
- const BookmarkNode* parent,
- int old_index,
- const BookmarkNode* node) OVERRIDE;
- virtual void BookmarkNodeChanged(BookmarkModel* model,
- const BookmarkNode* node) OVERRIDE;
- virtual void BookmarkNodeFaviconChanged(BookmarkModel* model,
- const BookmarkNode* node) OVERRIDE;
- virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
- const BookmarkNode* node) OVERRIDE;
-
- CHROMEGTK_CALLBACK_0(GlobalBookmarkMenu, void, OnBookmarkItemActivated);
-
- Browser* browser_;
- Profile* profile_;
-
- NotificationRegistrar registrar_;
-
- GdkPixbuf* default_favicon_;
- GdkPixbuf* default_folder_;
-
- ui::OwnedWidgetGtk bookmark_menu_;
-
- base::WeakPtrFactory<GlobalBookmarkMenu> weak_factory_;
-
- // In order to appropriately update items in the bookmark menu, without
- // forcing a rebuild, map the model's nodes to menu items.
- std::map<const BookmarkNode*, GtkWidget*> bookmark_nodes_;
-};
-
-#endif // CHROME_BROWSER_UI_GTK_GLOBAL_BOOKMARK_MENU_H_
diff --git a/chrome/browser/ui/gtk/global_menu_bar.cc b/chrome/browser/ui/gtk/global_menu_bar.cc
index 4e37ed8..f03a45c 100644
--- a/chrome/browser/ui/gtk/global_menu_bar.cc
+++ b/chrome/browser/ui/gtk/global_menu_bar.cc
@@ -12,7 +12,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/gtk/accelerators_gtk.h"
-#include "chrome/browser/ui/gtk/global_bookmark_menu.h"
#include "chrome/browser/ui/gtk/gtk_theme_service.h"
#include "chrome/browser/ui/gtk/gtk_util.h"
#include "chrome/common/chrome_notification_types.h"
@@ -118,14 +117,6 @@ GlobalMenuBarCommand history_menu[] = {
{ MENU_END, MENU_END }
};
-GlobalMenuBarCommand bookmark_menu[] = {
- { IDS_BOOKMARK_MANAGER, IDC_SHOW_BOOKMARK_MANAGER },
- { IDS_BOOKMARK_CURRENT_PAGE_LINUX, IDC_BOOKMARK_PAGE },
- { IDS_BOOKMARK_ALL_TABS_LINUX, IDC_BOOKMARK_ALL_TABS },
-
- { MENU_END, MENU_END }
-};
-
GlobalMenuBarCommand tools_menu[] = {
{ IDS_SHOW_DOWNLOADS, IDC_SHOW_DOWNLOADS },
{ IDS_SHOW_HISTORY, IDC_SHOW_HISTORY },
@@ -173,22 +164,6 @@ GlobalMenuBar::GlobalMenuBar(Browser* browser)
BuildGtkMenuFrom(IDS_HISTORY_MENU_LINUX, &id_to_menu_item_,
history_menu, &history_menu_);
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableGlobalBookmarkMenu)) {
- // TODO(erg): dbusmenu-glib in Ubuntu Natty does not like it when we shove
- // 100k or more of favicon data over it. Users have reported that the
- // browser hangs on startup for over a minute and breaking during this time
- // shows a stack entirely of dbus/glib code (See #86715). For now, just
- // hide the menu until appmenu-gtk catches up and doesn't hang if we throw
- // (potentially) megs of icon data at it. (Some of our users have thousands
- // of bookmarks and we're already unacceptably laggy at 100.)
- //
- // http://crbug.com/86715, http://crbug.com/85466
- bookmark_menu_.reset(new GlobalBookmarkMenu(browser_));
- BuildGtkMenuFrom(IDS_BOOKMARKS_MENU_LINUX, &id_to_menu_item_, bookmark_menu,
- bookmark_menu_.get());
- }
-
BuildGtkMenuFrom(IDS_TOOLS_MENU_LINUX, &id_to_menu_item_, tools_menu, NULL);
BuildGtkMenuFrom(IDS_HELP_MENU_LINUX, &id_to_menu_item_, help_menu, NULL);
diff --git a/chrome/browser/ui/gtk/global_menu_bar.h b/chrome/browser/ui/gtk/global_menu_bar.h
index caac222..b1a6cc4 100644
--- a/chrome/browser/ui/gtk/global_menu_bar.h
+++ b/chrome/browser/ui/gtk/global_menu_bar.h
@@ -16,7 +16,6 @@
#include "ui/base/gtk/owned_widget_gtk.h"
class Browser;
-class GlobalBookmarkMenu;
struct GlobalMenuBarCommand;
class GlobalMenuOwner;
@@ -91,9 +90,6 @@ class GlobalMenuBar : public CommandUpdater::CommandObserver,
// history menu fresh.
GlobalHistoryMenu history_menu_;
- // Listens to the bookmark model and updates the menu.
- scoped_ptr<GlobalBookmarkMenu> bookmark_menu_;
-
// For some menu items, we want to show the accelerator, but not actually
// explicitly handle it. To this end we connect those menu items' accelerators
// to this group, but don't attach this group to any top level window.
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index b086144..33883e7 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2966,8 +2966,6 @@
'browser/ui/gtk/fullscreen_exit_bubble_gtk.h',
'browser/ui/gtk/gconf_titlebar_listener.cc',
'browser/ui/gtk/gconf_titlebar_listener.h',
- 'browser/ui/gtk/global_bookmark_menu.cc',
- 'browser/ui/gtk/global_bookmark_menu.h',
'browser/ui/gtk/global_error_bubble.cc',
'browser/ui/gtk/global_error_bubble.h',
'browser/ui/gtk/global_history_menu.cc',
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index bd3fe443..1cd7ffa 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -1183,14 +1183,6 @@ const char kUseMockKeychain[] = "use-mock-keychain";
const char kKioskMode[] = "kiosk";
#endif
-#if defined(TOOLKIT_GTK)
-// Enables the global bookmark menu in our global menu bar on Ubuntu
-// Natty. This is disabled because of issues where dbus will hang for over a
-// minute because it doesn't like it when we thrown hundreds of kilobytes (or
-// even megabytes) of favicon data at it.
-const char kEnableGlobalBookmarkMenu[] = "enable-global-bookmark-menu";
-#endif
-
#if defined(TOOLKIT_VIEWS)
// Enables debug paint in views framework. Enabling this causes the damaged
// region being painted to flash in red.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index abce30c..0812fdb 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -340,10 +340,6 @@ extern const char kUseMockKeychain[];
extern const char kKioskMode[];
#endif
-#if defined(TOOLKIT_GTK)
-extern const char kEnableGlobalBookmarkMenu[];
-#endif
-
#if defined(TOOLKIT_VIEWS)
extern const char kDebugViewsPaint[];
extern const char kViewsDesktop[];