OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "athena/content/render_view_context_menu_impl.h" | 5 #include "athena/content/render_view_context_menu_impl.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "athena/strings/grit/athena_strings.h" |
8 #include "components/renderer_context_menu/context_menu_content_type.h" | 8 #include "components/renderer_context_menu/context_menu_content_type.h" |
9 #include "components/renderer_context_menu/views/toolkit_delegate_views.h" | 9 #include "components/renderer_context_menu/views/toolkit_delegate_views.h" |
10 #include "content/public/browser/browser_context.h" | 10 #include "content/public/browser/browser_context.h" |
11 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" |
12 #include "third_party/WebKit/public/web/WebContextMenuData.h" | 12 #include "third_party/WebKit/public/web/WebContextMenuData.h" |
| 13 #include "ui/base/l10n/l10n_util.h" |
13 | 14 |
14 namespace athena { | 15 namespace athena { |
15 using blink::WebContextMenuData; | 16 using blink::WebContextMenuData; |
16 | 17 |
17 namespace { | 18 namespace { |
18 | 19 |
19 enum { | 20 enum { |
20 // Nativation | 21 // Nativation |
21 CMD_BACK = 0, | 22 CMD_BACK = 0, |
22 CMD_FORWARD, | 23 CMD_FORWARD, |
(...skipping 14 matching lines...) Expand all Loading... |
37 CMD_SELECT_ALL, | 38 CMD_SELECT_ALL, |
38 CMD_LAST, | 39 CMD_LAST, |
39 }; | 40 }; |
40 | 41 |
41 // Max number of custom command ids allowd. | 42 // Max number of custom command ids allowd. |
42 const int kNumCustomCommandIds = 1000; | 43 const int kNumCustomCommandIds = 1000; |
43 | 44 |
44 // TODO(oshima): Move IDS for context menus to components/renderer_context_menu | 45 // TODO(oshima): Move IDS for context menus to components/renderer_context_menu |
45 // and replace hardcoded strings below. | 46 // and replace hardcoded strings below. |
46 void AppendPageItems(ui::SimpleMenuModel* menu_model) { | 47 void AppendPageItems(ui::SimpleMenuModel* menu_model) { |
47 menu_model->AddItem(CMD_BACK, base::ASCIIToUTF16("Back")); | 48 menu_model->AddItem(CMD_BACK, |
48 menu_model->AddItem(CMD_FORWARD, base::ASCIIToUTF16("Forward")); | 49 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_BACK)); |
49 menu_model->AddItem(CMD_RELOAD, base::ASCIIToUTF16("Reload")); | 50 menu_model->AddItem(CMD_FORWARD, |
| 51 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_FORWARD)); |
| 52 menu_model->AddItem(CMD_RELOAD, |
| 53 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_RELOAD)); |
50 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); | 54 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); |
51 menu_model->AddItem(CMD_VIEW_SOURCE, base::ASCIIToUTF16("View Source")); | 55 menu_model->AddItem( |
| 56 CMD_VIEW_SOURCE, |
| 57 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_VIEWPAGESOURCE)); |
52 } | 58 } |
53 | 59 |
54 void AppendLinkItems(const content::ContextMenuParams& params, | 60 void AppendLinkItems(const content::ContextMenuParams& params, |
55 ui::SimpleMenuModel* menu_model) { | 61 ui::SimpleMenuModel* menu_model) { |
56 if (!params.link_url.is_empty()) | 62 if (!params.link_url.is_empty()) |
57 menu_model->AddItem(CMD_OPEN_LINK_NEW_ACTIVITY, | 63 menu_model->AddItem( |
58 base::ASCIIToUTF16("Open Link In New Activity")); | 64 CMD_OPEN_LINK_NEW_ACTIVITY, |
| 65 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_OPENLINKNEWACTIVITY)); |
59 } | 66 } |
60 | 67 |
61 void AppendEditableItems(ui::SimpleMenuModel* menu_model) { | 68 void AppendEditableItems(ui::SimpleMenuModel* menu_model) { |
62 menu_model->AddItem(CMD_UNDO, base::ASCIIToUTF16("Undo")); | 69 menu_model->AddItem(CMD_UNDO, |
63 menu_model->AddItem(CMD_REDO, base::ASCIIToUTF16("Redo")); | 70 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_UNDO)); |
| 71 menu_model->AddItem(CMD_REDO, |
| 72 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_REDO)); |
64 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); | 73 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); |
65 menu_model->AddItem(CMD_CUT, base::ASCIIToUTF16("Cut")); | 74 menu_model->AddItem(CMD_CUT, |
66 menu_model->AddItem(CMD_COPY, base::ASCIIToUTF16("Copy")); | 75 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_CUT)); |
67 menu_model->AddItem(CMD_PASTE, base::ASCIIToUTF16("Paste")); | 76 menu_model->AddItem(CMD_COPY, |
68 menu_model->AddItem(CMD_PASTE_AND_MATCH_STYLE, | 77 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_COPY)); |
69 base::ASCIIToUTF16("Paste as plain text")); | 78 menu_model->AddItem(CMD_PASTE, |
70 menu_model->AddItem(CMD_DELETE, base::ASCIIToUTF16("Delete")); | 79 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_PASTE)); |
| 80 menu_model->AddItem( |
| 81 CMD_PASTE_AND_MATCH_STYLE, |
| 82 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_PASTE_AND_MATCH_STYLE)); |
| 83 menu_model->AddItem(CMD_DELETE, |
| 84 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_DELETE)); |
71 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); | 85 menu_model->AddSeparator(ui::NORMAL_SEPARATOR); |
72 menu_model->AddItem(CMD_SELECT_ALL, base::ASCIIToUTF16("Select All")); | 86 menu_model->AddItem(CMD_SELECT_ALL, |
| 87 l10n_util::GetStringUTF16(IDS_ATHENA_CONTEXT_SELECTALL)); |
73 } | 88 } |
74 | 89 |
75 } // namespace | 90 } // namespace |
76 | 91 |
77 RenderViewContextMenuImpl::RenderViewContextMenuImpl( | 92 RenderViewContextMenuImpl::RenderViewContextMenuImpl( |
78 content::RenderFrameHost* render_frame_host, | 93 content::RenderFrameHost* render_frame_host, |
79 const content::ContextMenuParams& params) | 94 const content::ContextMenuParams& params) |
80 : RenderViewContextMenuBase(render_frame_host, params) { | 95 : RenderViewContextMenuBase(render_frame_host, params) { |
81 SetContentCustomCommandIdRange(CMD_LAST, CMD_LAST + kNumCustomCommandIds); | 96 SetContentCustomCommandIdRange(CMD_LAST, CMD_LAST + kNumCustomCommandIds); |
82 // TODO(oshima): Support other types | 97 // TODO(oshima): Support other types |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 source_web_contents_->Delete(); | 273 source_web_contents_->Delete(); |
259 break; | 274 break; |
260 | 275 |
261 case CMD_SELECT_ALL: | 276 case CMD_SELECT_ALL: |
262 source_web_contents_->SelectAll(); | 277 source_web_contents_->SelectAll(); |
263 break; | 278 break; |
264 } | 279 } |
265 } | 280 } |
266 | 281 |
267 } // namespace athena | 282 } // namespace athena |
OLD | NEW |