summaryrefslogtreecommitdiff
path: root/chromium/ui/views/controls/menu/submenu_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/views/controls/menu/submenu_view.cc')
-rw-r--r--chromium/ui/views/controls/menu/submenu_view.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/chromium/ui/views/controls/menu/submenu_view.cc b/chromium/ui/views/controls/menu/submenu_view.cc
index 680a66049fa..ccff3c17e0a 100644
--- a/chromium/ui/views/controls/menu/submenu_view.cc
+++ b/chromium/ui/views/controls/menu/submenu_view.cc
@@ -87,10 +87,9 @@ SubmenuView::MenuItems SubmenuView::GetMenuItems() const {
return menu_items;
}
-MenuItemView* SubmenuView::GetMenuItemAt(int index) {
+MenuItemView* SubmenuView::GetMenuItemAt(size_t index) {
const MenuItems menu_items = GetMenuItems();
- DCHECK_GE(index, 0);
- DCHECK_LT(static_cast<size_t>(index), menu_items.size());
+ DCHECK_LT(index, menu_items.size());
return menu_items[index];
}
@@ -363,24 +362,26 @@ void SubmenuView::OnGestureEvent(ui::GestureEvent* event) {
event->SetHandled();
}
-int SubmenuView::GetRowCount() {
- return static_cast<int>(GetMenuItems().size());
+size_t SubmenuView::GetRowCount() {
+ return GetMenuItems().size();
}
-int SubmenuView::GetSelectedRow() {
+absl::optional<size_t> SubmenuView::GetSelectedRow() {
const auto menu_items = GetMenuItems();
const auto i =
std::find_if(menu_items.cbegin(), menu_items.cend(),
[](const MenuItemView* item) { return item->IsSelected(); });
- return (i == menu_items.cend()) ? -1 : std::distance(menu_items.cbegin(), i);
+ return (i == menu_items.cend()) ? absl::nullopt
+ : absl::make_optional(static_cast<size_t>(
+ std::distance(menu_items.cbegin(), i)));
}
-void SubmenuView::SetSelectedRow(int row) {
+void SubmenuView::SetSelectedRow(absl::optional<size_t> row) {
parent_menu_item_->GetMenuController()->SetSelection(
- GetMenuItemAt(row), MenuController::SELECTION_DEFAULT);
+ GetMenuItemAt(row.value()), MenuController::SELECTION_DEFAULT);
}
-std::u16string SubmenuView::GetTextForRow(int row) {
+std::u16string SubmenuView::GetTextForRow(size_t row) {
return MenuItemView::GetAccessibleNameForMenuItem(
GetMenuItemAt(row)->title(), std::u16string(),
GetMenuItemAt(row)->ShouldShowNewBadge());