summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc27
1 files changed, 17 insertions, 10 deletions
diff --git a/chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index 0226d3c31c1..7e49028d641 100644
--- a/chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/chromium/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -1501,20 +1501,27 @@ void WebLocalFrameImpl::DispatchPrintEventRecursively(
}
}
-int WebLocalFrameImpl::PrintBegin(const WebPrintParams& print_params,
- const WebNode& constrain_to_node) {
- DCHECK(!GetFrame()->GetDocument()->IsFrameSet());
- WebPluginContainerImpl* plugin_container = nullptr;
+WebPluginContainerImpl* WebLocalFrameImpl::GetPluginToPrintHelper(
+ const WebNode& constrain_to_node) {
if (constrain_to_node.IsNull()) {
// If this is a plugin document, check if the plugin supports its own
- // printing. If it does, we will delegate all printing to that.
- plugin_container = GetFrame()->GetWebPluginContainer();
- } else {
- // We only support printing plugin nodes for now.
- plugin_container =
- ToWebPluginContainerImpl(constrain_to_node.PluginContainer());
+ // printing. If it does, we will delegate all printing to that.a
+ return GetFrame()->GetWebPluginContainer();
}
+ return ToWebPluginContainerImpl(constrain_to_node.PluginContainer());
+}
+
+WebPlugin* WebLocalFrameImpl::GetPluginToPrint(
+ const WebNode& constrain_to_node) {
+ WebPluginContainerImpl* plugin_container =
+ GetPluginToPrintHelper(constrain_to_node);
+ return plugin_container ? plugin_container->Plugin() : nullptr;
+}
+int WebLocalFrameImpl::PrintBegin(const WebPrintParams& print_params,
+ const WebNode& constrain_to_node) {
+ WebPluginContainerImpl* plugin_container =
+ GetPluginToPrintHelper(constrain_to_node);
if (plugin_container && plugin_container->SupportsPaginatedPrint()) {
print_context_ = new ChromePluginPrintContext(GetFrame(), plugin_container,
print_params);