Index: chrome/browser/ui/browser_commands.cc |
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc |
index e82149b54c89394c18fe45632cc75b654a069b40..071991caf136518c97bf1c7b0d00860acceda411 100644 |
--- a/chrome/browser/ui/browser_commands.cc |
+++ b/chrome/browser/ui/browser_commands.cc |
@@ -892,6 +892,15 @@ void BasicPrint(Browser* browser) { |
} |
bool CanBasicPrint(Browser* browser) { |
+ // If printing is not disabled via pref or policy, it is always possible to |
+ // advanced print when the print preview is visible. The exception to this |
+ // is under Win8 ash, since showing the advanced print dialog will open it |
+ // modally on the Desktop and hang the browser. |
+#if defined(OS_WIN) |
+ if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) |
+ return false; |
+#endif |
+ |
return browser->profile()->GetPrefs()->GetBoolean(prefs::kPrintingEnabled) && |
(PrintPreviewShowing(browser) || CanPrint(browser)); |
} |