Commit 849315dd authored by Nico Weber's avatar Nico Weber Committed by Commit Bot

Make AppMenuModel keep most submenus in a vector.

They are only needed for ownership, so no need to give them names and concrete
types. Removes some forward declarations from the header and serendipitously
happens to remove GOOGLE_CHROME_BUILD from the header as well.

No intended behavior change.

Bug: 961769
Change-Id: Ibaaf3375bd9d367b4cc83b9a8ec3e64193750a69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1894032
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711431}
parent d6d5bcf6
...@@ -754,10 +754,10 @@ void AppMenuModel::Build() { ...@@ -754,10 +754,10 @@ void AppMenuModel::Build() {
AddSeparator(ui::NORMAL_SEPARATOR); AddSeparator(ui::NORMAL_SEPARATOR);
if (!browser_->profile()->IsOffTheRecord()) { if (!browser_->profile()->IsOffTheRecord()) {
recent_tabs_sub_menu_model_ = sub_menus_.push_back(
std::make_unique<RecentTabsSubMenuModel>(provider_, browser_); std::make_unique<RecentTabsSubMenuModel>(provider_, browser_));
AddSubMenuWithStringId(IDC_RECENT_TABS_MENU, IDS_HISTORY_MENU, AddSubMenuWithStringId(IDC_RECENT_TABS_MENU, IDS_HISTORY_MENU,
recent_tabs_sub_menu_model_.get()); sub_menus_.back().get());
} }
AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS); AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS);
if (!browser_->profile()->IsGuestSession()) { if (!browser_->profile()->IsGuestSession()) {
...@@ -804,9 +804,9 @@ void AppMenuModel::Build() { ...@@ -804,9 +804,9 @@ void AppMenuModel::Build() {
} }
#endif #endif
tools_menu_model_ = std::make_unique<ToolsMenuModel>(this, browser_); sub_menus_.push_back(std::make_unique<ToolsMenuModel>(this, browser_));
AddSubMenuWithStringId(IDC_MORE_TOOLS_MENU, IDS_MORE_TOOLS_MENU, AddSubMenuWithStringId(IDC_MORE_TOOLS_MENU, IDS_MORE_TOOLS_MENU,
tools_menu_model_.get()); sub_menus_.back().get());
AddSeparator(ui::LOWER_SEPARATOR); AddSeparator(ui::LOWER_SEPARATOR);
CreateCutCopyPasteMenu(); CreateCutCopyPasteMenu();
AddSeparator(ui::UPPER_SEPARATOR); AddSeparator(ui::UPPER_SEPARATOR);
...@@ -816,8 +816,8 @@ void AppMenuModel::Build() { ...@@ -816,8 +816,8 @@ void AppMenuModel::Build() {
// 'About' item has been moved to this submenu, it's reinstated here for // 'About' item has been moved to this submenu, it's reinstated here for
// Chromium builds. // Chromium builds.
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
help_menu_model_ = std::make_unique<HelpMenuModel>(this, browser_); sub_menus_.push_back(std::make_unique<HelpMenuModel>(this, browser_));
AddSubMenuWithStringId(IDC_HELP_MENU, IDS_HELP_MENU, help_menu_model_.get()); AddSubMenuWithStringId(IDC_HELP_MENU, IDS_HELP_MENU, sub_menus_.back().get());
#else #else
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
if (base::FeatureList::IsEnabled(chromeos::features::kSplitSettings)) if (base::FeatureList::IsEnabled(chromeos::features::kSplitSettings))
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
class AppMenuIconController; class AppMenuIconController;
class BookmarkSubMenuModel; class BookmarkSubMenuModel;
class Browser; class Browser;
class RecentTabsSubMenuModel;
namespace { namespace {
class MockAppMenuModel; class MockAppMenuModel;
...@@ -180,7 +179,6 @@ class AppMenuModel : public ui::SimpleMenuModel, ...@@ -180,7 +179,6 @@ class AppMenuModel : public ui::SimpleMenuModel,
void CreateZoomMenu(); void CreateZoomMenu();
private: private:
class HelpMenuModel;
friend class ::MockAppMenuModel; friend class ::MockAppMenuModel;
bool ShouldShowNewIncognitoWindowMenuItem(); bool ShouldShowNewIncognitoWindowMenuItem();
...@@ -213,19 +211,11 @@ class AppMenuModel : public ui::SimpleMenuModel, ...@@ -213,19 +211,11 @@ class AppMenuModel : public ui::SimpleMenuModel,
// Label of the zoom label in the zoom menu item. // Label of the zoom label in the zoom menu item.
base::string16 zoom_label_; base::string16 zoom_label_;
#if defined(GOOGLE_CHROME_BUILD)
// Help menu.
std::unique_ptr<HelpMenuModel> help_menu_model_;
#endif
// Tools menu.
std::unique_ptr<ToolsMenuModel> tools_menu_model_;
// Bookmark submenu. // Bookmark submenu.
std::unique_ptr<BookmarkSubMenuModel> bookmark_sub_menu_model_; std::unique_ptr<BookmarkSubMenuModel> bookmark_sub_menu_model_;
// Recent Tabs submenu. // Other submenus.
std::unique_ptr<RecentTabsSubMenuModel> recent_tabs_sub_menu_model_; std::vector<std::unique_ptr<ui::SimpleMenuModel>> sub_menus_;
ui::AcceleratorProvider* provider_; // weak ui::AcceleratorProvider* provider_; // weak
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment