| Index: third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| index 38fea136385ad37b28c2e9df045cd046af39a920..136325539960a1e5e254fe60f70d106668abe02e 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| @@ -26,6 +26,7 @@
|
| #include "core/dom/StyleEngine.h"
|
| #include "core/layout/HitTestResult.h"
|
| #include "core/layout/LayoutBlock.h"
|
| +#include "core/layout/LayoutFullScreen.h"
|
| #include "core/layout/LayoutGeometryMap.h"
|
| #include "core/layout/LayoutTheme.h"
|
| #include "core/layout/LayoutView.h"
|
| @@ -349,6 +350,17 @@ void LayoutInline::splitInlines(LayoutBlockFlow* fromBlock, LayoutBlockFlow* toB
|
| {
|
| ASSERT(isDescendantOf(fromBlock));
|
|
|
| + // If we're splitting the inline containing the fullscreened element,
|
| + // |beforeChild| may be the layoutObject for the fullscreened element. However,
|
| + // that layoutObject is wrapped in a LayoutFullScreen, so |this| is not its
|
| + // parent. Since the splitting logic expects |this| to be the parent, set
|
| + // |beforeChild| to be the LayoutFullScreen.
|
| + if (Fullscreen* fullscreen = Fullscreen::fromIfExists(document())) {
|
| + const Element* fullScreenElement = fullscreen->webkitCurrentFullScreenElement();
|
| + if (fullScreenElement && beforeChild && beforeChild->node() == fullScreenElement)
|
| + beforeChild = fullscreen->fullScreenLayoutObject();
|
| + }
|
| +
|
| // FIXME: Because splitting is O(n^2) as tags nest pathologically, we cap the depth at which we're willing to clone.
|
| // There will eventually be a better approach to this problem that will let us nest to a much
|
| // greater depth (see bugzilla bug 13430) but for now we have a limit. This *will* result in
|
|
|