Index: third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp |
index 097190ad126078692b3ade36bd3d0efe4c140a42..41ae780cc8304bf6d1d31da799f7bfc6f6093ff8 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp |
@@ -117,7 +117,7 @@ HTMLFrameOwnerElement::UpdateSuspendScope::~UpdateSuspendScope() { |
// Unlike moveWidgetToParentSoon, this will not call dispose the Widget. |
void temporarilyRemoveWidgetFromParentSoon(FrameViewBase* frameViewBase) { |
- if (s_updateSuspendCount) { |
+ if (s_updateSuspendCount && !frameViewBase->isFrameView()) { |
widgetsPendingTemporaryRemovalFromParent().insert(frameViewBase); |
} else { |
if (toFrameView(frameViewBase->parent())) |
@@ -126,7 +126,7 @@ void temporarilyRemoveWidgetFromParentSoon(FrameViewBase* frameViewBase) { |
} |
void moveWidgetToParentSoon(FrameViewBase* child, FrameView* parent) { |
- if (!s_updateSuspendCount) { |
+ if (!s_updateSuspendCount || child->isFrameView()) { |
if (parent) { |
parent->addChild(child); |
} else if (toFrameView(child->parent())) { |