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

Unified Diff: chrome/renderer/printing/print_web_view_helper.cc

Issue 597933002: Restored disable print preview policy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Wed Sep 24 10:32:18 PDT 2014 Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/printing/print_web_view_helper.cc
diff --git a/chrome/renderer/printing/print_web_view_helper.cc b/chrome/renderer/printing/print_web_view_helper.cc
index 53a66ee29263edee54837201297c2b99c9ba9d9c..c079159380856c2318f7b0b27e8db0e219664f06 100644
--- a/chrome/renderer/printing/print_web_view_helper.cc
+++ b/chrome/renderer/printing/print_web_view_helper.cc
@@ -67,12 +67,6 @@ const char kPageLoadScriptFormat[] =
const char kPageSetupScriptFormat[] = "setup(%s);";
-#if defined(ENABLE_FULL_PRINTING)
-bool g_is_preview_enabled_ = true;
-#else
-bool g_is_preview_enabled_ = false;
-#endif
-
void ExecuteScript(blink::WebFrame* frame,
const char* script_format,
const base::Value& parameters) {
@@ -405,6 +399,15 @@ PrintMsg_Print_Params CalculatePrintParamsForCss(
return result_params;
}
+bool IsPrintPreviewEnabled() {
+#if defined(ENABLE_FULL_PRINTING)
+ return !CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisablePrintPreview);
+#else
+ return false;
+#endif
+}
+
} // namespace
FrameReference::FrameReference(blink::WebLocalFrame* frame) {
@@ -775,6 +778,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view)
: content::RenderViewObserver(render_view),
content::RenderViewObserverTracker<PrintWebViewHelper>(render_view),
reset_prep_frame_view_(false),
+ is_preview_enabled_(IsPrintPreviewEnabled()),
is_print_ready_metafile_sent_(false),
ignore_css_margins_(false),
is_scripted_printing_blocked_(false),
@@ -788,11 +792,6 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view)
PrintWebViewHelper::~PrintWebViewHelper() {}
-// static
-void PrintWebViewHelper::DisablePreview() {
- g_is_preview_enabled_ = false;
-}
-
bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed(
blink::WebFrame* frame, bool user_initiated) {
#if defined(OS_ANDROID)
@@ -803,7 +802,7 @@ bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed(
// is app modal). If the print was initiated through user action, don't
// throttle. Or, if the command line flag to skip throttling has been set.
return !is_scripted_printing_blocked_ &&
- (user_initiated || g_is_preview_enabled_ ||
+ (user_initiated || is_preview_enabled_ ||
scripting_throttler_.IsAllowed(frame));
}
@@ -834,7 +833,7 @@ void PrintWebViewHelper::PrintPage(blink::WebLocalFrame* frame,
if (!IsScriptInitiatedPrintAllowed(frame, user_initiated))
return;
- if (!g_is_preview_enabled_) {
+ if (!is_preview_enabled_) {
Print(frame, blink::WebNode());
} else {
print_preview_context_.InitWithFrame(frame);
@@ -862,6 +861,7 @@ bool PrintWebViewHelper::OnMessageReceived(const IPC::Message& message) {
void PrintWebViewHelper::OnPrintForPrintPreview(
const base::DictionaryValue& job_settings) {
+ DCHECK(is_preview_enabled_);
// If still not finished with earlier print request simply ignore.
if (prep_frame_view_)
return;
@@ -996,6 +996,7 @@ bool PrintWebViewHelper::IsPrintToPdfRequested(
}
void PrintWebViewHelper::OnPrintPreview(const base::DictionaryValue& settings) {
+ DCHECK(is_preview_enabled_);
print_preview_context_.OnPrintPreview();
UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent",
@@ -1198,6 +1199,7 @@ void PrintWebViewHelper::SetScriptedPrintBlocked(bool blocked) {
}
void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
+ DCHECK(is_preview_enabled_);
blink::WebLocalFrame* frame = NULL;
GetPrintFrame(&frame);
DCHECK(frame);
@@ -1231,7 +1233,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
// Make a copy of the node, in case RenderView::OnContextMenuClosed resets
// its |context_menu_node_|.
- if (!g_is_preview_enabled_) {
+ if (!is_preview_enabled_) {
blink::WebNode duplicate_node(node);
Print(duplicate_node.document().frame(), duplicate_node);
} else {
@@ -1294,6 +1296,7 @@ void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) {
break;
case FAIL_PREVIEW:
+ DCHECK(is_preview_enabled_);
int cookie = print_pages_params_ ?
print_pages_params_->params.document_cookie : 0;
if (notify_browser_of_print_failure_) {
@@ -1459,6 +1462,7 @@ bool PrintWebViewHelper::UpdatePrintSettings(
blink::WebLocalFrame* frame,
const blink::WebNode& node,
const base::DictionaryValue& passed_job_settings) {
+ DCHECK(is_preview_enabled_);
const base::DictionaryValue* job_settings = &passed_job_settings;
base::DictionaryValue modified_job_settings;
if (job_settings->empty()) {

Powered by Google App Engine
This is Rietveld 408576698