Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Node.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp |
| index 2c1b5bee29fb8df519818bd1fb51beae183a9303..dcdb71f0bed37739deb2b2c0e62b29da6c3c872e 100644 |
| --- a/third_party/WebKit/Source/core/dom/Node.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Node.cpp |
| @@ -90,8 +90,10 @@ |
| #include "core/html/HTMLSlotElement.h" |
| #include "core/input/EventHandler.h" |
| #include "core/layout/LayoutBox.h" |
| +#include "core/layout/LayoutPart.h" |
| #include "core/page/ContextMenuController.h" |
| #include "core/page/Page.h" |
| +#include "core/plugins/PluginView.h" |
| #include "core/svg/SVGElement.h" |
| #include "core/svg/graphics/SVGImage.h" |
| #include "platform/EventDispatchForbiddenScope.h" |
| @@ -2579,6 +2581,22 @@ void Node::CheckSlotChange(SlotChangeType slot_change_type) { |
| } |
| } |
| +WebPluginContainerBase* Node::GetWebPluginContainerBase() const { |
| + if (!isHTMLObjectElement(this) && !isHTMLEmbedElement(this)) { |
|
haraken
2017/05/22 04:51:44
Can we probably use isHTMLPluginElement()?
slangley
2017/05/22 23:53:25
If possible, i'd rather this change be purely mech
|
| + return nullptr; |
| + } |
| + |
| + LayoutObject* object = GetLayoutObject(); |
| + if (object && object->IsLayoutPart()) { |
| + PluginView* plugin = ToLayoutPart(object)->Plugin(); |
| + if (plugin) { |
| + return plugin->GetWebPluginContainerBase(); |
| + } |
| + } |
| + |
| + return nullptr; |
| +} |
| + |
| DEFINE_TRACE(Node) { |
| visitor->Trace(parent_or_shadow_host_node_); |
| visitor->Trace(previous_); |