Bug 126900 - Subpixel layout: Misplaced off-by-one zoomed svg content.
Summary: Subpixel layout: Misplaced off-by-one zoomed svg content.
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: zalan
URL:
Keywords:
Depends on:
Blocks: 126283
  Show dependency treegraph
 
Reported: 2014-01-13 07:39 PST by zalan
Modified: 2014-11-19 09:01 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2014-01-13 07:39:23 PST
LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
Comment 1 zalan 2014-01-16 15:44:23 PST
Can't tell whether the baseline top/bottom values are not correct anymore or the it's due to zoom rounding somewhere. Either way, the result is significantly better, than the (current)rebaselined 'FAIL'.

diff --git a/LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml b/LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
index ef03864..5abe3f7 100644
--- a/LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
+++ b/LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
@@ -112,11 +112,11 @@ function executeTest() {
     shouldBeEqualToString('image1.bottom.toFixed(2)', '275.00');
     text1 = document.getElementById("text1").getBoundingClientRect();
     shouldBeEqualToString('text1.left.toFixed(2)', '100.00');
-    shouldBeEqualToString('text1.top.toFixed(2)', '282.66');
+    shouldBeCloseTo(text1.top.toFixed(2), 282.66, 0.5);
+    shouldBeCloseTo(text1.bottom.toFixed(2), 288.82, 0.5);
     shouldBeEqualToString('text1.width.toFixed(2)', '49.20');
     shouldBeEqualToString('text1.height.toFixed(2)', '6.16');
     shouldBeEqualToString('text1.right.toFixed(2)', '149.20');
-    shouldBeEqualToString('text1.bottom.toFixed(2)', '288.82');
     debug("");
 
     svg2 = document.getElementById("svg2").getBoundingClientRect();
@@ -142,11 +142,11 @@ function executeTest() {
     shouldBeEqualToString('image2.bottom.toFixed(2)', '125.00');
     text2 = document.getElementById("text2").getBoundingClientRect();
     shouldBeEqualToString('text2.left.toFixed(2)', '175.00');
-    shouldBeEqualToString('text2.top.toFixed(2)', '132.66');
+    shouldBeCloseTo(text2.top.toFixed(2), 132.66, 0.5);
+    shouldBeCloseTo(text2.bottom.toFixed(2), 138.60, 0.5);
     shouldBeEqualToString('text2.width.toFixed(2)', '47.44');
     shouldBeEqualToString('text2.height.toFixed(2)', '5.94');
     shouldBeEqualToString('text2.right.toFixed(2)', '222.44');
-    shouldBeEqualToString('text2.bottom.toFixed(2)', '138.60');
     debug("");
 
     svg3 = document.getElementById("svg3").getBoundingClientRect();
@@ -172,11 +172,11 @@ function executeTest() {
     shouldBeEqualToString('image3.bottom.toFixed(2)', '550.00');
     text3 = document.getElementById("text3").getBoundingClientRect();
     shouldBeEqualToString('text3.left.toFixed(2)', '1100.00');
-    shouldBeEqualToString('text3.top.toFixed(2)', '565.33');
+    shouldBeCloseTo(text3.top.toFixed(2), 565.33, 0.5);
+    shouldBeCloseTo(text3.bottom.toFixed(2), 577.64, 0.5);
     shouldBeEqualToString('text3.width.toFixed(2)', '98.41');
     shouldBeEqualToString('text3.height.toFixed(2)', '12.31');
     shouldBeEqualToString('text3.right.toFixed(2)', '1198.41');
-    shouldBeEqualToString('text3.bottom.toFixed(2)', '577.64');
     debug("");
 }
 </script>