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

Side by Side Diff: components/renderer_context_menu/render_view_context_menu_base.cc

Issue 913663002: Fix for Incomplete context menu is shown on pdf files and reload,back,forward options are missing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing error. Created 5 years, 10 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 unified diff | Download patch
OLDNEW
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 "components/renderer_context_menu/render_view_context_menu_base.h" 5 #include "components/renderer_context_menu/render_view_context_menu_base.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "content/public/browser/render_frame_host.h" 12 #include "content/public/browser/render_frame_host.h"
13 #include "content/public/browser/render_process_host.h" 13 #include "content/public/browser/render_process_host.h"
14 #include "content/public/browser/render_view_host.h" 14 #include "content/public/browser/render_view_host.h"
15 #include "content/public/browser/render_widget_host_view.h" 15 #include "content/public/browser/render_widget_host_view.h"
16 #include "content/public/browser/web_contents.h" 16 #include "content/public/browser/web_contents.h"
17 #include "content/public/common/menu_item.h" 17 #include "content/public/common/menu_item.h"
18 #if defined(ENABLE_EXTENSIONS)
19 #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_gues t.h"
20 #endif
18 #include "third_party/WebKit/public/web/WebContextMenuData.h" 21 #include "third_party/WebKit/public/web/WebContextMenuData.h"
19 22
20 using blink::WebContextMenuData; 23 using blink::WebContextMenuData;
21 using blink::WebString; 24 using blink::WebString;
22 using blink::WebURL; 25 using blink::WebURL;
23 using content::BrowserContext; 26 using content::BrowserContext;
24 using content::OpenURLParams; 27 using content::OpenURLParams;
25 using content::RenderFrameHost; 28 using content::RenderFrameHost;
26 using content::RenderViewHost; 29 using content::RenderViewHost;
27 using content::WebContents; 30 using content::WebContents;
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 submenu); 122 submenu);
120 break; 123 break;
121 } 124 }
122 default: 125 default:
123 NOTREACHED(); 126 NOTREACHED();
124 break; 127 break;
125 } 128 }
126 } 129 }
127 } 130 }
128 131
132 content::WebContents* GetWebContentsToUse(content::WebContents* web_contents) {
133 // If we're viewing the PDF in a MimeHandlerViewGuest, use its embedder
raymes 2015/02/11 00:45:39 Please don't mention PDF here, just mention MimeHa
Deepak 2015/02/11 05:27:01 Done.
134 // WebContents.
135 #if defined(ENABLE_EXTENSIONS)
136 auto guest_view =
137 extensions::MimeHandlerViewGuest::FromWebContents(web_contents);
138 if (guest_view)
139 return guest_view->embedder_web_contents();
140 #endif
141 return web_contents;
142 }
143
129 } // namespace 144 } // namespace
130 145
131 // static 146 // static
132 void RenderViewContextMenuBase::SetContentCustomCommandIdRange( 147 void RenderViewContextMenuBase::SetContentCustomCommandIdRange(
133 int first, int last) { 148 int first, int last) {
134 // The range is inclusive. 149 // The range is inclusive.
135 content_context_custom_first = first; 150 content_context_custom_first = first;
136 content_context_custom_last = last; 151 content_context_custom_last = last;
137 } 152 }
138 153
139 // static 154 // static
140 const size_t RenderViewContextMenuBase::kMaxSelectionTextLength = 50; 155 const size_t RenderViewContextMenuBase::kMaxSelectionTextLength = 50;
141 156
142 // static 157 // static
143 int RenderViewContextMenuBase::ConvertToContentCustomCommandId(int id) { 158 int RenderViewContextMenuBase::ConvertToContentCustomCommandId(int id) {
144 return content_context_custom_first + id; 159 return content_context_custom_first + id;
145 } 160 }
146 161
147 // static 162 // static
148 bool RenderViewContextMenuBase::IsContentCustomCommandId(int id) { 163 bool RenderViewContextMenuBase::IsContentCustomCommandId(int id) {
149 return id >= content_context_custom_first && 164 return id >= content_context_custom_first &&
150 id <= content_context_custom_last; 165 id <= content_context_custom_last;
151 } 166 }
152 167
153 RenderViewContextMenuBase::RenderViewContextMenuBase( 168 RenderViewContextMenuBase::RenderViewContextMenuBase(
154 content::RenderFrameHost* render_frame_host, 169 content::RenderFrameHost* render_frame_host,
155 const content::ContextMenuParams& params) 170 const content::ContextMenuParams& params)
156 : params_(params), 171 : params_(params),
157 source_web_contents_(WebContents::FromRenderFrameHost(render_frame_host)), 172 source_web_contents_(GetWebContentsToUse(
173 WebContents::FromRenderFrameHost(render_frame_host))),
158 browser_context_(source_web_contents_->GetBrowserContext()), 174 browser_context_(source_web_contents_->GetBrowserContext()),
159 menu_model_(this), 175 menu_model_(this),
160 render_frame_id_(render_frame_host->GetRoutingID()), 176 render_frame_id_(render_frame_host->GetRoutingID()),
161 command_executed_(false), 177 command_executed_(false),
162 render_process_id_(render_frame_host->GetProcess()->GetID()) { 178 render_process_id_(render_frame_host->GetProcess()->GetID()) {
163 } 179 }
164 180
165 RenderViewContextMenuBase::~RenderViewContextMenuBase() { 181 RenderViewContextMenuBase::~RenderViewContextMenuBase() {
166 } 182 }
167 183
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 } 396 }
381 397
382 bool RenderViewContextMenuBase::IsCustomItemChecked(int id) const { 398 bool RenderViewContextMenuBase::IsCustomItemChecked(int id) const {
383 return IsCustomItemCheckedInternal(params_.custom_items, id); 399 return IsCustomItemCheckedInternal(params_.custom_items, id);
384 } 400 }
385 401
386 bool RenderViewContextMenuBase::IsCustomItemEnabled(int id) const { 402 bool RenderViewContextMenuBase::IsCustomItemEnabled(int id) const {
387 return IsCustomItemEnabledInternal(params_.custom_items, id); 403 return IsCustomItemEnabledInternal(params_.custom_items, id);
388 } 404 }
389 405
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698