[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

simon.fraser at apple.com simon.fraser at apple.com
Wed Dec 22 14:47:58 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b23b63c0c3e6ddf4e529dc57fb4b6ddcfd113659
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 20 20:07:28 2010 +0000

    2010-10-20  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Darin Adler.
    
            REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
            https://bugs.webkit.org/show_bug.cgi?id=47369
    
            r46947 added code that limits the size of the layer-backed view on Leopard when
            the page height exceeds 4096px (later adjusted to 2048px in r48401).
    
            Later, r67576 altered the geometry flipping behavior to push the geometry flipping
            down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
            to account for layer-backed view size-limiting was not fixed at the same time.
            This change corrects that.
    
            * WebView/WebHTMLView.mm:
            (-[WebHTMLView _updateLayerHostingViewPosition]):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 1d2ba8c..e5ab571 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-20  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
+        https://bugs.webkit.org/show_bug.cgi?id=47369
+        
+        Testacase with a compositing layer in a page > 2048px tall.
+
+        * compositing/geometry/tall-page-composited-expected.checksum: Added.
+        * compositing/geometry/tall-page-composited-expected.png: Added.
+        * compositing/geometry/tall-page-composited-expected.txt: Added.
+        * compositing/geometry/tall-page-composited.html: Added.
+
 2010-10-20  Robert Hogan  <robert at webkit.org>
 
         Reviewed by Antonio Gomes.
diff --git a/LayoutTests/compositing/geometry/tall-page-composited-expected.checksum b/LayoutTests/compositing/geometry/tall-page-composited-expected.checksum
new file mode 100644
index 0000000..0dd0722
--- /dev/null
+++ b/LayoutTests/compositing/geometry/tall-page-composited-expected.checksum
@@ -0,0 +1 @@
+69b263ee158f21c96239ec1fc6f90f22
\ No newline at end of file
diff --git a/LayoutTests/compositing/geometry/tall-page-composited-expected.png b/LayoutTests/compositing/geometry/tall-page-composited-expected.png
new file mode 100644
index 0000000..72fbae5
Binary files /dev/null and b/LayoutTests/compositing/geometry/tall-page-composited-expected.png differ
diff --git a/LayoutTests/compositing/geometry/tall-page-composited-expected.txt b/LayoutTests/compositing/geometry/tall-page-composited-expected.txt
new file mode 100644
index 0000000..7feab4e
--- /dev/null
+++ b/LayoutTests/compositing/geometry/tall-page-composited-expected.txt
@@ -0,0 +1,9 @@
+layer at (0,0) size 785x2065
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x2065
+  RenderBlock {HTML} at (0,0) size 785x2065
+    RenderBody {BODY} at (8,8) size 769x2049
+layer at (8,8) size 100x100
+  RenderBlock (positioned) {DIV} at (8,8) size 100x100 [bgcolor=#FF0000]
+layer at (8,8) size 100x100
+  RenderBlock (positioned) {DIV} at (8,8) size 100x100 [bgcolor=#008000]
diff --git a/LayoutTests/compositing/geometry/tall-page-composited.html b/LayoutTests/compositing/geometry/tall-page-composited.html
new file mode 100644
index 0000000..72720fd
--- /dev/null
+++ b/LayoutTests/compositing/geometry/tall-page-composited.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+  <style type="text/css" media="screen">
+    body {
+      height: 2049px; /* Cause view-size limits to kick in on Leopard. */
+    }
+    
+    .box {
+      position: absolute;
+      width: 100px;
+      height: 100px;
+    }
+    
+    .test {
+      -webkit-transform: translateZ(0);
+      background-color: green;
+    }
+    
+    .indicator {
+      background-color: red;
+    }
+
+  </style>
+</head>
+<body>
+
+  <!-- In the pixel results you should see no red. -->
+  <div class="indicator box"></div>
+  <div class="test box"></div>
+
+</body>
+</html>
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index f7a5f49..c931699 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-20  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
+        https://bugs.webkit.org/show_bug.cgi?id=47369
+        
+        r46947 added code that limits the size of the layer-backed view on Leopard when
+        the page height exceeds 4096px (later adjusted to 2048px in r48401).
+        
+        Later, r67576 altered the geometry flipping behavior to push the geometry flipping
+        down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
+        to account for layer-backed view size-limiting was not fixed at the same time.
+        This change corrects that.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _updateLayerHostingViewPosition]):
+
 2010-10-19  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index 9fa3356..55587c4 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -5618,8 +5618,6 @@ static CGPoint coreGraphicsScreenPointForAppKitScreenPoint(NSPoint point)
     NSRect layerViewFrame = [self bounds];
 
     if (layerViewFrame.size.height > maxHeight) {
-        CGFloat documentHeight = layerViewFrame.size.height;
-            
         // Clamp the size of the view to <= maxHeight to avoid the bug.
         layerViewFrame.size.height = maxHeight;
         NSRect visibleRect = [[self enclosingScrollView] documentVisibleRect];
@@ -5629,8 +5627,9 @@ static CGPoint coreGraphicsScreenPointForAppKitScreenPoint(NSPoint point)
         layerViewFrame.origin.y = topOffset;
 
         // Compensate for the moved view by adjusting the sublayer transform on the view's layer (using flipped coords).
-        CGFloat bottomOffset = documentHeight - layerViewFrame.size.height - topOffset;
-        [[_private->layerHostingView layer] setSublayerTransform:CATransform3DMakeTranslation(0, -bottomOffset, 0)];
+        CATransform3D flipTransform = CATransform3DMakeTranslation(0, topOffset, 0);
+        flipTransform = CATransform3DScale(flipTransform, 1, -1, 1);
+        [[_private->layerHostingView layer] setSublayerTransform:flipTransform];
     }
 
     [_private->layerHostingView _updateLayerGeometryFromView];  // Workaround for <rdar://problem/7071636>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list