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

Unified Diff: athena/content/render_view_context_menu_impl.cc

Issue 863033002: Delete athena/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 | « athena/content/render_view_context_menu_impl.h ('k') | athena/content/shell/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/content/render_view_context_menu_impl.cc
diff --git a/athena/content/render_view_context_menu_impl.cc b/athena/content/render_view_context_menu_impl.cc
deleted file mode 100644
index 22e75cd76aebde882565747e178db41d3efacfb1..0000000000000000000000000000000000000000
--- a/athena/content/render_view_context_menu_impl.cc
+++ /dev/null
@@ -1,332 +0,0 @@
-// Copyright 2014 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 "athena/content/render_view_context_menu_impl.h"
-
-#include "athena/strings/grit/athena_strings.h"
-#include "components/renderer_context_menu/context_menu_content_type.h"
-#include "components/renderer_context_menu/views/toolkit_delegate_views.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/render_widget_host_view.h"
-#include "content/public/browser/web_contents.h"
-#include "third_party/WebKit/public/web/WebContextMenuData.h"
-#include "ui/aura/client/screen_position_client.h"
-#include "ui/aura/window.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/views/widget/widget.h"
-
-namespace athena {
-using blink::WebContextMenuData;
-
-namespace {
-
-enum {
- // Nativation
- CMD_BACK = 0,
- CMD_FORWARD,
- CMD_RELOAD,
- CMD_VIEW_SOURCE,
-
- // Link
- CMD_OPEN_LINK_NEW_ACTIVITY,
-
- // Edit
- CMD_UNDO,
- CMD_REDO,
- CMD_CUT,
- CMD_COPY,
- CMD_PASTE,
- CMD_PASTE_AND_MATCH_STYLE,
- CMD_DELETE,
- CMD_SELECT_ALL,
- CMD_LAST,
-};
-
-// Max number of custom command ids allowd.
-const int kNumCustomCommandIds = 1000;
-
-// TODO(oshima): Move IDS for context menus to components/renderer_context_menu
-// and replace hardcoded strings below.
-void AppendPageItems(ui::SimpleMenuModel* menu_model) {
- menu_model->AddItem(CMD_BACK,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_BACK));
- menu_model->AddItem(CMD_FORWARD,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_FORWARD));
- menu_model->AddItem(CMD_RELOAD,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_RELOAD));
- menu_model->AddSeparator(ui::NORMAL_SEPARATOR);
- menu_model->AddItem(
- CMD_VIEW_SOURCE,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_VIEWPAGESOURCE));
-}
-
-void AppendLinkItems(const content::ContextMenuParams& params,
- ui::SimpleMenuModel* menu_model) {
- if (!params.link_url.is_empty())
- menu_model->AddItem(
- CMD_OPEN_LINK_NEW_ACTIVITY,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_OPENLINKNEWACTIVITY));
-}
-
-void AppendEditableItems(ui::SimpleMenuModel* menu_model) {
- menu_model->AddItem(CMD_UNDO,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_UNDO));
- menu_model->AddItem(CMD_REDO,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_REDO));
- menu_model->AddSeparator(ui::NORMAL_SEPARATOR);
- menu_model->AddItem(CMD_CUT,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_CUT));
- menu_model->AddItem(CMD_COPY,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_COPY));
- menu_model->AddItem(CMD_PASTE,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_PASTE));
- menu_model->AddItem(
- CMD_PASTE_AND_MATCH_STYLE,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_PASTE_AND_MATCH_STYLE));
- menu_model->AddItem(CMD_DELETE,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_DELETE));
- menu_model->AddSeparator(ui::NORMAL_SEPARATOR);
- menu_model->AddItem(CMD_SELECT_ALL,
- l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_SELECTALL));
-}
-
-} // namespace
-
-RenderViewContextMenuImpl::RenderViewContextMenuImpl(
- content::RenderFrameHost* render_frame_host,
- const content::ContextMenuParams& params)
- : RenderViewContextMenuBase(render_frame_host, params) {
- SetContentCustomCommandIdRange(CMD_LAST, CMD_LAST + kNumCustomCommandIds);
- // TODO(oshima): Support other types
- set_content_type(
- new ContextMenuContentType(source_web_contents_, params, true));
- set_toolkit_delegate(scoped_ptr<ToolkitDelegate>(new ToolkitDelegateViews));
-}
-
-RenderViewContextMenuImpl::~RenderViewContextMenuImpl() {
-}
-
-void RenderViewContextMenuImpl::RunMenuAt(views::Widget* parent,
- const gfx::Point& point,
- ui::MenuSourceType type) {
- static_cast<ToolkitDelegateViews*>(toolkit_delegate())
- ->RunMenuAt(parent, point, type);
-}
-
-void RenderViewContextMenuImpl::Show() {
- // Menus need a Widget to work. If we're not the active tab we won't
- // necessarily be in a widget.
- views::Widget* top_level_widget = GetTopLevelWidget();
- if (!top_level_widget)
- return;
-
- // Don't show empty menus.
- if (menu_model().GetItemCount() == 0)
- return;
-
- gfx::Point screen_point(params().x, params().y);
-
- // Convert from target window coordinates to root window coordinates.
- aura::Window* target_window = GetActiveNativeView();
- aura::Window* root_window = target_window->GetRootWindow();
- aura::client::ScreenPositionClient* screen_position_client =
- aura::client::GetScreenPositionClient(root_window);
- if (screen_position_client)
- screen_position_client->ConvertPointToScreen(target_window, &screen_point);
-
- // Enable recursive tasks on the message loop so we can get updates while
- // the context menu is being displayed.
- base::MessageLoop::ScopedNestableTaskAllower allow(
- base::MessageLoop::current());
- RunMenuAt(top_level_widget, screen_point, params().source_type);
-}
-
-void RenderViewContextMenuImpl::InitMenu() {
- RenderViewContextMenuBase::InitMenu();
- bool needs_separator = false;
- if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PAGE)) {
- AppendPageItems(&menu_model_);
- needs_separator = true;
- }
-
- if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_LINK)) {
- if (needs_separator)
- AddSeparator();
- AppendLinkItems(params_, &menu_model_);
- needs_separator = true;
- }
-
- if (content_type_->SupportsGroup(
- ContextMenuContentType::ITEM_GROUP_EDITABLE)) {
- if (needs_separator)
- AddSeparator();
- AppendEditableItems(&menu_model_);
- }
-}
-
-void RenderViewContextMenuImpl::RecordShownItem(int id) {
- // TODO(oshima): Imelement UMA stats. crbug.com/401673
- NOTIMPLEMENTED();
-}
-
-void RenderViewContextMenuImpl::RecordUsedItem(int id) {
- // TODO(oshima): Imelement UMA stats. crbug.com/401673
- NOTIMPLEMENTED();
-}
-
-#if defined(ENABLE_PLUGINS)
-void RenderViewContextMenuImpl::HandleAuthorizeAllPlugins() {
-}
-#endif
-
-void RenderViewContextMenuImpl::NotifyMenuShown() {
-}
-
-void RenderViewContextMenuImpl::NotifyURLOpened(
- const GURL& url,
- content::WebContents* new_contents) {
-}
-
-bool RenderViewContextMenuImpl::GetAcceleratorForCommandId(
- int command_id,
- ui::Accelerator* accelerator) {
- NOTIMPLEMENTED();
- return false;
-}
-
-bool RenderViewContextMenuImpl::IsCommandIdChecked(int command_id) const {
- return false;
-}
-
-bool RenderViewContextMenuImpl::IsCommandIdEnabled(int command_id) const {
- {
- bool enabled = false;
- if (RenderViewContextMenuBase::IsCommandIdKnown(command_id, &enabled))
- return enabled;
- }
- switch (command_id) {
- // Navigation
- case CMD_BACK:
- return source_web_contents_->GetController().CanGoBack();
- case CMD_FORWARD:
- return source_web_contents_->GetController().CanGoForward();
- case CMD_RELOAD:
- return true;
- case CMD_VIEW_SOURCE:
- return source_web_contents_->GetController().CanViewSource();
-
- // Link
- case CMD_OPEN_LINK_NEW_ACTIVITY:
- return params_.link_url.is_valid();
-
- // Editable
- case CMD_UNDO:
- return !!(params_.edit_flags & WebContextMenuData::CanUndo);
-
- case CMD_REDO:
- return !!(params_.edit_flags & WebContextMenuData::CanRedo);
-
- case CMD_CUT:
- return !!(params_.edit_flags & WebContextMenuData::CanCut);
-
- case CMD_COPY:
- return !!(params_.edit_flags & WebContextMenuData::CanCopy);
-
- case CMD_PASTE:
- case CMD_PASTE_AND_MATCH_STYLE:
- return !!(params_.edit_flags & WebContextMenuData::CanPaste);
-
- case CMD_DELETE:
- return !!(params_.edit_flags & WebContextMenuData::CanDelete);
-
- case CMD_SELECT_ALL:
- return !!(params_.edit_flags & WebContextMenuData::CanSelectAll);
- }
- return false;
-}
-
-void RenderViewContextMenuImpl::ExecuteCommand(int command_id,
- int event_flags) {
- RenderViewContextMenuBase::ExecuteCommand(command_id, event_flags);
- if (command_executed_)
- return;
- command_executed_ = true;
- switch (command_id) {
- // Navigation
- case CMD_BACK:
- source_web_contents_->GetController().GoBack();
- break;
- case CMD_FORWARD:
- source_web_contents_->GetController().GoForward();
- break;
- case CMD_RELOAD:
- source_web_contents_->GetController().Reload(true);
- break;
- case CMD_VIEW_SOURCE:
- source_web_contents_->ViewSource();
- break;
-
- // Link
- case CMD_OPEN_LINK_NEW_ACTIVITY:
- OpenURL(
- params_.link_url,
- params_.frame_url.is_empty() ? params_.page_url : params_.frame_url,
- NEW_FOREGROUND_TAB,
- ui::PAGE_TRANSITION_LINK);
- break;
-
- // Editable
- case CMD_UNDO:
- source_web_contents_->Undo();
- break;
-
- case CMD_REDO:
- source_web_contents_->Redo();
- break;
-
- case CMD_CUT:
- source_web_contents_->Cut();
- break;
-
- case CMD_COPY:
- source_web_contents_->Copy();
- break;
-
- case CMD_PASTE:
- source_web_contents_->Paste();
- break;
-
- case CMD_PASTE_AND_MATCH_STYLE:
- source_web_contents_->PasteAndMatchStyle();
- break;
-
- case CMD_DELETE:
- source_web_contents_->Delete();
- break;
-
- case CMD_SELECT_ALL:
- source_web_contents_->SelectAll();
- break;
- }
-}
-
-views::Widget* RenderViewContextMenuImpl::GetTopLevelWidget() {
- return views::Widget::GetTopLevelWidgetForNativeView(GetActiveNativeView());
-}
-
-aura::Window* RenderViewContextMenuImpl::GetActiveNativeView() {
- content::WebContents* web_contents =
- content::WebContents::FromRenderFrameHost(GetRenderFrameHost());
- if (!web_contents) {
- LOG(ERROR) << "RenderViewContextMenuImpl::Show, couldn't find WebContents";
- return NULL;
- }
-
- return web_contents->GetFullscreenRenderWidgetHostView()
- ? web_contents->GetFullscreenRenderWidgetHostView()
- ->GetNativeView()
- : web_contents->GetNativeView();
-}
-
-} // namespace athena
« no previous file with comments | « athena/content/render_view_context_menu_impl.h ('k') | athena/content/shell/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698