| Index: chrome/browser/ui/toolbar/wrench_menu_model.h
|
| diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.h b/chrome/browser/ui/toolbar/wrench_menu_model.h
|
| deleted file mode 100644
|
| index d0def8bed7f40f7f0ab7a26ffbbb3acc3d6aec38..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/toolbar/wrench_menu_model.h
|
| +++ /dev/null
|
| @@ -1,253 +0,0 @@
|
| -// Copyright (c) 2012 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_TOOLBAR_WRENCH_MENU_MODEL_H_
|
| -#define CHROME_BROWSER_UI_TOOLBAR_WRENCH_MENU_MODEL_H_
|
| -
|
| -#include "base/files/file_path.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/time/time.h"
|
| -#include "base/timer/elapsed_timer.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
|
| -#include "content/public/browser/host_zoom_map.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_registrar.h"
|
| -#include "ui/base/accelerators/accelerator.h"
|
| -#include "ui/base/models/button_menu_item_model.h"
|
| -#include "ui/base/models/simple_menu_model.h"
|
| -
|
| -class BookmarkSubMenuModel;
|
| -class Browser;
|
| -class RecentTabsSubMenuModel;
|
| -
|
| -namespace {
|
| -class MockWrenchMenuModel;
|
| -} // namespace
|
| -
|
| -enum WrenchMenuAction {
|
| - MENU_ACTION_NEW_TAB = 0,
|
| - MENU_ACTION_NEW_WINDOW,
|
| - MENU_ACTION_NEW_INCOGNITO_WINDOW,
|
| - MENU_ACTION_SHOW_BOOKMARK_BAR,
|
| - MENU_ACTION_SHOW_BOOKMARK_MANAGER,
|
| - MENU_ACTION_IMPORT_SETTINGS,
|
| - MENU_ACTION_BOOKMARK_PAGE,
|
| - MENU_ACTION_BOOKMARK_ALL_TABS,
|
| - MENU_ACTION_PIN_TO_START_SCREEN,
|
| - MENU_ACTION_RESTORE_TAB,
|
| - MENU_ACTION_WIN_DESKTOP_RESTART,
|
| - MENU_ACTION_WIN8_METRO_RESTART,
|
| - MENU_ACTION_WIN_CHROMEOS_RESTART,
|
| - MENU_ACTION_DISTILL_PAGE,
|
| - MENU_ACTION_SAVE_PAGE,
|
| - MENU_ACTION_FIND,
|
| - MENU_ACTION_PRINT,
|
| - MENU_ACTION_CUT,
|
| - MENU_ACTION_COPY,
|
| - MENU_ACTION_PASTE,
|
| - MENU_ACTION_CREATE_HOSTED_APP,
|
| - MENU_ACTION_CREATE_SHORTCUTS,
|
| - MENU_ACTION_MANAGE_EXTENSIONS,
|
| - MENU_ACTION_TASK_MANAGER,
|
| - MENU_ACTION_CLEAR_BROWSING_DATA,
|
| - MENU_ACTION_VIEW_SOURCE,
|
| - MENU_ACTION_DEV_TOOLS,
|
| - MENU_ACTION_DEV_TOOLS_CONSOLE,
|
| - MENU_ACTION_DEV_TOOLS_DEVICES,
|
| - MENU_ACTION_PROFILING_ENABLED,
|
| - MENU_ACTION_ZOOM_MINUS,
|
| - MENU_ACTION_ZOOM_PLUS,
|
| - MENU_ACTION_FULLSCREEN,
|
| - MENU_ACTION_SHOW_HISTORY,
|
| - MENU_ACTION_SHOW_DOWNLOADS,
|
| - MENU_ACTION_SHOW_SYNC_SETUP,
|
| - MENU_ACTION_OPTIONS,
|
| - MENU_ACTION_ABOUT,
|
| - MENU_ACTION_HELP_PAGE_VIA_MENU,
|
| - MENU_ACTION_FEEDBACK,
|
| - MENU_ACTION_TOGGLE_REQUEST_TABLET_SITE,
|
| - MENU_ACTION_EXIT,
|
| - MENU_ACTION_RECENT_TAB,
|
| - MENU_ACTION_BOOKMARK_OPEN,
|
| - LIMIT_MENU_ACTION
|
| -};
|
| -
|
| -// A menu model that builds the contents of an encoding menu.
|
| -class EncodingMenuModel : public ui::SimpleMenuModel,
|
| - public ui::SimpleMenuModel::Delegate {
|
| - public:
|
| - explicit EncodingMenuModel(Browser* browser);
|
| - ~EncodingMenuModel() override;
|
| -
|
| - // Overridden from ui::SimpleMenuModel::Delegate:
|
| - bool IsCommandIdChecked(int command_id) const override;
|
| - bool IsCommandIdEnabled(int command_id) const override;
|
| - bool GetAcceleratorForCommandId(int command_id,
|
| - ui::Accelerator* accelerator) override;
|
| - void ExecuteCommand(int command_id, int event_flags) override;
|
| -
|
| - private:
|
| - void Build();
|
| -
|
| - Browser* browser_; // weak
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(EncodingMenuModel);
|
| -};
|
| -
|
| -// A menu model that builds the contents of the zoom menu.
|
| -class ZoomMenuModel : public ui::SimpleMenuModel {
|
| - public:
|
| - explicit ZoomMenuModel(ui::SimpleMenuModel::Delegate* delegate);
|
| - ~ZoomMenuModel() override;
|
| -
|
| - private:
|
| - void Build();
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ZoomMenuModel);
|
| -};
|
| -
|
| -class ToolsMenuModel : public ui::SimpleMenuModel {
|
| - public:
|
| - ToolsMenuModel(ui::SimpleMenuModel::Delegate* delegate, Browser* browser);
|
| - ~ToolsMenuModel() override;
|
| -
|
| - private:
|
| - void Build(Browser* browser);
|
| -
|
| - scoped_ptr<EncodingMenuModel> encoding_menu_model_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ToolsMenuModel);
|
| -};
|
| -
|
| -// A menu model that builds the contents of the wrench menu.
|
| -class WrenchMenuModel : public ui::SimpleMenuModel,
|
| - public ui::SimpleMenuModel::Delegate,
|
| - public ui::ButtonMenuItemModel::Delegate,
|
| - public TabStripModelObserver,
|
| - public content::NotificationObserver {
|
| - public:
|
| - // Range of command IDs to use for the items in the recent tabs submenu.
|
| - static const int kMinRecentTabsCommandId = 1001;
|
| - static const int kMaxRecentTabsCommandId = 1200;
|
| -
|
| - WrenchMenuModel(ui::AcceleratorProvider* provider, Browser* browser);
|
| - ~WrenchMenuModel() override;
|
| -
|
| - // Overridden for ButtonMenuItemModel::Delegate:
|
| - bool DoesCommandIdDismissMenu(int command_id) const override;
|
| -
|
| - // Overridden for both ButtonMenuItemModel::Delegate and SimpleMenuModel:
|
| - bool IsItemForCommandIdDynamic(int command_id) const override;
|
| - base::string16 GetLabelForCommandId(int command_id) const override;
|
| - bool GetIconForCommandId(int command_id, gfx::Image* icon) const override;
|
| - void ExecuteCommand(int command_id, int event_flags) override;
|
| - bool IsCommandIdChecked(int command_id) const override;
|
| - bool IsCommandIdEnabled(int command_id) const override;
|
| - bool IsCommandIdVisible(int command_id) const override;
|
| - bool GetAcceleratorForCommandId(int command_id,
|
| - ui::Accelerator* accelerator) override;
|
| -
|
| - // Overridden from TabStripModelObserver:
|
| - void ActiveTabChanged(content::WebContents* old_contents,
|
| - content::WebContents* new_contents,
|
| - int index,
|
| - int reason) override;
|
| - void TabReplacedAt(TabStripModel* tab_strip_model,
|
| - content::WebContents* old_contents,
|
| - content::WebContents* new_contents,
|
| - int index) override;
|
| -
|
| - // Overridden from content::NotificationObserver:
|
| - void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) override;
|
| -
|
| - // Getters.
|
| - Browser* browser() const { return browser_; }
|
| -
|
| - BookmarkSubMenuModel* bookmark_sub_menu_model() const {
|
| - return bookmark_sub_menu_model_.get();
|
| - }
|
| -
|
| - // Calculates |zoom_label_| in response to a zoom change.
|
| - void UpdateZoomControls();
|
| -
|
| - private:
|
| - class HelpMenuModel;
|
| - // Testing constructor used for mocking.
|
| - friend class ::MockWrenchMenuModel;
|
| -
|
| - WrenchMenuModel();
|
| -
|
| - void Build();
|
| -
|
| - // Adds actionable global error menu items to the menu.
|
| - // Examples: Extension permissions and sign in errors.
|
| - // Returns a boolean indicating whether any menu items were added.
|
| - bool AddGlobalErrorMenuItems();
|
| -
|
| - // Appends everything needed for the clipboard menu: a menu break, the
|
| - // clipboard menu content and the finalizing menu break.
|
| - void CreateCutCopyPasteMenu();
|
| -
|
| - // Add a menu item for the browser action icons.
|
| - void CreateActionToolbarOverflowMenu();
|
| -
|
| - // Appends everything needed for the zoom menu: a menu break, then the zoom
|
| - // menu content and then another menu break.
|
| - void CreateZoomMenu();
|
| -
|
| - void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& change);
|
| -
|
| - bool ShouldShowNewIncognitoWindowMenuItem();
|
| -
|
| - // Called when a command is selected.
|
| - // Logs UMA metrics about which command was chosen and how long the user
|
| - // took to select the command.
|
| - void LogMenuMetrics(int command_id);
|
| -
|
| - // Helper function to record the menu action in a UMA histogram.
|
| - void LogMenuAction(int action_id);
|
| -
|
| - // Time menu has been open. Used by LogMenuMetrics() to record the time
|
| - // to action when the user selects a menu item.
|
| - base::ElapsedTimer timer_;
|
| -
|
| - // Whether a UMA menu action has been recorded since the menu is open.
|
| - // Only the first time to action is recorded since some commands
|
| - // (zoom controls) don't dimiss the menu.
|
| - bool uma_action_recorded_;
|
| -
|
| - // Models for the special menu items with buttons.
|
| - scoped_ptr<ui::ButtonMenuItemModel> edit_menu_item_model_;
|
| - scoped_ptr<ui::ButtonMenuItemModel> zoom_menu_item_model_;
|
| -
|
| - // Label of the zoom label in the zoom menu item.
|
| - base::string16 zoom_label_;
|
| -
|
| -#if defined(GOOGLE_CHROME_BUILD)
|
| - // Help menu.
|
| - scoped_ptr<HelpMenuModel> help_menu_model_;
|
| -#endif
|
| -
|
| - // Tools menu.
|
| - scoped_ptr<ToolsMenuModel> tools_menu_model_;
|
| -
|
| - // Bookmark submenu.
|
| - scoped_ptr<BookmarkSubMenuModel> bookmark_sub_menu_model_;
|
| -
|
| - // Recent Tabs submenu.
|
| - scoped_ptr<RecentTabsSubMenuModel> recent_tabs_sub_menu_model_;
|
| -
|
| - ui::AcceleratorProvider* provider_; // weak
|
| -
|
| - Browser* browser_; // weak
|
| -
|
| - scoped_ptr<content::HostZoomMap::Subscription> browser_zoom_subscription_;
|
| - content::NotificationRegistrar registrar_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WrenchMenuModel);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_UI_TOOLBAR_WRENCH_MENU_MODEL_H_
|
|
|