| Index: chrome/browser/tab_contents/render_view_context_menu.cc
|
| ===================================================================
|
| --- chrome/browser/tab_contents/render_view_context_menu.cc (revision 114593)
|
| +++ chrome/browser/tab_contents/render_view_context_menu.cc (working copy)
|
| @@ -75,6 +75,7 @@
|
| #include "net/base/net_util.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerAction.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginAction.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/text/text_elider.h"
|
| #include "ui/gfx/favicon_size.h"
|
| @@ -87,6 +88,7 @@
|
| using content::UserMetricsAction;
|
| using WebKit::WebContextMenuData;
|
| using WebKit::WebMediaPlayerAction;
|
| +using WebKit::WebPluginAction;
|
| using WebKit::WebURL;
|
| using WebKit::WebString;
|
|
|
| @@ -783,6 +785,21 @@
|
| IDS_CONTENT_CONTEXT_SAVEPAGEAS);
|
| menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT);
|
| }
|
| +
|
| + if (params_.plugin_flags & WebContextMenuData::PluginCanFitPage) {
|
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_FITPAGEWIDTH,
|
| + IDS_CONTENT_CONTEXT_FITPAGEWIDTH);
|
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_FITPAGEHEIGHT,
|
| + IDS_CONTENT_CONTEXT_FITPAGEHEIGHT);
|
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_FITPAGE,
|
| + IDS_CONTENT_CONTEXT_FITPAGE);
|
| + }
|
| + if (params_.plugin_flags & WebContextMenuData::PluginCanRotatePage) {
|
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATEPAGECW,
|
| + IDS_CONTENT_CONTEXT_ROTATEPAGECW);
|
| + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ROTATEPAGECCW,
|
| + IDS_CONTENT_CONTEXT_ROTATEPAGECCW);
|
| + }
|
| }
|
|
|
| void RenderViewContextMenu::AppendPageItems() {
|
| @@ -1268,6 +1285,17 @@
|
| case IDC_CONTENT_CONTEXT_ADDSEARCHENGINE:
|
| return !params_.keyword_url.is_empty();
|
|
|
| + case IDC_CONTENT_CONTEXT_FITPAGEWIDTH:
|
| + case IDC_CONTENT_CONTEXT_FITPAGEHEIGHT:
|
| + case IDC_CONTENT_CONTEXT_FITPAGE:
|
| + return
|
| + (params_.plugin_flags & WebContextMenuData::PluginCanFitPage) != 0;
|
| +
|
| + case IDC_CONTENT_CONTEXT_ROTATEPAGECW:
|
| + case IDC_CONTENT_CONTEXT_ROTATEPAGECCW:
|
| + return
|
| + (params_.plugin_flags & WebContextMenuData::PluginCanRotatePage) != 0;
|
| +
|
| case IDC_SPELLCHECK_MENU:
|
| return true;
|
|
|
| @@ -1517,6 +1545,36 @@
|
| !IsCommandIdChecked(IDC_CONTENT_CONTEXT_CONTROLS)));
|
| break;
|
|
|
| + case IDC_CONTENT_CONTEXT_FITPAGEWIDTH:
|
| + content::RecordAction(
|
| + UserMetricsAction("PluginContextMenu_FitPageWidth"));
|
| + PluginAction(WebPluginAction(WebPluginAction::FitPageWidth));
|
| + break;
|
| +
|
| + case IDC_CONTENT_CONTEXT_FITPAGEHEIGHT:
|
| + content::RecordAction(
|
| + UserMetricsAction("PluginContextMenu_FitPageHeight"));
|
| + PluginAction(WebPluginAction(WebPluginAction::FitPageHeight));
|
| + break;
|
| +
|
| + case IDC_CONTENT_CONTEXT_FITPAGE:
|
| + content::RecordAction(
|
| + UserMetricsAction("PluginContextMenu_FitPage"));
|
| + PluginAction(WebPluginAction(WebPluginAction::FitPage));
|
| + break;
|
| +
|
| + case IDC_CONTENT_CONTEXT_ROTATEPAGECW:
|
| + content::RecordAction(
|
| + UserMetricsAction("PluginContextMenu_RotatePageCW"));
|
| + PluginAction(WebPluginAction(WebPluginAction::RotatePageCW));
|
| + break;
|
| +
|
| + case IDC_CONTENT_CONTEXT_ROTATEPAGECCW:
|
| + content::RecordAction(
|
| + UserMetricsAction("PluginContextMenu_RotatePageCCW"));
|
| + PluginAction(WebPluginAction(WebPluginAction::RotatePageCCW));
|
| + break;
|
| +
|
| case IDC_BACK:
|
| source_tab_contents_->controller().GoBack();
|
| break;
|
| @@ -1866,3 +1924,7 @@
|
| source_tab_contents_->render_view_host()->
|
| ExecuteMediaPlayerActionAtLocation(location, action);
|
| }
|
| +
|
| +void RenderViewContextMenu::PluginAction(const WebPluginAction& action) {
|
| + source_tab_contents_->render_view_host()->ExecutePluginAction(action);
|
| +}
|
|
|