b711860d21
* chore: bump chromium in DEPS to 102.0.4965.0 * chore: 3-way merge of chromium/printing.patch * chore: update patch shear in chromium/picture-in-picture.patch * chore: update patches * 3101519: Window Placement: Prototype fullscreen companion window support Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3101519 build: add popup_preventer.cc, .h to our library. It's needed because FullscreenController, we were already using, started aggregating a PopupPreventer in 3101519. * chore: bump chromium in DEPS to 102.0.4967.0 * Revert "3101519: Window Placement: Prototype fullscreen companion window support" This reverts commit fc215cb99c464e939882ed3f5cf8e9874a8e3311. Adding popup_preventer might not be the right solution; there are cascading dependencies. * 3551449: Add service-based usage for system print settings Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3551449 chore: fix code shear in patches/chromium/printing.patch * chore: update patches * chore: bump chromium in DEPS to 102.0.4969.0 * chore: update patches * chore: bump chromium in DEPS to 102.0.4971.0 * chore: update fix_patch_out_permissions_checks_in_exclusive_access.patch Refs https://chromium-review.googlesource.com/c/chromium/src/+/3101519 PopupunderPreventer is not useful in //electron since the window attributes are controlled by the user via setWindowOpenHandler. * chore: update patches * Add FirstPartySetsHandler as a interface class in content API. https://chromium-review.googlesource.com/c/chromium/src/+/3503410 * Create a new MediaStreamRequestType for GetOpenDevice https://chromium-review.googlesource.com/c/chromium/src/+/3541939 * Support site isolation for <webview> tags in WebViewRendererState. https://chromium-review.googlesource.com/c/chromium/src/+/3537735 * ci: update xcode version Refs https://chromium-review.googlesource.com/c/chromium/src/+/3544199 https://developer.apple.com/documentation/screencapturekit/capturing_screen_content_in_macos Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
86 lines
3.8 KiB
Diff
86 lines
3.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: deepak1556 <hop2deep@gmail.com>
|
|
Date: Thu, 21 May 2020 13:58:01 -0700
|
|
Subject: Allow setting secondary label via SimpleMenuModel
|
|
|
|
Builds on https://chromium-review.googlesource.com/c/chromium/src/+/2208976
|
|
|
|
diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc
|
|
index a787411f89e2d95e2fa636a7cc6723bdd227e563..f8c67d10957c26fbcd21fa1fe05507efd78f1c29 100644
|
|
--- a/ui/base/models/simple_menu_model.cc
|
|
+++ b/ui/base/models/simple_menu_model.cc
|
|
@@ -53,6 +53,11 @@ std::u16string SimpleMenuModel::Delegate::GetLabelForCommandId(
|
|
return std::u16string();
|
|
}
|
|
|
|
+std::u16string SimpleMenuModel::Delegate::GetSecondaryLabelForCommandId(
|
|
+ int command_id) const {
|
|
+ return std::u16string();
|
|
+}
|
|
+
|
|
ImageModel SimpleMenuModel::Delegate::GetIconForCommandId(
|
|
int command_id) const {
|
|
return ImageModel();
|
|
@@ -304,6 +309,11 @@ void SimpleMenuModel::SetLabel(int index, const std::u16string& label) {
|
|
MenuItemsChanged();
|
|
}
|
|
|
|
+void SimpleMenuModel::SetSecondaryLabel(int index, const std::u16string& secondary_label) {
|
|
+ items_[ValidateItemIndex(index)].secondary_label = secondary_label;
|
|
+ MenuItemsChanged();
|
|
+}
|
|
+
|
|
void SimpleMenuModel::SetMinorText(int index,
|
|
const std::u16string& minor_text) {
|
|
items_[ValidateItemIndex(index)].minor_text = minor_text;
|
|
@@ -396,6 +406,12 @@ std::u16string SimpleMenuModel::GetLabelAt(int index) const {
|
|
return items_[ValidateItemIndex(index)].label;
|
|
}
|
|
|
|
+std::u16string SimpleMenuModel::GetSecondaryLabelAt(int index) const {
|
|
+ if (IsItemDynamicAt(index))
|
|
+ return delegate_->GetSecondaryLabelForCommandId(GetCommandIdAt(index));
|
|
+ return items_[ValidateItemIndex(index)].secondary_label;
|
|
+}
|
|
+
|
|
std::u16string SimpleMenuModel::GetMinorTextAt(int index) const {
|
|
return items_[ValidateItemIndex(index)].minor_text;
|
|
}
|
|
diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h
|
|
index bd2ebaf9f84946c708eba13c18869afadd2fdbb0..880d6f12ad188c5f8abf037b3b8d27fcf1fc2cb6 100644
|
|
--- a/ui/base/models/simple_menu_model.h
|
|
+++ b/ui/base/models/simple_menu_model.h
|
|
@@ -49,6 +49,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
|
|
// Some command ids have labels and icons that change over time.
|
|
virtual bool IsItemForCommandIdDynamic(int command_id) const;
|
|
virtual std::u16string GetLabelForCommandId(int command_id) const;
|
|
+ virtual std::u16string GetSecondaryLabelForCommandId(int command_id) const;
|
|
// Gets the icon for the item with the specified id.
|
|
virtual ImageModel GetIconForCommandId(int command_id) const;
|
|
|
|
@@ -160,6 +161,9 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
|
|
// Sets the label for the item at |index|.
|
|
void SetLabel(int index, const std::u16string& label);
|
|
|
|
+ // Sets the secondary_label for the item at |index|.
|
|
+ void SetSecondaryLabel(int index, const std::u16string& secondary_label);
|
|
+
|
|
// Sets the minor text for the item at |index|.
|
|
void SetMinorText(int index, const std::u16string& minor_text);
|
|
|
|
@@ -199,6 +203,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
|
|
ui::MenuSeparatorType GetSeparatorTypeAt(int index) const override;
|
|
int GetCommandIdAt(int index) const override;
|
|
std::u16string GetLabelAt(int index) const override;
|
|
+ std::u16string GetSecondaryLabelAt(int index) const override;
|
|
std::u16string GetMinorTextAt(int index) const override;
|
|
ImageModel GetMinorIconAt(int index) const override;
|
|
bool IsItemDynamicAt(int index) const override;
|
|
@@ -238,6 +243,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
|
|
int command_id = 0;
|
|
ItemType type = TYPE_COMMAND;
|
|
std::u16string label;
|
|
+ std::u16string secondary_label;
|
|
std::u16string minor_text;
|
|
ImageModel minor_icon;
|
|
ImageModel icon;
|