diff options
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.cc | 27 |
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); |