[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:07:53 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 5146de812f4bf3b2a74b4dd2279dd86c1be3771e
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 31 00:11:44 2003 +0000

    	Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.
    
            Reviewed by kocienda
    
            * khtml/rendering/render_block.cpp:
            (khtml::RenderBlock::paintObject):
            (khtml::RenderBlock::paintFloats):
            * khtml/rendering/render_image.cpp:
            (RenderImage::paintObject):
            * khtml/rendering/render_inline.cpp:
            (RenderInline::paintObject):
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::paintLayer):
            * khtml/rendering/render_object.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 07503fd..bd82b35 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2003-10-30  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.
+	
+        Reviewed by kocienda
+
+        * khtml/rendering/render_block.cpp:
+        (khtml::RenderBlock::paintObject):
+        (khtml::RenderBlock::paintFloats):
+        * khtml/rendering/render_image.cpp:
+        (RenderImage::paintObject):
+        * khtml/rendering/render_inline.cpp:
+        (RenderInline::paintObject):
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::paintLayer):
+        * khtml/rendering/render_object.h:
+
 2003-10-30  Maciej Stachowiak  <mjs at apple.com>
 
 	Fixed Dave's fix to my fix to my fix:
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index 07542f2..ec26d55 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -1213,7 +1213,7 @@ void RenderBlock::paintObject(QPainter *p, int _x, int _y,
         paintFloats(p, _x, _y, _w, _h, scrolledX, scrolledY, paintAction == PaintActionSelection);
 
     // 4. paint outline.
-    if (!inlineFlow && paintAction == PaintActionForeground && 
+    if (!inlineFlow && paintAction == PaintActionOutline && 
         style()->outlineWidth() && style()->visibility() == VISIBLE)
         paintOutline(p, _tx, _ty, width(), height(), style());
 
@@ -1263,6 +1263,10 @@ void RenderBlock::paintFloats(QPainter *p, int _x, int _y,
                                _tx + r->left - r->node->xPos() + r->node->marginLeft(),
                                _ty + r->startY - r->node->yPos() + r->node->marginTop(),
                                PaintActionForeground);
+                r->node->paint(p, _x, _y, _w, _h,
+                               _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+                               _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+                               PaintActionOutline);
             }
         }
     }
diff --git a/WebCore/khtml/rendering/render_image.cpp b/WebCore/khtml/rendering/render_image.cpp
index 067873d..28c5a4f 100644
--- a/WebCore/khtml/rendering/render_image.cpp
+++ b/WebCore/khtml/rendering/render_image.cpp
@@ -194,6 +194,9 @@ void RenderImage::setPixmap( const QPixmap &p, const QRect& r, CachedImage *o)
 
 void RenderImage::paintObject(QPainter *p, int /*_x*/, int /*_y*/, int /*_w*/, int /*_h*/, int _tx, int _ty, PaintAction paintAction)
 {
+    if (paintAction == PaintActionOutline && style()->outlineWidth() && style()->visibility() == VISIBLE)
+        paintOutline(p, _tx, _ty, width(), height(), style());
+    
     if (paintAction != PaintActionForeground)
         return;
         
@@ -350,8 +353,6 @@ void RenderImage::paintObject(QPainter *p, int /*_x*/, int /*_y*/, int /*_w*/, i
 
         }
     }
-    if(style()->outlineWidth() && style()->visibility() == VISIBLE)
-        paintOutline(p, _tx, _ty, width(), height(), style());
 }
 
 void RenderImage::layout()
diff --git a/WebCore/khtml/rendering/render_inline.cpp b/WebCore/khtml/rendering/render_inline.cpp
index dae3f5b..2984fbd 100644
--- a/WebCore/khtml/rendering/render_inline.cpp
+++ b/WebCore/khtml/rendering/render_inline.cpp
@@ -294,7 +294,7 @@ void RenderInline::paintObject(QPainter *p, int _x, int _y,
     }
 
     paintLineBoxDecorations(p, _x, _y, _w, _h, _tx, _ty, paintAction);
-    if (style()->visibility() == VISIBLE && paintAction == PaintActionForeground) {
+    if (style()->visibility() == VISIBLE && paintAction == PaintActionOutline) {
         QRect r(_x, _y, _w, _h);
         paintOutline(p, _tx, _ty, r, r, r);
     }
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 19bdb9c..32070f4 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -794,6 +794,9 @@ RenderLayer::paintLayer(RenderLayer* rootLayer, QPainter *p,
             renderer()->paint(p, clipRectToApply.x(), clipRectToApply.y(),
                               clipRectToApply.width(), clipRectToApply.height(),
                               x - renderer()->xPos(), y - renderer()->yPos(), PaintActionForeground);
+            renderer()->paint(p, clipRectToApply.x(), clipRectToApply.y(),
+                              clipRectToApply.width(), clipRectToApply.height(),
+                              x - renderer()->xPos(), y - renderer()->yPos(), PaintActionOutline);
         }
 
         // Now restore our clip.
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 1a0a00e..ebfbfa5 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -71,6 +71,7 @@ typedef enum {
     PaintActionChildBackgrounds,
     PaintActionFloat,
     PaintActionForeground,
+    PaintActionOutline,
     PaintActionSelection,
     PaintActionCollapsedTableBorders
 } PaintAction;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list