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 a34ff1d2fe91acebc579b2a147596a5e18da3a11..02ccfcfff0b62cd038c96f4be50bbb43a5a8d5d4 100644 |
--- a/chrome/renderer/printing/print_web_view_helper.cc |
+++ b/chrome/renderer/printing/print_web_view_helper.cc |
@@ -400,16 +400,6 @@ PrintMsg_Print_Params CalculatePrintParamsForCss( |
return result_params; |
} |
-bool IsPrintPreviewEnabled() { |
- return CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kRendererPrintPreview); |
-} |
- |
-bool IsPrintThrottlingDisabled() { |
- return CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kDisableScriptedPrintThrottling); |
-} |
- |
} // namespace |
FrameReference::FrameReference(blink::WebLocalFrame* frame) { |
@@ -781,11 +771,8 @@ 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_scripted_print_throttling_disabled_(IsPrintThrottlingDisabled()), |
is_print_ready_metafile_sent_(false), |
ignore_css_margins_(false), |
- user_cancelled_scripted_print_count_(0), |
is_scripted_printing_blocked_(false), |
notify_browser_of_print_failure_(true), |
print_for_preview_(false), |
@@ -804,14 +791,6 @@ bool PrintWebViewHelper::IsScriptInitiatedPrintAllowed( |
#endif // defined(OS_ANDROID) |
if (is_scripted_printing_blocked_) |
return false; |
- // If preview is enabled, then the print dialog is tab modal, and the user |
- // can always close the tab on a mis-behaving page (the system print dialog |
- // 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. |
- if (!is_scripted_print_throttling_disabled_ && |
- !is_preview_enabled_ && |
- !user_initiated) |
- return !IsScriptInitiatedPrintTooFrequent(frame); |
return true; |
} |
@@ -841,14 +820,8 @@ void PrintWebViewHelper::PrintPage(blink::WebLocalFrame* frame, |
if (!IsScriptInitiatedPrintAllowed(frame, user_initiated)) |
return; |
- IncrementScriptedPrintCount(); |
- |
- if (is_preview_enabled_) { |
- print_preview_context_.InitWithFrame(frame); |
- RequestPrintPreview(PRINT_PREVIEW_SCRIPTED); |
- } else { |
- Print(frame, blink::WebNode()); |
- } |
+ print_preview_context_.InitWithFrame(frame); |
+ RequestPrintPreview(PRINT_PREVIEW_SCRIPTED); |
} |
bool PrintWebViewHelper::OnMessageReceived(const IPC::Message& message) { |
@@ -860,8 +833,6 @@ bool PrintWebViewHelper::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(PrintMsg_PrintPreview, OnPrintPreview) |
IPC_MESSAGE_HANDLER(PrintMsg_PrintForPrintPreview, OnPrintForPrintPreview) |
IPC_MESSAGE_HANDLER(PrintMsg_PrintingDone, OnPrintingDone) |
- IPC_MESSAGE_HANDLER(PrintMsg_ResetScriptedPrintCount, |
- ResetScriptedPrintCount) |
IPC_MESSAGE_HANDLER(PrintMsg_SetScriptedPrintingBlocked, |
SetScriptedPrintBlocked) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -871,7 +842,6 @@ 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; |
@@ -1005,7 +975,6 @@ bool PrintWebViewHelper::IsPrintToPdfRequested( |
} |
void PrintWebViewHelper::OnPrintPreview(const base::DictionaryValue& settings) { |
- DCHECK(is_preview_enabled_); |
print_preview_context_.OnPrintPreview(); |
UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent", |
@@ -1208,7 +1177,6 @@ void PrintWebViewHelper::SetScriptedPrintBlocked(bool blocked) { |
} |
void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) { |
- DCHECK(is_preview_enabled_); |
blink::WebLocalFrame* frame = NULL; |
GetPrintFrame(&frame); |
DCHECK(frame); |
@@ -1242,13 +1210,8 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) { |
// Make a copy of the node, in case RenderView::OnContextMenuClosed resets |
// its |context_menu_node_|. |
- if (is_preview_enabled_) { |
- print_preview_context_.InitWithNode(node); |
- RequestPrintPreview(PRINT_PREVIEW_USER_INITIATED_CONTEXT_NODE); |
- } else { |
- blink::WebNode duplicate_node(node); |
- Print(duplicate_node.document().frame(), duplicate_node); |
- } |
+ print_preview_context_.InitWithNode(node); |
+ RequestPrintPreview(PRINT_PREVIEW_USER_INITIATED_CONTEXT_NODE); |
print_node_in_progress_ = false; |
} |
@@ -1285,7 +1248,6 @@ void PrintWebViewHelper::Print(blink::WebLocalFrame* frame, |
LOG(ERROR) << "RenderPagesForPrint failed"; |
DidFinishPrinting(FAIL_PRINT); |
} |
- ResetScriptedPrintCount(); |
} |
void PrintWebViewHelper::DidFinishPrinting(PrintingResult result) { |
@@ -1305,7 +1267,6 @@ 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_) { |
@@ -1474,7 +1435,6 @@ 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()) { |
@@ -1623,54 +1583,6 @@ bool PrintWebViewHelper::CopyMetafileDataToSharedMem( |
} |
#endif // defined(OS_POSIX) |
-bool PrintWebViewHelper::IsScriptInitiatedPrintTooFrequent( |
- blink::WebFrame* frame) { |
- const int kMinSecondsToIgnoreJavascriptInitiatedPrint = 2; |
- const int kMaxSecondsToIgnoreJavascriptInitiatedPrint = 32; |
- bool too_frequent = false; |
- |
- // Check if there is script repeatedly trying to print and ignore it if too |
- // frequent. The first 3 times, we use a constant wait time, but if this |
- // gets excessive, we switch to exponential wait time. So for a page that |
- // calls print() in a loop the user will need to cancel the print dialog |
- // after: [2, 2, 2, 4, 8, 16, 32, 32, ...] seconds. |
- // This gives the user time to navigate from the page. |
- if (user_cancelled_scripted_print_count_ > 0) { |
- base::TimeDelta diff = base::Time::Now() - last_cancelled_script_print_; |
- int min_wait_seconds = kMinSecondsToIgnoreJavascriptInitiatedPrint; |
- if (user_cancelled_scripted_print_count_ > 3) { |
- min_wait_seconds = std::min( |
- kMinSecondsToIgnoreJavascriptInitiatedPrint << |
- (user_cancelled_scripted_print_count_ - 3), |
- kMaxSecondsToIgnoreJavascriptInitiatedPrint); |
- } |
- if (diff.InSeconds() < min_wait_seconds) { |
- too_frequent = true; |
- } |
- } |
- |
- if (!too_frequent) |
- return false; |
- |
- blink::WebString message( |
- blink::WebString::fromUTF8("Ignoring too frequent calls to print().")); |
- frame->addMessageToConsole( |
- blink::WebConsoleMessage( |
- blink::WebConsoleMessage::LevelWarning, message)); |
- return true; |
-} |
- |
-void PrintWebViewHelper::ResetScriptedPrintCount() { |
- // Reset cancel counter on successful print. |
- user_cancelled_scripted_print_count_ = 0; |
-} |
- |
-void PrintWebViewHelper::IncrementScriptedPrintCount() { |
- ++user_cancelled_scripted_print_count_; |
- last_cancelled_script_print_ = base::Time::Now(); |
-} |
- |
- |
void PrintWebViewHelper::ShowScriptedPrintPreview() { |
if (is_scripted_preview_delayed_) { |
is_scripted_preview_delayed_ = false; |