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 | 26 |
1 files changed, 18 insertions, 8 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 82373c9da3c..b75796effac 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 @@ -1544,19 +1544,29 @@ void WebLocalFrameImpl::DispatchPrintEventRecursively( } } -int WebLocalFrameImpl::PrintBegin(const WebPrintParams& print_params, - const WebNode& constrain_to_node) { - 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()); + return GetFrame()->GetWebPluginContainer(); } + // We only support printing plugin nodes for now. + 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_ = MakeGarbageCollected<ChromePluginPrintContext>( GetFrame(), plugin_container, print_params); |