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() {
AddSeparator(ui::NORMAL_SEPARATOR);
if (!browser_->profile()->IsOffTheRecord()) {
recent_tabs_sub_menu_model_ =
std::make_unique<RecentTabsSubMenuModel>(provider_, browser_);
sub_menus_.push_back(
std::make_unique<RecentTabsSubMenuModel>(provider_, browser_));
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);
if (!browser_->profile()->IsGuestSession()) {
......@@ -804,9 +804,9 @@ void AppMenuModel::Build() {
}
#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,
tools_menu_model_.get());
sub_menus_.back().get());
AddSeparator(ui::LOWER_SEPARATOR);
CreateCutCopyPasteMenu();
AddSeparator(ui::UPPER_SEPARATOR);
......@@ -816,8 +816,8 @@ void AppMenuModel::Build() {
// 'About' item has been moved to this submenu, it's reinstated here for
// Chromium builds.
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
help_menu_model_ = std::make_unique<HelpMenuModel>(this, browser_);
AddSubMenuWithStringId(IDC_HELP_MENU, IDS_HELP_MENU, help_menu_model_.get());
sub_menus_.push_back(std::make_unique<HelpMenuModel>(this, browser_));
AddSubMenuWithStringId(IDC_HELP_MENU, IDS_HELP_MENU, sub_menus_.back().get());
#else
#if defined(OS_CHROMEOS)
if (base::FeatureList::IsEnabled(chromeos::features::kSplitSettings))
......
......@@ -21,7 +21,6 @@
class AppMenuIconController;
class BookmarkSubMenuModel;
class Browser;
class RecentTabsSubMenuModel;
namespace {
class MockAppMenuModel;
......@@ -180,7 +179,6 @@ class AppMenuModel : public ui::SimpleMenuModel,
void CreateZoomMenu();
private:
class HelpMenuModel;
friend class ::MockAppMenuModel;
bool ShouldShowNewIncognitoWindowMenuItem();
......@@ -213,19 +211,11 @@ class AppMenuModel : public ui::SimpleMenuModel,
// Label of the zoom label in the zoom menu item.
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.
std::unique_ptr<BookmarkSubMenuModel> bookmark_sub_menu_model_;
// Recent Tabs submenu.
std::unique_ptr<RecentTabsSubMenuModel> recent_tabs_sub_menu_model_;
// Other submenus.
std::vector<std::unique_ptr<ui::SimpleMenuModel>> sub_menus_;
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