Title: [200915] trunk
Revision
200915
Author
[email protected]
Date
2016-05-13 22:14:08 -0700 (Fri, 13 May 2016)

Log Message

All scrolling height/width values should be integral rounded.
https://bugs.webkit.org/show_bug.cgi?id=157687

Reviewed by Simon Fraser.

Both clientHeight(Width) and scrollHeight(width) need to be explicitly integral
rounded in order to ensure that scrollable content is computed properly.
This will evolve into subpixel snapping once we apply subpixel arithmetics on scrolling.

Source/WebCore:

Not testable.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::horizontalScrollbarStart):
(WebCore::RenderLayer::scrollWidth):
(WebCore::RenderLayer::scrollHeight):
(WebCore::RenderLayer::computeScrollDimensions):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
* rendering/RenderLayer.h:

LayoutTests:

* platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (200914 => 200915)


--- trunk/LayoutTests/ChangeLog	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/ChangeLog	2016-05-14 05:14:08 UTC (rev 200915)
@@ -1,3 +1,24 @@
+2016-05-13  Zalan Bujtas  <[email protected]>
+
+        All scrolling height/width values should be integral rounded.
+        https://bugs.webkit.org/show_bug.cgi?id=157687
+
+        Reviewed by Simon Fraser.
+
+        Both clientHeight(Width) and scrollHeight(width) need to be explicitly integral
+        rounded in order to ensure that scrollable content is computed properly.
+        This will evolve into subpixel snapping once we apply subpixel arithmetics on scrolling.
+
+        * platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
+        * platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt:
+        * platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
+        * platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
+        * platform/mac/fast/css/text-overflow-input-expected.txt:
+        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
+        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt:
+        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt:
+        * platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt:
+
 2016-05-13  Sam Weinig  <[email protected]>
 
         ScriptController::processingUserGesture should propagate across postMessage boundaries

Modified: trunk/LayoutTests/platform/ios-simulator/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/ios-simulator/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/ios-simulator/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -66,7 +66,7 @@
     RenderImage {IMG} at (278,1) size 26x25
     RenderText {#text} at (303,11) size 460x19
       text run at (303,11) width 460: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,559) size 310x22 clip at (9,560) size 308x20 scrollX 428 scrollWidth 737
