// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_TABS_EXISTING_BASE_SUB_MENU_MODEL_H_ #define CHROME_BROWSER_UI_TABS_EXISTING_BASE_SUB_MENU_MODEL_H_ #include <stddef.h> #include <optional> #include "base/containers/flat_map.h" #include "base/memory/raw_ptr.h" #include "ui/base/models/simple_menu_model.h" class TabStripModel; namespace content { class WebContents; } // Base class for creating submenus for the tab context menu. This enforces the // format of the submenu as follows: // - guaranteed unique IDs for different submenus // - the visual layout of the submenu // - the first item of the submenu should be the option to add a tab to a new // object model (e.g. group or window) // - the next item in the menu should be a separator // - a maximum of 200 items to add a tab to an existing model class ExistingBaseSubMenuModel : public ui::SimpleMenuModel, public ui::SimpleMenuModel::Delegate { … }; #endif // CHROME_BROWSER_UI_TABS_EXISTING_BASE_SUB_MENU_MODEL_H_