| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| index 184eaa53680fa82a2cd5f907b2320e68b02d44ce..4162feacb5a6fa10cafaea8fef02d19c3fae5609 100644
|
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
| @@ -18,6 +18,7 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "base/time/time.h"
|
| #include "chrome/app/chrome_command_ids.h"
|
| #include "chrome/browser/app_mode/app_mode_utils.h"
|
| #include "chrome/browser/autocomplete/autocomplete_classifier.h"
|
| @@ -564,17 +565,17 @@
|
| std::set<MenuItem::ExtensionKey> ids = menu_manager->ExtensionIds();
|
| std::vector<base::string16> sorted_menu_titles;
|
| std::map<base::string16, std::string> map_ids;
|
| - for (std::set<MenuItem::ExtensionKey>::iterator iter = ids.begin();
|
| - iter != ids.end();
|
| - ++iter) {
|
| + for (std::set<MenuItem::ExtensionKey>::iterator i = ids.begin();
|
| + i != ids.end();
|
| + ++i) {
|
| const Extension* extension =
|
| - service->GetExtensionById(iter->extension_id, false);
|
| + service->GetExtensionById(i->extension_id, false);
|
| // Platform apps have their context menus created directly in
|
| // AppendPlatformAppItems.
|
| if (extension && !extension->is_platform_app()) {
|
| base::string16 menu_title = extension_items_.GetTopLevelContextMenuTitle(
|
| - *iter, printable_selection_text);
|
| - map_ids[menu_title] = iter->extension_id;
|
| + *i, printable_selection_text);
|
| + map_ids[menu_title] = i->extension_id;
|
| sorted_menu_titles.push_back(menu_title);
|
| }
|
| }
|
| @@ -585,14 +586,17 @@
|
| l10n_util::SortStrings16(app_locale, &sorted_menu_titles);
|
|
|
| int index = 0;
|
| + base::TimeTicks begin = base::TimeTicks::Now();
|
| for (size_t i = 0; i < sorted_menu_titles.size(); ++i) {
|
| const std::string& id = map_ids[sorted_menu_titles[i]];
|
| const MenuItem::ExtensionKey extension_key(id);
|
| - extension_items_.AppendExtensionItems(extension_key,
|
| - printable_selection_text,
|
| - &index,
|
| - false); // is_action_menu
|
| - }
|
| + extension_items_.AppendExtensionItems(
|
| + extension_key, printable_selection_text, &index);
|
| + }
|
| +
|
| + UMA_HISTOGRAM_TIMES("Extensions.ContextMenus_BuildTime",
|
| + base::TimeTicks::Now() - begin);
|
| + UMA_HISTOGRAM_COUNTS("Extensions.ContextMenus_ItemCount", index);
|
| }
|
|
|
| void RenderViewContextMenu::AppendCurrentExtensionItems() {
|
| @@ -605,10 +609,8 @@
|
| int index = 0;
|
| const MenuItem::ExtensionKey key(
|
| extension->id(), WebViewGuest::GetViewInstanceId(source_web_contents_));
|
| - extension_items_.AppendExtensionItems(key,
|
| - PrintableSelectionText(),
|
| - &index,
|
| - false); // is_action_menu
|
| + extension_items_.AppendExtensionItems(
|
| + key, PrintableSelectionText(), &index);
|
| }
|
| }
|
|
|
|
|