| 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()) {
|
|
|