Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(929)

Unified Diff: third_party/WebKit/Source/web/tests/WebFrameTest.cpp

Issue 2202493002: NOT FOR REVIEW: Fullscreen WIP (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 a7f8e65fea310bcb907693b82ea68472ce516063..19a54e3b8cc8bfdfe3543abb8a51958e2fec86e3 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -65,7 +65,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"
@@ -7473,6 +7472,36 @@ TEST_F(WebFrameTest, MaximumScrollPositionCanBeNegative) {
EXPECT_LT(frameView->maximumScrollOffset().width(), 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();
+
+ Document* document = webViewImpl->mainFrameImpl()->frame()->document();
+ UserGestureIndicator gesture(DocumentUserGestureToken::create(document));
+ Element* divFullscreen = document->getElementById("div1");
+ Fullscreen::requestFullscreen(*divFullscreen, Fullscreen::PrefixedRequest);
+ webViewImpl->didEnterFullscreen();
+ ASSERT_EQ(Fullscreen::fullscreenElement(*document), divFullscreen);
+
+ // Sanity check. We should have both in our stack.
+ ASSERT_EQ(document->topLayerElements().size(), 2UL);
+
+ Fullscreen::exitFullscreen(*document);
+ webViewImpl->didExitFullscreen();
+
+ ASSERT_EQ(document->topLayerElements().size(), 0UL);
+}
+
TEST_P(ParameterizedWebFrameTest, FullscreenLayerSize) {
FakeCompositingWebViewClient client;
registerMockedHttpURLLoad("fullscreen_div.html");
@@ -7493,11 +7522,12 @@ TEST_P(ParameterizedWebFrameTest, FullscreenLayerSize) {
Fullscreen::requestFullscreen(*divFullscreen, Fullscreen::PrefixedRequest);
webViewImpl->didEnterFullscreen();
webViewImpl->updateAllLifecyclePhases();
- EXPECT_EQ(Fullscreen::currentFullScreenElementFrom(*document), divFullscreen);
+ EXPECT_EQ(Fullscreen::fullscreenElement(*document), divFullscreen);
// Verify that the element is sized to the viewport.
- LayoutFullScreen* fullscreenLayoutObject =
- Fullscreen::from(*document).fullScreenLayoutObject();
+ Element* fullscreenElement = Fullscreen::fullscreenElement(*document);
+ LayoutBox* fullscreenLayoutObject =
+ toLayoutBox(fullscreenElement->layoutObject());
EXPECT_EQ(viewportWidth, fullscreenLayoutObject->logicalWidth().toInt());
EXPECT_EQ(viewportHeight, fullscreenLayoutObject->logicalHeight().toInt());
@@ -7530,7 +7560,7 @@ TEST_F(WebFrameTest, FullscreenLayerNonScrollable) {
webViewImpl->updateAllLifecyclePhases();
// Verify that the viewports are nonscrollable.
- EXPECT_EQ(Fullscreen::currentFullScreenElementFrom(*document), divFullscreen);
+ EXPECT_EQ(Fullscreen::fullscreenElement(*document), divFullscreen);
FrameView* frameView = webViewHelper.webView()->mainFrameImpl()->frameView();
WebLayer* layoutViewportScrollLayer =
webViewImpl->compositor()->scrollLayer()->platformLayer();
@@ -7547,7 +7577,7 @@ TEST_F(WebFrameTest, FullscreenLayerNonScrollable) {
// Verify that the viewports are scrollable upon exiting fullscreen.
webViewImpl->didExitFullscreen();
webViewImpl->updateAllLifecyclePhases();
- EXPECT_EQ(Fullscreen::currentFullScreenElementFrom(*document), nullptr);
+ EXPECT_EQ(Fullscreen::fullscreenElement(*document), nullptr);
ASSERT_TRUE(layoutViewportScrollLayer->userScrollableHorizontal());
ASSERT_TRUE(layoutViewportScrollLayer->userScrollableVertical());
ASSERT_TRUE(visualViewportScrollLayer->userScrollableHorizontal());
@@ -7574,7 +7604,7 @@ TEST_P(ParameterizedWebFrameTest, FullscreenMainFrame) {
webViewImpl->updateAllLifecyclePhases();
// Verify that the main frame is still scrollable.
- EXPECT_EQ(Fullscreen::currentFullScreenElementFrom(*document),
+ EXPECT_EQ(Fullscreen::fullscreenElement(*document),
document->documentElement());
WebLayer* webScrollLayer =
webViewImpl->compositor()->scrollLayer()->platformLayer();
@@ -7615,8 +7645,9 @@ TEST_P(ParameterizedWebFrameTest, FullscreenSubframe) {
webViewImpl->updateAllLifecyclePhases();
// Verify that the element is sized to the viewport.
- LayoutFullScreen* fullscreenLayoutObject =
- Fullscreen::from(*document).fullScreenLayoutObject();
+ Element* fullscreenElement = Fullscreen::fullscreenElement(*document);
+ LayoutBox* fullscreenLayoutObject =
+ toLayoutBox(fullscreenElement->layoutObject());
EXPECT_EQ(viewportWidth, fullscreenLayoutObject->logicalWidth().toInt());
EXPECT_EQ(viewportHeight, fullscreenLayoutObject->logicalHeight().toInt());
« no previous file with comments | « third_party/WebKit/Source/web/WebRemoteFrameImpl.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698