| 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_);
|
| + return browser && chrome::CanPrint(browser);
|
| +}
|
| +
|
| bool RenderViewContextMenu::IsRouteMediaEnabled() const {
|
| if (!media_router::MediaRouterEnabled(browser_context_))
|
| return false;
|
|
|