+layer at (8,559) size 310x22 clip at (9,560) size 308x20 scrollX 429 scrollWidth 737
   RenderBlock {DIV} at (0,551) size 310x23 [border: (1px solid #000000)]
     RenderText {#text} at (-427,1) size 737x19
       text run at (-427,1) width 736 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -84,14 +84,14 @@
     RenderText {#text} at (1,61) size 714x19
       text run at (1,61) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,787) size 310x32 clip at (9,788) size 308x30 scrollX 457 scrollWidth 766
+layer at (8,787) size 310x32 clip at (9,788) size 308x30 scrollX 458 scrollWidth 766
   RenderBlock {DIV} at (0,778) size 310x33 [border: (1px solid #000000)]
     RenderText {#text} at (123,11) size 186x19
       text run at (123,11) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (98,1) size 26x25
     RenderText {#text} at (-456,11) size 556x19
       text run at (-456,11) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,880) size 310x32 clip at (9,881) size 308x30 scrollX 453 scrollWidth 762
+layer at (8,880) size 310x32 clip at (9,881) size 308x30 scrollX 454 scrollWidth 762
   RenderBlock {DIV} at (0,872) size 310x33 [border: (1px solid #000000)]
     RenderText {#text} at (31,11) size 278x19
       text run at (31,11) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,7 +59,7 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (11,303) size 19x460
       text run at (11,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1537) size 22x310 clip at (9,1538) size 20x308 scrollY 428 scrollHeight 737
+layer at (8,1537) size 22x310 clip at (9,1538) size 20x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1528) size 22x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 19x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (61,1) size 19x714
       text run at (61,1) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2280) size 32x310 clip at (9,2281) size 30x308 scrollY 457 scrollHeight 766
+layer at (8,2280) size 32x310 clip at (9,2281) size 30x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2272) size 32x311 [border: (1px solid #000000)]
     RenderText {#text} at (11,123) size 19x186
       text run at (11,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (11,-456) size 19x556
       text run at (11,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2652) size 32x310 clip at (9,2653) size 30x308 scrollY 453 scrollHeight 762
+layer at (8,2652) size 32x310 clip at (9,2653) size 30x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2643) size 32x311 [border: (1px solid #000000)]
     RenderText {#text} at (11,31) size 19x278
       text run at (11,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/ios-simulator/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,11 +59,11 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (11,303) size 19x460
       text run at (11,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1537) size 22x310 clip at (9,1538) size 20x308 scrollY 428 scrollHeight 737
+layer at (8,1537) size 22x310 clip at (9,1538) size 20x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1528) size 22x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 19x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1908) size 82x310 clip at (9,1909) size 80x308 scrollY 428 scrollHeight 737
+layer at (8,1908) size 82x310 clip at (9,1909) size 80x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1900) size 82x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 19x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (61,-404) size 19x714
       text run at (61,-404) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2280) size 32x310 clip at (9,2281) size 30x308 scrollY 457 scrollHeight 766
+layer at (8,2280) size 32x310 clip at (9,2281) size 30x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2272) size 32x311 [border: (1px solid #000000)]
     RenderText {#text} at (11,123) size 19x186
       text run at (11,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (11,-456) size 19x556
       text run at (11,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2652) size 32x310 clip at (9,2653) size 30x308 scrollY 453 scrollHeight 762
+layer at (8,2652) size 32x310 clip at (9,2653) size 30x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2643) size 32x311 [border: (1px solid #000000)]
     RenderText {#text} at (11,31) size 19x278
       text run at (11,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -65,11 +65,11 @@
     RenderImage {IMG} at (278,1) size 26x25
     RenderText {#text} at (303,12) size 460x18
       text run at (303,12) width 460: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 429 scrollWidth 738
+layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 430 scrollWidth 738
   RenderBlock {DIV} at (0,510) size 310x21 [border: (1px solid #000000)]
     RenderText {#text} at (-428,1) size 738x18
       text run at (-428,1) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 429 scrollWidth 738
+layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 430 scrollWidth 738
   RenderBlock {DIV} at (0,591) size 310x75 [border: (1px solid #000000)]
     RenderText {#text} at (-428,1) size 738x18
       text run at (-428,1) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -83,14 +83,14 @@
     RenderText {#text} at (-405,55) size 714x18
       text run at (-405,55) width 713 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,734) size 310x31 clip at (9,735) size 308x29 scrollX 457 scrollWidth 766
+layer at (8,734) size 310x31 clip at (9,735) size 308x29 scrollX 458 scrollWidth 766
   RenderBlock {DIV} at (0,725) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (123,12) size 186x18
       text run at (123,12) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (98,1) size 26x25
     RenderText {#text} at (-456,12) size 556x18
       text run at (-456,12) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 453 scrollWidth 762
+layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 454 scrollWidth 762
   RenderBlock {DIV} at (0,817) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (31,12) size 278x18
       text run at (31,12) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -66,7 +66,7 @@
     RenderImage {IMG} at (278,1) size 26x25
     RenderText {#text} at (303,12) size 460x18
       text run at (303,12) width 460: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,536) size 310x20 clip at (9,537) size 308x18 scrollX 428 scrollWidth 737
+layer at (8,536) size 310x20 clip at (9,537) size 308x18 scrollX 429 scrollWidth 737
   RenderBlock {DIV} at (0,528) size 310x21 [border: (1px solid #000000)]
     RenderText {#text} at (-427,1) size 737x18
       text run at (-427,1) width 736 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -84,14 +84,14 @@
     RenderText {#text} at (1,55) size 714x18
       text run at (1,55) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,752) size 310x31 clip at (9,753) size 308x29 scrollX 457 scrollWidth 766
+layer at (8,752) size 310x31 clip at (9,753) size 308x29 scrollX 458 scrollWidth 766
   RenderBlock {DIV} at (0,743) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (123,12) size 186x18
       text run at (123,12) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (98,1) size 26x25
     RenderText {#text} at (-456,12) size 556x18
       text run at (-456,12) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,843) size 310x31 clip at (9,844) size 308x29 scrollX 453 scrollWidth 762
+layer at (8,843) size 310x31 clip at (9,844) size 308x29 scrollX 454 scrollWidth 762
   RenderBlock {DIV} at (0,835) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (31,12) size 278x18
       text run at (31,12) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -65,11 +65,11 @@
     RenderImage {IMG} at (278,1) size 26x25
     RenderText {#text} at (303,12) size 460x18
       text run at (303,12) width 460: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 430 scrollWidth 739
+layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 431 scrollWidth 739
   RenderBlock {DIV} at (0,510) size 310x21 [border: (1px solid #000000)]
     RenderText {#text} at (-429,1) size 738x18
       text run at (-429,1) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 430 scrollWidth 739
+layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 431 scrollWidth 739
   RenderBlock {DIV} at (0,591) size 310x75 [border: (1px solid #000000)]
     RenderText {#text} at (-429,1) size 738x18
       text run at (-429,1) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -90,7 +90,7 @@
     RenderImage {IMG} at (97,1) size 26x25
     RenderText {#text} at (-457,12) size 556x18
       text run at (-457,12) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 453 scrollWidth 762
+layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 454 scrollWidth 762
   RenderBlock {DIV} at (0,817) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (31,12) size 278x18
       text run at (31,12) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -65,11 +65,11 @@
     RenderImage {IMG} at (278,1) size 26x25
     RenderText {#text} at (303,12) size 460x18
       text run at (303,12) width 460: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 428 scrollWidth 737
+layer at (8,518) size 310x20 clip at (9,519) size 308x18 scrollX 429 scrollWidth 737
   RenderBlock {DIV} at (0,510) size 310x21 [border: (1px solid #000000)]
     RenderText {#text} at (-427,1) size 737x18
       text run at (-427,1) width 736 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 428 scrollWidth 737
+layer at (8,599) size 310x74 clip at (9,600) size 308x72 scrollX 429 scrollWidth 737
   RenderBlock {DIV} at (0,591) size 310x75 [border: (1px solid #000000)]
     RenderText {#text} at (-427,1) size 737x18
       text run at (-427,1) width 736 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -83,14 +83,14 @@
     RenderText {#text} at (-404,55) size 714x18
       text run at (-404,55) width 713 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,734) size 310x31 clip at (9,735) size 308x29 scrollX 457 scrollWidth 766
+layer at (8,734) size 310x31 clip at (9,735) size 308x29 scrollX 458 scrollWidth 766
   RenderBlock {DIV} at (0,725) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (123,12) size 186x18
       text run at (123,12) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (98,1) size 26x25
     RenderText {#text} at (-456,12) size 556x18
       text run at (-456,12) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 453 scrollWidth 762
+layer at (8,825) size 310x31 clip at (9,826) size 308x29 scrollX 454 scrollWidth 762
   RenderBlock {DIV} at (0,817) size 310x32 [border: (1px solid #000000)]
     RenderText {#text} at (31,12) size 278x18
       text run at (31,12) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -176,7 +176,7 @@
   RenderBlock {DIV} at (0,0) size 131x13
     RenderText {#text} at (-160,0) size 292x13
       text run at (-160,0) width 291: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
-layer at (644,96) size 130x13 scrollX 230 scrollWidth 361
+layer at (644,96) size 130x13 scrollX 231 scrollWidth 361
   RenderBlock {DIV} at (0,0) size 131x13
     RenderText {#text} at (-230,0) size 362x13
       text run at (-230,0) width 361 RTL: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"
@@ -224,7 +224,7 @@
   RenderBlock {DIV} at (0,0) size 131x13
     RenderText {#text} at (-160,0) size 292x13
       text run at (-160,0) width 291: "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
-layer at (644,176) size 130x13 scrollX 230 scrollWidth 361
+layer at (644,176) size 130x13 scrollX 231 scrollWidth 361
   RenderBlock {DIV} at (0,0) size 131x13
     RenderText {#text} at (-230,0) size 362x13
       text run at (-230,0) width 361 RTL: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"

Modified: trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,11 +59,11 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (12,303) size 18x460
       text run at (12,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 428 scrollHeight 737
+layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1523) size 20x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 428 scrollHeight 737
+layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1894) size 74x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (55,-404) size 18x714
       text run at (55,-404) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 457 scrollHeight 766
+layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2265) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,123) size 18x186
       text run at (12,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (12,-456) size 18x556
       text run at (12,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 453 scrollHeight 762
+layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2635) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,31) size 18x278
       text run at (12,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,7 +59,7 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (12,303) size 18x460
       text run at (12,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 428 scrollHeight 737
+layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1523) size 20x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (55,1) size 18x714
       text run at (55,1) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 457 scrollHeight 766
+layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2265) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,123) size 18x186
       text run at (12,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (12,-456) size 18x556
       text run at (12,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 453 scrollHeight 762
+layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2635) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,31) size 18x278
       text run at (12,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,11 +59,11 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (12,303) size 18x460
       text run at (12,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 428 scrollHeight 737
+layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1523) size 20x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 428 scrollHeight 737
+layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1894) size 74x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (55,-404) size 18x714
       text run at (55,-404) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 457 scrollHeight 766
+layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2265) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,123) size 18x186
       text run at (12,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (12,-456) size 18x556
       text run at (12,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 453 scrollHeight 762
+layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2635) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,31) size 18x278
       text run at (12,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt (200914 => 200915)


--- trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt	2016-05-14 05:14:08 UTC (rev 200915)
@@ -59,11 +59,11 @@
     RenderImage {IMG} at (1,278) size 25x26
     RenderText {#text} at (12,303) size 18x460
       text run at (12,303) width 459: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 428 scrollHeight 737
+layer at (8,1532) size 20x310 clip at (9,1533) size 18x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1523) size 20x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 428 scrollHeight 737
+layer at (8,1902) size 74x310 clip at (9,1903) size 72x308 scrollY 429 scrollHeight 737
   RenderBlock {DIV} at (0,1894) size 74x311 [border: (1px solid #000000)]
     RenderText {#text} at (1,-427) size 18x737
       text run at (1,-427) width 737 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
@@ -77,14 +77,14 @@
     RenderText {#text} at (55,-404) size 18x714
       text run at (55,-404) width 714 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
     RenderBR {BR} at (0,0) size 0x0
-layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 457 scrollHeight 766
+layer at (8,2273) size 31x310 clip at (9,2274) size 29x308 scrollY 458 scrollHeight 766
   RenderBlock {DIV} at (0,2265) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,123) size 18x186
       text run at (12,123) width 186 RTL override: "Lorem ipsum dolor sit amet, "
     RenderImage {IMG} at (1,98) size 25x26
     RenderText {#text} at (12,-456) size 18x556
       text run at (12,-456) width 555 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
-layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 453 scrollHeight 762
+layer at (8,2644) size 31x310 clip at (9,2645) size 29x308 scrollY 454 scrollHeight 762
   RenderBlock {DIV} at (0,2635) size 31x311 [border: (1px solid #000000)]
     RenderText {#text} at (12,31) size 18x278
       text run at (12,31) width 278 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"

Modified: trunk/Source/WebCore/ChangeLog (200914 => 200915)


--- trunk/Source/WebCore/ChangeLog	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/Source/WebCore/ChangeLog	2016-05-14 05:14:08 UTC (rev 200915)
@@ -1,3 +1,27 @@
+2016-05-13  Zalan Bujtas  <[email protected]>
+
+        All scrolling height/width values should be integral rounded.
+        https://bugs.webkit.org/show_bug.cgi?id=157687
+
+        Reviewed by Simon Fraser.
+
+        Both clientHeight(Width) and scrollHeight(width) need to be explicitly integral
+        rounded in order to ensure that scrollable content is computed properly.
+        This will evolve into subpixel snapping once we apply subpixel arithmetics on scrolling.
+
+        Not testable.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::scrollWidth):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollTo):
+        (WebCore::RenderLayer::horizontalScrollbarStart):
+        (WebCore::RenderLayer::scrollWidth):
+        (WebCore::RenderLayer::scrollHeight):
+        (WebCore::RenderLayer::computeScrollDimensions):
+        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
+        * rendering/RenderLayer.h:
+
 2016-05-13  Chris Dumez  <[email protected]>
 
         [NetworkCache] Avoid having to re-parse URLs after deserializing them

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (200914 => 200915)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2016-05-14 05:14:08 UTC (rev 200915)
@@ -572,7 +572,7 @@
         // FIXME: This should use snappedIntSize() instead with absolute coordinates.
         return roundToInt(std::max(clientWidth(), layoutOverflowRect().maxX() - borderLeft()));
     }
-    return clientWidth() - std::min<LayoutUnit>(0, layoutOverflowRect().x() - borderLeft());
+    return roundToInt(clientWidth() - std::min<LayoutUnit>(0, layoutOverflowRect().x() - borderLeft()));
 }
 
 int RenderBox::scrollHeight() const

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (200914 => 200915)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2016-05-14 05:14:08 UTC (rev 200915)
@@ -2353,7 +2353,7 @@
 #if PLATFORM(IOS)
         if (adjustForIOSCaretWhenScrolling()) {
             // FIXME: It's not clear what this code is trying to do. Behavior seems reasonable with it removed.
-            int maxOffset = scrollWidth() - box->clientWidth();
+            int maxOffset = scrollWidth() - roundToInt(box->clientWidth());
             ScrollOffset newOffset = scrollOffsetFromPosition(newPosition);
             int scrollXOffset = newOffset.x();
             if (scrollXOffset > maxOffset - caretWidth) {
@@ -3321,7 +3321,7 @@
     if (m_scrollDimensionsDirty)
         const_cast<RenderLayer*>(this)->computeScrollDimensions();
     // FIXME: This should use snappedIntSize() instead with absolute coordinates.
-    return roundToInt(m_scrollSize.width());
+    return m_scrollSize.width();
 }
 
 int RenderLayer::scrollHeight() const
@@ -3330,7 +3330,7 @@
     if (m_scrollDimensionsDirty)
         const_cast<RenderLayer*>(this)->computeScrollDimensions();
     // FIXME: This should use snappedIntSize() instead with absolute coordinates.
-    return roundToInt(m_scrollSize.height());
+    return m_scrollSize.height();
 }
 
 LayoutUnit RenderLayer::overflowTop() const
@@ -3372,13 +3372,13 @@
 
     m_scrollDimensionsDirty = false;
 
-    m_scrollSize.setWidth(overflowRight() - overflowLeft());
-    m_scrollSize.setHeight(overflowBottom() - overflowTop());
+    m_scrollSize.setWidth(roundToInt(overflowRight() - overflowLeft()));
+    m_scrollSize.setHeight(roundToInt(overflowBottom() - overflowTop()));
 
-    int scrollableLeftOverflow = overflowLeft() - box->borderLeft();
+    int scrollableLeftOverflow = roundToInt(overflowLeft() - box->borderLeft());
     if (shouldPlaceBlockDirectionScrollbarOnLeft())
         scrollableLeftOverflow -= verticalScrollbarWidth();
-    int scrollableTopOverflow = overflowTop() - box->borderTop();
+    int scrollableTopOverflow = roundToInt(overflowTop() - box->borderTop());
     setScrollOrigin(IntPoint(-scrollableLeftOverflow, -scrollableTopOverflow));
 }
 
@@ -3479,13 +3479,13 @@
         int clientWidth = roundToInt(box->clientWidth());
         int pageStep = Scrollbar::pageStep(clientWidth);
         m_hBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
-        m_hBar->setProportion(clientWidth, m_scrollSize.width().round());
+        m_hBar->setProportion(clientWidth, m_scrollSize.width());
     }
     if (m_vBar) {
         int clientHeight = roundToInt(box->clientHeight());
         int pageStep = Scrollbar::pageStep(clientHeight);
         m_vBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
-        m_vBar->setProportion(clientHeight, m_scrollSize.height().round());
+        m_vBar->setProportion(clientHeight, m_scrollSize.height());
     }
 
     updateScrollableAreaSet(hasScrollableHorizontalOverflow() || hasScrollableVerticalOverflow());

Modified: trunk/Source/WebCore/rendering/RenderLayer.h (200914 => 200915)


--- trunk/Source/WebCore/rendering/RenderLayer.h	2016-05-14 04:58:41 UTC (rev 200914)
+++ trunk/Source/WebCore/rendering/RenderLayer.h	2016-05-14 05:14:08 UTC (rev 200915)
@@ -1099,7 +1099,7 @@
     ScrollPosition m_scrollPosition;
 
     // The width/height of our scrolled area.
-    LayoutSize m_scrollSize;
+    IntSize m_scrollSize;
 
     // For layers with overflow, we have a pair of scrollbars.
     RefPtr<Scrollbar> m_hBar;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to