Chromium Code Reviews| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| index 210adc6d75d706936ca9186a699bc107e60d67e6..0f3e300c174b8f894258459fe67c5c4baf23f177 100644 |
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| @@ -1583,9 +1583,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const { |
| incognito_avail != IncognitoModePrefs::DISABLED; |
| case IDC_PRINT: |
| - return prefs->GetBoolean(prefs::kPrintingEnabled) && |
| - (params_.media_type == WebContextMenuData::MediaTypeNone || |
| - params_.media_flags & WebContextMenuData::MediaCanPrint); |
| + return IsPrintPreviewEnabled(); |
| case IDC_CONTENT_CONTEXT_SEARCHWEBFOR: |
| case IDC_CONTENT_CONTEXT_GOTOURL: |
| @@ -2082,6 +2080,17 @@ bool RenderViewContextMenu::IsPasteAndMatchStyleEnabled() const { |
| ui::CLIPBOARD_TYPE_COPY_PASTE); |
| } |
| +bool RenderViewContextMenu::IsPrintPreviewEnabled() const { |
| + if (params_.media_type != WebContextMenuData::MediaTypeNone && |
| + !(params_.media_flags & WebContextMenuData::MediaCanPrint)) { |
| + return false; |
| + } |
| + |
| + // |browser| is a nullptr if a modal dialog is open. |
| + Browser* browser = chrome::FindBrowserWithWebContents(source_web_contents_); |
|
Lei Zhang
2016/08/05 22:48:08
Because the PDF plugin is a guest, passing in |emb
lazyboy
2016/08/06 00:27:22
Anything depending on Browser* can/should use GetW
takumif
2016/08/08 19:08:11
The browser stays the same for the lifetime of the
|
| + return browser && chrome::CanPrint(browser); |
| +} |
| + |
| bool RenderViewContextMenu::IsRouteMediaEnabled() const { |
| if (!media_router::MediaRouterEnabled(browser_context_)) |
| return false; |