| Index: third_party/WebKit/Source/web/tests/WebFrameTest.cpp
|
| diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
|
| index 6cf1755d31342f65ff5cc46c1e0e0c02a3bbca4f..37a109134b7063e2967ad2ff4f6ce5c54675a55c 100644
|
| --- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
|
| +++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
|
| @@ -64,8 +64,6 @@
|
| #include "core/html/ImageDocument.h"
|
| #include "core/input/EventHandler.h"
|
| #include "core/layout/HitTestResult.h"
|
| -#include "core/layout/LayoutFullScreen.h"
|
| -#include "core/layout/api/LayoutViewItem.h"
|
| #include "core/layout/compositing/PaintLayerCompositor.h"
|
| #include "core/loader/DocumentLoader.h"
|
| #include "core/loader/DocumentThreadableLoader.h"
|
| @@ -6451,6 +6449,40 @@ TEST_F(WebFrameTest, MaximumScrollPositionCanBeNegative)
|
| EXPECT_LT(frameView->maximumScrollPosition().x(), 0);
|
| }
|
|
|
| +TEST_F(WebFrameTest, FullscreenCleanTopLayerAndFullscreenStack)
|
| +{
|
| + FakeCompositingWebViewClient client;
|
| + registerMockedHttpURLLoad("fullscreen_div.html");
|
| + FrameTestHelpers::WebViewHelper webViewHelper;
|
| + int viewportWidth = 640;
|
| + int viewportHeight = 480;
|
| + client.m_screenInfo.rect.width = viewportWidth;
|
| + client.m_screenInfo.rect.height = viewportHeight;
|
| + WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(
|
| + m_baseURL + "fullscreen_div.html", true, 0, &client, nullptr, configureAndroid);
|
| + webViewImpl->resize(WebSize(viewportWidth, viewportHeight));
|
| + webViewImpl->updateAllLifecyclePhases();
|
| +
|
| + UserGestureIndicator gesture(DefinitelyProcessingUserGesture);
|
| + Document* document = toWebLocalFrameImpl(webViewImpl->mainFrame())->frame()->document();
|
| + Fullscreen& fullscreen = Fullscreen::from(*document);
|
| +
|
| + Element* divFullscreen = document->getElementById("div1");
|
| + fullscreen.requestFullscreen(*divFullscreen, Fullscreen::PrefixedRequest);
|
| + webViewImpl->didEnterFullscreen();
|
| + ASSERT_TRUE(Fullscreen::isFullScreen(*document));
|
| +
|
| + // Sanity check. We should have both in our stack.
|
| + ASSERT_EQ(fullscreen.fullScreenElementStack().size(), 1UL);
|
| + ASSERT_EQ(document->topLayerElements().size(), 2UL);
|
| +
|
| + fullscreen.exitFullscreen();
|
| + webViewImpl->didExitFullscreen();
|
| +
|
| + ASSERT_EQ(fullscreen.fullScreenElementStack().size(), 0UL);
|
| + ASSERT_EQ(document->topLayerElements().size(), 0UL);
|
| +}
|
| +
|
| TEST_P(ParameterizedWebFrameTest, FullscreenLayerSize)
|
| {
|
| FakeCompositingWebViewClient client;
|
| @@ -6473,7 +6505,8 @@ TEST_P(ParameterizedWebFrameTest, FullscreenLayerSize)
|
| ASSERT_TRUE(Fullscreen::isFullScreen(*document));
|
|
|
| // Verify that the element is sized to the viewport.
|
| - LayoutFullScreen* fullscreenLayoutObject = Fullscreen::from(*document).fullScreenLayoutObject();
|
| + Element* fullscreenElement = Fullscreen::currentFullScreenElementFrom(*document);
|
| + LayoutBox* fullscreenLayoutObject = toLayoutBox(fullscreenElement->layoutObject());
|
| EXPECT_EQ(viewportWidth, fullscreenLayoutObject->logicalWidth().toInt());
|
| EXPECT_EQ(viewportHeight, fullscreenLayoutObject->logicalHeight().toInt());
|
|
|
| @@ -6577,7 +6610,8 @@ TEST_P(ParameterizedWebFrameTest, FullscreenSubframe)
|
| webViewImpl->updateAllLifecyclePhases();
|
|
|
| // Verify that the element is sized to the viewport.
|
| - LayoutFullScreen* fullscreenLayoutObject = Fullscreen::from(*document).fullScreenLayoutObject();
|
| + Element* fullscreenElement = Fullscreen::currentFullScreenElementFrom(*document);
|
| + LayoutBox* fullscreenLayoutObject = toLayoutBox(fullscreenElement->layoutObject());
|
| EXPECT_EQ(viewportWidth, fullscreenLayoutObject->logicalWidth().toInt());
|
| EXPECT_EQ(viewportHeight, fullscreenLayoutObject->logicalHeight().toInt());
|
|
|
|
|