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

Unified Diff: chrome/browser/ui/views/task_manager_view.cc

Issue 2253683003: Turn TaskManagerView Context Menu Async (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove Unneeded Check Created 4 years, 4 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
« no previous file with comments | « chrome/browser/ui/views/task_manager_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/task_manager_view.cc
diff --git a/chrome/browser/ui/views/task_manager_view.cc b/chrome/browser/ui/views/task_manager_view.cc
index f59a3f18ad5b17e9baa64005a40dcf3d751e2fa6..e957da8a853724ce1b6c0e976202f3c2e1c00683 100644
--- a/chrome/browser/ui/views/task_manager_view.cc
+++ b/chrome/browser/ui/views/task_manager_view.cc
@@ -253,22 +253,19 @@ void TaskManagerView::OnKeyDown(ui::KeyboardCode keycode) {
void TaskManagerView::ShowContextMenuForView(views::View* source,
const gfx::Point& point,
ui::MenuSourceType source_type) {
- ui::SimpleMenuModel menu_model(this);
+ menu_model_.reset(new ui::SimpleMenuModel(this));
for (const auto& table_column : columns_) {
- menu_model.AddCheckItem(table_column.id,
- l10n_util::GetStringUTF16(table_column.id));
+ menu_model_->AddCheckItem(table_column.id,
+ l10n_util::GetStringUTF16(table_column.id));
}
- menu_runner_.reset(
- new views::MenuRunner(&menu_model, views::MenuRunner::CONTEXT_MENU));
+ menu_runner_.reset(new views::MenuRunner(
+ menu_model_.get(),
+ views::MenuRunner::CONTEXT_MENU | views::MenuRunner::ASYNC));
- if (menu_runner_->RunMenuAt(GetWidget(), nullptr,
- gfx::Rect(point, gfx::Size()),
- views::MENU_ANCHOR_TOPLEFT,
- source_type) == views::MenuRunner::MENU_DELETED) {
- return;
- }
+ menu_runner_->RunMenuAt(GetWidget(), nullptr, gfx::Rect(point, gfx::Size()),
+ views::MENU_ANCHOR_TOPLEFT, source_type);
}
bool TaskManagerView::IsCommandIdChecked(int id) const {
@@ -283,6 +280,11 @@ void TaskManagerView::ExecuteCommand(int id, int event_flags) {
table_model_->ToggleColumnVisibility(id);
}
+void TaskManagerView::MenuClosed(ui::SimpleMenuModel* source) {
+ menu_model_.reset();
+ menu_runner_.reset();
+}
+
TaskManagerView::TaskManagerView()
: tab_table_(nullptr),
tab_table_parent_(nullptr),
« no previous file with comments | « chrome/browser/ui/views/task_manager_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698