blob: d5db78f83f50a074b77ac30ab8bea4ab89eaf22d [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/extensions/hosted_app_menu_model.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/extensions/hosted_app_browser_controller.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/strings/grit/components_strings.h"
#include "url/gurl.h"
HostedAppMenuModel::HostedAppMenuModel(ui::AcceleratorProvider* provider,
Browser* browser)
: AppMenuModel(provider, browser) {}
HostedAppMenuModel::~HostedAppMenuModel() {}
void HostedAppMenuModel::Build() {
if (CreateActionToolbarOverflowMenu())
AddSeparator(ui::UPPER_SEPARATOR);
AddItemWithStringId(IDC_HOSTED_APP_MENU_APP_INFO,
IDS_APP_CONTEXT_MENU_SHOW_INFO);
int app_info_index = GetItemCount() - 1;
SetMinorText(app_info_index,
extensions::HostedAppBrowserController::FormatUrlOrigin(
browser()
->tab_strip_model()
->GetActiveWebContents()
->GetVisibleURL()));
SetMinorIcon(app_info_index, browser()->toolbar_model()->GetVectorIcon());
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringId(IDC_COPY_URL, IDS_COPY_URL);
AddItemWithStringId(IDC_OPEN_IN_CHROME, IDS_OPEN_IN_CHROME);
AddSeparator(ui::LOWER_SEPARATOR);
CreateZoomMenu();
AddSeparator(ui::UPPER_SEPARATOR);
AddItemWithStringId(IDC_PRINT, IDS_PRINT);
AddItemWithStringId(IDC_FIND, IDS_FIND);
if (media_router::MediaRouterEnabled(browser()->profile()))
AddItemWithStringId(IDC_ROUTE_MEDIA, IDS_MEDIA_ROUTER_MENU_ITEM_TITLE);
AddSeparator(ui::LOWER_SEPARATOR);
CreateCutCopyPasteMenu();
}
void HostedAppMenuModel::LogMenuAction(AppMenuAction action_id) {
UMA_HISTOGRAM_ENUMERATION("HostedAppFrame.WrenchMenu.MenuAction", action_id,
LIMIT_MENU_ACTION);
}