| Index: third_party/WebKit/Source/core/frame/FrameView.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| index 6bd87f905f2b4739a9110fcb63b3ab66bf9c762e..b1fd652550f850a14b1f3f046497d1a5ea42926f 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -80,6 +80,7 @@
|
| #include "core/paint/FramePainter.h"
|
| #include "core/paint/PaintLayer.h"
|
| #include "core/paint/PaintPropertyTreeBuilder.h"
|
| +#include "core/plugins/PluginView.h"
|
| #include "core/style/ComputedStyle.h"
|
| #include "core/svg/SVGDocumentExtensions.h"
|
| #include "core/svg/SVGSVGElement.h"
|
| @@ -2435,6 +2436,7 @@ void FrameView::scheduleVisualUpdateForPaintInvalidationIfNeeded()
|
| // Otherwise the paint invalidation will be handled in paint invalidation phase of this cycle.
|
| }
|
|
|
| +// TODO(leviw): We don't assert lifecycle information from documents in child PluginViews.
|
| void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases)
|
| {
|
| Optional<TemporaryChange<bool>> isUpdatingAllLifecyclePhasesScope;
|
| @@ -2622,6 +2624,17 @@ void FrameView::updateStyleAndLayoutIfNeededRecursive()
|
| if (needsLayout())
|
| layout();
|
|
|
| + // WebView plugins need to update regardless of whether the LayoutEmbeddedObject
|
| + // that owns them needed layout.
|
| + // TODO(leviw): This currently runs the entire lifecycle on plugin WebViews. We
|
| + // should have a way to only run these other Documents to the same lifecycle stage
|
| + // as this frame.
|
| + const ChildrenWidgetSet* viewChildren = children();
|
| + for (const RefPtrWillBeMember<Widget>& child : *viewChildren) {
|
| + if ((*child).isPluginContainer())
|
| + toPluginView(child.get())->layoutIfNeeded();
|
| + }
|
| +
|
| // FIXME: Calling layout() shouldn't trigger script execution or have any
|
| // observable effects on the frame tree but we're not quite there yet.
|
| WillBeHeapVector<RefPtrWillBeMember<FrameView>> frameViews;
|
|
|