Commit c3d4d98a authored by Nico Weber's avatar Nico Weber Committed by Commit Bot

Reland "Make AppMenuModel keep most submenus in a vector."

This reverts commit dfd0e0a0.

Reason for revert: This reverted half the change, leaving trunk broken,
see https://crbug.com/1020524

Original change's description:
> Revert "Make AppMenuModel keep most submenus in a vector."
> 
> This reverts commit 849315dd.
> 
> Reason for revert: [sheriff] does not build on Mac per builder (https://ci.chromium.org/p/chrome/builders/ci/mac-builder-perf/125702)
> 
> Original change's description:
> > 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: Robert Sesek <rsesek@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#711431}
> 
> TBR=thakis@chromium.org,rsesek@chromium.org
> 
> Change-Id: Id7abf98d32a424fdf3d8d0638c9967931eec30a8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 961769
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1893867
> Reviewed-by: Armando Miraglia <armax@chromium.org>
> Commit-Queue: Armando Miraglia <armax@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#711663}

TBR=thakis@chromium.org,rsesek@chromium.org,armax@chromium.org

Change-Id: Iae16e60dadcda2a91ff8207e214f18989caf5a53
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 961769
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1895640Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711703}
parent efc36927
...@@ -751,10 +751,10 @@ void AppMenuModel::Build() { ...@@ -751,10 +751,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()) {
...@@ -801,9 +801,9 @@ void AppMenuModel::Build() { ...@@ -801,9 +801,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);
...@@ -813,8 +813,8 @@ void AppMenuModel::Build() { ...@@ -813,8 +813,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