Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp |
| diff --git a/third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp b/third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp |
| index bb47c4e162da67daeeaabbc67f02d996527885c7..60960f26f49e1622bcd11ceda71c90c85bbf567e 100644 |
| --- a/third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp |
| +++ b/third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp |
| @@ -209,6 +209,8 @@ void HTMLPlugInElement::removedFrom(ContainerNode* insertionPoint) { |
| // If we've persisted the plugin and we're removed from the tree then |
| // make sure we cleanup the persistance pointer. |
| if (m_persistedPluginWidget) { |
| + // TODO(dcheng): This UpdateSuspendScope doesn't seem to provide much; |
|
sof
2016/12/17 15:01:53
Given that the persisted-widget detach happens sli
dcheng
2016/12/17 20:20:02
For now, yes. If I understand this correctly, Plug
sof
2016/12/17 21:47:28
WebPluginContainerImpl won't separately call remov
dcheng
2016/12/18 06:40:38
WebPluginContainerImpl won't, but things like Cont
|
| + // investigate removing it. |
| HTMLFrameOwnerElement::UpdateSuspendScope suspendWidgetHierarchyUpdates; |
| setPersistedPluginWidget(nullptr); |
| } |
| @@ -422,6 +424,11 @@ bool HTMLPlugInElement::isPluginElement() const { |
| return true; |
| } |
| +void HTMLPlugInElement::disconnectContentFrame() { |
| + HTMLFrameOwnerElement::disconnectContentFrame(); |
| + setPersistedPluginWidget(nullptr); |
|
sof
2016/12/17 15:01:53
If there is a reason for this (unexpected) orderin
dcheng
2016/12/17 20:20:02
I /think/ that removedFrom() isn't allowed to run
|
| +} |
| + |
| bool HTMLPlugInElement::layoutObjectIsFocusable() const { |
| if (HTMLFrameOwnerElement::supportsFocus() && |
| HTMLFrameOwnerElement::layoutObjectIsFocusable()) |