[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 15:38:25 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 8e7b87769c17567270ba26365ca774f082eb047e
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 9 20:13:40 2010 +0000

    2010-11-09  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Darin Adler.
    
            Caret fails to render with some combination of iframes and compositing
            https://bugs.webkit.org/show_bug.cgi?id=49079
    
            Because it's possible for the caret to jump between different
            compositing layers and the view, caret repainting currently dirties
            both the view and all compositing layers that intersect the caret rect,
            via repaintRectangleInViewAndCompositedLayers().
    
            When an iframe contained compositing layers, we erroneously skipped
            invalidating the compositing layer inside the iframe, which caused
            the caret to fail to blink.
    
            * manual-tests/compositing/caret-in-compositing-frame.html: Added.
            * manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
            * rendering/RenderView.cpp:
            (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71666 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 57f5260..e9b6ab0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2010-11-09  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Caret fails to render with some combination of iframes and compositing
+        https://bugs.webkit.org/show_bug.cgi?id=49079
+        
+        Because it's possible for the caret to jump between different
+        compositing layers and the view, caret repainting currently dirties
+        both the view and all compositing layers that intersect the caret rect,
+        via repaintRectangleInViewAndCompositedLayers().
+        
+        When an iframe contained compositing layers, we erroneously skipped
+        invalidating the compositing layer inside the iframe, which caused
+        the caret to fail to blink.
+
+        * manual-tests/compositing/caret-in-compositing-frame.html: Added.
+        * manual-tests/compositing/resources/editable-compositing-subframe.html: Added.
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
+
 2010-11-09  Peter Rybin  <peter.rybin at gmail.com>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/manual-tests/compositing/caret-in-compositing-frame.html b/WebCore/manual-tests/compositing/caret-in-compositing-frame.html
new file mode 100644
index 0000000..703f3b2
--- /dev/null
+++ b/WebCore/manual-tests/compositing/caret-in-compositing-frame.html
@@ -0,0 +1,7 @@
+<style type="text/css" media="screen">
+    iframe {
+        border: 1px solid black;
+        width: 400px;
+    }
+</style>
+<iframe src="resources/editable-compositing-subframe.html" scrolling="no"></iframe>
diff --git a/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html b/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html
new file mode 100644
index 0000000..24b43e8
--- /dev/null
+++ b/WebCore/manual-tests/compositing/resources/editable-compositing-subframe.html
@@ -0,0 +1,9 @@
+<style type="text/css" media="screen">
+    #editable {
+        height: 100px;
+        -webkit-transform: translateZ(0px);
+    }
+</style>
+<div id="editable" contenteditable="true">
+The caret should blink correctly when editing this paragraph.
+</div>
diff --git a/WebCore/rendering/RenderView.cpp b/WebCore/rendering/RenderView.cpp
index 16bb6b3..90a7089 100644
--- a/WebCore/rendering/RenderView.cpp
+++ b/WebCore/rendering/RenderView.cpp
@@ -278,11 +278,6 @@ void RenderView::repaintRectangleInViewAndCompositedLayers(const IntRect& ur, bo
     repaintViewRectangle(ur, immediate);
     
 #if USE(ACCELERATED_COMPOSITING)
-    // If we're a frame, repaintViewRectangle will have repainted via a RenderObject in the
-    // parent document.
-    if (document()->ownerElement())
-        return;
-
     if (compositor()->inCompositingMode())
         compositor()->repaintCompositedLayersAbsoluteRect(ur);
 #endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list