diff options
| author | bokan@chromium.org <bokan@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538> | 2013-10-07 19:25:55 +0000 |
|---|---|---|
| committer | bokan@chromium.org <bokan@chromium.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538> | 2013-10-07 19:25:55 +0000 |
| commit | 6055db4ba8dac87238aab845b673cb6764cbdfce (patch) | |
| tree | b6b30c0b14191dea08ba2987327e8ab8fa11f2db /third_party/WebKit/LayoutTests | |
| parent | eab1bc1ee26aca40ed50792d470f1b8b505bf96e (diff) | |
| download | chromium_src-6055db4ba8dac87238aab845b673cb6764cbdfce.zip chromium_src-6055db4ba8dac87238aab845b673cb6764cbdfce.tar.gz chromium_src-6055db4ba8dac87238aab845b673cb6764cbdfce.tar.bz2 | |
Refactor fixed layout mode
Previously, the desktop browser would use FrameView's rect
as the layout size while the mobile browser would enable
"fixed layout mode" which then used a layoutSize variable
that it could set instead.
This CL removes "fixed layout mode" as a FrameView concept
and makes the layout size always an explicitly set property
of the main FrameView. Another way to think about it is that
we're now always in a fixed-layout, only we keep
the layout size pegged to the window size (if the
--enable-viewport flag is set, the layout size is set from
@viewport/viewport meta).
Note: WebViewImpl still has a setFixedLayoutSize method
that's used by Android WebView.
BUG=285397
Review URL: https://codereview.chromium.org/23819019
git-svn-id: svn://svn.chromium.org/blink/trunk@159039 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Diffstat (limited to 'third_party/WebKit/LayoutTests')
12 files changed, 9 insertions, 104 deletions
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 2e640bf..8c617da 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations @@ -1074,7 +1074,6 @@ crbug.com/252573 [ Mac Win ] fast/forms/empty-textarea-toggle-disabled.html [ Pa crbug.com/253619 fast/loader/subresource-load-failed-crash.html [ Skip ] crbug.com/255359 [ Debug ] fast/events/resize-events-count.html [ Pass Failure ] -crbug.com/255359 [ Debug ] fast/events/resize-events-fixed-layout.html [ Pass Failure ] crbug.com/256226 [ Debug ] webmidi/requestmidiaccess.html [ Crash Pass ] @@ -1155,6 +1154,10 @@ crbug.com/282496 [ Linux Release ] css3/filters/custom/composited/custom-filter- crbug.com/284734 svg/custom/getsvgdocument.html [ Pass Failure ] +crbug.com/285397 fast/dynamic/window-resize-scrollbars-test.html [ NeedsRebaseline ] +crbug.com/285397 virtual/android/fullscreen/parent-flow-inline-with-block-child.html [ NeedsRebaseline ] +crbug.com/285397 virtual/android/fullscreen/full-screen-with-flex-item.html [ NeedsRebaseline ] + # Pre-landing "binary" file (actually UTF-16) - enable with http://crrev.com/23532016 Bug(jsbell) fast/encoding/utf-16-odd-byte.html [ Skip ] diff --git a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-delete-rule.html b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-delete-rule.html index 0013233..159f35269 100644 --- a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-delete-rule.html +++ b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-delete-rule.html @@ -9,7 +9,6 @@ </style> <script> if (window.testRunner) { - testRunner.enableFixedLayoutMode(true); internals.settings.setViewportEnabled(true); } @@ -39,7 +38,7 @@ }; </script> </head> -<body> +<body style="overflow: hidden"> <div id="log"></div> </body> </html> diff --git a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-invalid-values-001.html b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-invalid-values-001.html index c7a7422..7753560 100644 --- a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-invalid-values-001.html +++ b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-invalid-values-001.html @@ -6,7 +6,6 @@ <script src="../../resources/testharnessreport.js"></script> <script> if (window.testRunner) { - testRunner.enableFixedLayoutMode(true); internals.settings.setViewportEnabled(true); } </script> diff --git a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-user-agent-style.html b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-user-agent-style.html index d0d9d6f..9b71239 100644 --- a/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-user-agent-style.html +++ b/third_party/WebKit/LayoutTests/css3/device-adapt/viewport-user-agent-style.html @@ -6,7 +6,6 @@ <script src="../../resources/testharnessreport.js"></script> <script> if (window.testRunner) { - testRunner.enableFixedLayoutMode(true); internals.settings.setViewportEnabled(true); } </script> @@ -14,7 +13,7 @@ html, body { width: 100%; height: 100%; margin: 0 } </style> </head> -<body> +<body style="overflow: hidden;"> <div id="log"></div> <script> test(function(){ diff --git a/third_party/WebKit/LayoutTests/fast/events/resize-events-expected.txt b/third_party/WebKit/LayoutTests/fast/events/resize-events-expected.txt index eedbdc5..ad0a581 100644 --- a/third_party/WebKit/LayoutTests/fast/events/resize-events-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/events/resize-events-expected.txt @@ -1,4 +1,4 @@ -Following actions must not emit resize events: page load, dynamic content generation, page scaling and changing fixed layout size. +Following actions must not emit resize events: page load, dynamic content generation, and page scaling. The spec DOM Level 2 Events states that the resize event occurs when document view size (a.k.a layout size) is changed. Refer to http://www.w3.org/TR/DOM-Level-2-Events/events.html However, showing/hiding scrollbars shouldn't be considered a layout size change. Refer to webkit.org/b/80242 PASS resizeEventCount is 0 diff --git a/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout-expected.txt b/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout-expected.txt deleted file mode 100644 index e67cd7d..0000000 --- a/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout-expected.txt +++ /dev/null @@ -1,6 +0,0 @@ -Following actions must not emit resize events: page load, dynamic content generation and page scaling. -When fixed layout is enabled, changing fixed layout size must emit resize event. -The spec DOM Level 2 Events states that the resize event occurs when document view size (a.k.a layout size) is changed. Refer to http://www.w3.org/TR/DOM-Level-2-Events/events.html -However, showing/hiding scrollbars shouldn't be considered a layout size change. Refer to webkit.org/b/80242 -PASS resizeEventCount is 1 - diff --git a/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout.html b/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout.html deleted file mode 100644 index 9b4e055..0000000 --- a/third_party/WebKit/LayoutTests/fast/events/resize-events-fixed-layout.html +++ /dev/null @@ -1,64 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <style> - div.block { height: 400px; border: 1px solid black; margin:10px; } - </style> -</head> -<body> - <div> - Following actions must not emit resize events: page load, dynamic content generation and page scaling.<br/> - - When fixed layout is enabled, changing fixed layout size must emit resize event.<br/> - - The spec DOM Level 2 Events states that the resize event occurs when document view size (a.k.a layout size) is changed. Refer to http://www.w3.org/TR/DOM-Level-2-Events/events.html<br/> - However, showing/hiding scrollbars shouldn't be considered a layout size change. Refer to webkit.org/b/80242<br/> - </div> - <div id=expandingblock> - </div> - <pre id="console"></pre> - <script src="../js/resources/js-test-pre.js"></script> - <script> - var resizeEventCount = 0; - window.onresize = function() { - resizeEventCount++; - } - - if (window.testRunner) { - testRunner.dumpAsText(); - testRunner.enableFixedLayoutMode(true); - testRunner.setFixedLayoutSize(700, 240); - testRunner.waitUntilDone(); - } - function test() { - setTimeout(showScrollbar, 20); - } - // Add many div blocks to increase document height more than view height. - function showScrollbar() { - for (var i = 0; i < 10; i++) { - var el = document.createElement('div'); - el.setAttribute('class','block'); - document.getElementById('expandingblock').appendChild(el); - } - setTimeout(scalePage, 20); - } - function scalePage() { - if (window.eventSender) - window.eventSender.setPageScaleFactor(3, 0, 0); - setTimeout(changeFixedLayoutSize, 20); - } - function changeFixedLayoutSize() { - if (window.testRunner) - testRunner.setFixedLayoutSize(1600, 1600); - setTimeout(finish, 20); - } - function finish() { - // setFixedLayoutSize() must emit a resize event. - shouldBe("resizeEventCount", "1"); - if (window.testRunner) - testRunner.notifyDone(); - } - window.onload = test; - </script> -</body> -</html> diff --git a/third_party/WebKit/LayoutTests/fast/events/resize-events.html b/third_party/WebKit/LayoutTests/fast/events/resize-events.html index c5ca3d1..b6f8b72 100644 --- a/third_party/WebKit/LayoutTests/fast/events/resize-events.html +++ b/third_party/WebKit/LayoutTests/fast/events/resize-events.html @@ -7,7 +7,7 @@ </head> <body> <div> - Following actions must not emit resize events: page load, dynamic content generation, page scaling and changing fixed layout size.<br/> + Following actions must not emit resize events: page load, dynamic content generation, and page scaling.<br/> The spec DOM Level 2 Events states that the resize event occurs when document view size (a.k.a layout size) is changed. Refer to http://www.w3.org/TR/DOM-Level-2-Events/events.html<br/> However, showing/hiding scrollbars shouldn't be considered a layout size change. Refer to webkit.org/b/80242<br/> @@ -41,11 +41,6 @@ function scalePage() { if (window.eventSender) window.eventSender.setPageScaleFactor(3, 0, 0); - setTimeout(changeFixedLayoutSize, 20); - } - function changeFixedLayoutSize() { - if (window.testRunner) - testRunner.setFixedLayoutSize(1600, 1600); setTimeout(finish, 20); } function finish() { diff --git a/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240-expected.txt b/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240-expected.txt deleted file mode 100644 index 70bacae..0000000 --- a/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240-expected.txt +++ /dev/null @@ -1,5 +0,0 @@ -layer at (0,0) size 360x240 - RenderView at (0,0) size 360x240 -layer at (0,0) size 360x240 - RenderBlock {HTML} at (0,0) size 360x240 - RenderBody {BODY} at (8,8) size 344x224 [bgcolor=#008000] diff --git a/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240.html b/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240.html deleted file mode 100644 index 0801299..0000000 --- a/third_party/WebKit/LayoutTests/fast/repaint/fixed-layout-360x240.html +++ /dev/null @@ -1,14 +0,0 @@ -<html> -<head> -<script type="text/javascript"> - function layoutTest() - { - if (window.testRunner) { - window.testRunner.enableFixedLayoutMode(true); - window.testRunner.setFixedLayoutSize(360, 240); - } - } -</script> -</head> - <body bgcolor='green' onload='layoutTest();'></body> -</html> diff --git a/third_party/WebKit/LayoutTests/fast/viewport/viewport-enabled.html b/third_party/WebKit/LayoutTests/fast/viewport/viewport-enabled.html index b6d43a3..e3726bd 100644 --- a/third_party/WebKit/LayoutTests/fast/viewport/viewport-enabled.html +++ b/third_party/WebKit/LayoutTests/fast/viewport/viewport-enabled.html @@ -7,7 +7,6 @@ document.write("Width with viewport disabled. (should be 800): " + document.documentElement.offsetWidth + "<br>"); - testRunner.enableFixedLayoutMode(true); internals.settings.setViewportEnabled(true); document.write("Width from meta viewport (should be 320): " + document.documentElement.offsetWidth); diff --git a/third_party/WebKit/LayoutTests/fast/viewport/viewport-legacy-ordering-10.html b/third_party/WebKit/LayoutTests/fast/viewport/viewport-legacy-ordering-10.html index 578f23e..14971e8 100644 --- a/third_party/WebKit/LayoutTests/fast/viewport/viewport-legacy-ordering-10.html +++ b/third_party/WebKit/LayoutTests/fast/viewport/viewport-legacy-ordering-10.html @@ -13,7 +13,7 @@ <meta name="viewport" content="width=5000"> <style>@viewport {}</style> </head> -<body> +<body style="overflow: hidden"> <div id="log"></div> <script> var rootWidth = document.documentElement.offsetWidth; |
