Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: ash/common/shelf/shelf_application_menu_model.cc

Issue 2718563008: mash: Use mojo for ShelfItemDelegate and [app] MenuItem. (Closed)
Patch Set: Address comments. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/common/shelf/shelf_application_menu_model.cc
diff --git a/ash/common/shelf/shelf_application_menu_model.cc b/ash/common/shelf/shelf_application_menu_model.cc
index 7bf323c12a0339ab022042ad67fa87ca8154c64f..490772f497a731df46c5ee616492021fc4f3348b 100644
--- a/ash/common/shelf/shelf_application_menu_model.cc
+++ b/ash/common/shelf/shelf_application_menu_model.cc
@@ -9,9 +9,8 @@
#include <limits>
#include <utility>
-#include "ash/common/shelf/shelf_item_delegate.h"
-#include "ash/public/cpp/shelf_application_menu_item.h"
#include "base/metrics/histogram_macros.h"
+#include "ui/gfx/image/image.h"
namespace {
@@ -23,18 +22,20 @@ namespace ash {
ShelfApplicationMenuModel::ShelfApplicationMenuModel(
const base::string16& title,
- ShelfAppMenuItemList items,
- ShelfItemDelegate* delegate)
+ std::vector<mojom::MenuItemPtr> items,
+ mojom::ShelfItemDelegate* delegate)
: ui::SimpleMenuModel(this), items_(std::move(items)), delegate_(delegate) {
AddSeparator(ui::SPACING_SEPARATOR);
AddItem(kInvalidCommandId, title);
AddSeparator(ui::SPACING_SEPARATOR);
for (size_t i = 0; i < items_.size(); i++) {
- ShelfApplicationMenuItem* item = items_[i].get();
- AddItem(i, item->title());
- if (!item->icon().IsEmpty())
- SetIcon(GetIndexOfCommandId(i), item->icon());
+ mojom::MenuItem* item = items_[i].get();
+ AddItem(i, item->label);
+ if (!item->image.isNull()) {
+ SetIcon(GetIndexOfCommandId(i),
+ gfx::Image::CreateFrom1xBitmap(item->image));
+ }
}
// SimpleMenuModel does not allow two consecutive spacing separator items.
@@ -58,7 +59,7 @@ void ShelfApplicationMenuModel::ExecuteCommand(int command_id,
DCHECK(delegate_);
DCHECK(IsCommandIdEnabled(command_id));
// Have the delegate execute its own custom command id for the given item.
- delegate_->ExecuteCommand(items_[command_id]->command_id(), event_flags);
+ delegate_->ExecuteCommand(items_[command_id]->command_id, event_flags);
RecordMenuItemSelectedMetrics(command_id, items_.size());
}

Powered by Google App Engine
This is Rietveld 408576698