[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 07:11:45 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e6a592fc28e1f37333fb985dfb9eced83c64ef01
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 5 08:31:41 2002 +0000

    	Fix for wsj.com orange underline regression.  In quirks mode
    	only, don't let anchors without hrefs go into :hover.  This
    	matches MacIE's behavior.
    
    	The bug is 3118643.
    
            Reviewed by: mjs
    
            * khtml/rendering/render_object.cpp:
            (RenderObject::setHoverAndActive):
            (RenderObject::nodeAtPoint):
            * khtml/rendering/render_object.h:
            * khtml/rendering/render_text.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2943 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index ce2945b..bc9ed69 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,19 @@
+2002-12-05  David Hyatt  <hyatt at apple.com>
+
+	Fix for wsj.com orange underline regression.  In quirks mode
+	only, don't let anchors without hrefs go into :hover.  This
+	matches MacIE's behavior.
+
+	The bug is 3118643.
+	
+        Reviewed by: mjs
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::setHoverAndActive):
+        (RenderObject::nodeAtPoint):
+        * khtml/rendering/render_object.h:
+        * khtml/rendering/render_text.h:
+
 2002-12-04  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by: David Hyatt
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index ce2945b..bc9ed69 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2002-12-05  David Hyatt  <hyatt at apple.com>
+
+	Fix for wsj.com orange underline regression.  In quirks mode
+	only, don't let anchors without hrefs go into :hover.  This
+	matches MacIE's behavior.
+
+	The bug is 3118643.
+	
+        Reviewed by: mjs
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::setHoverAndActive):
+        (RenderObject::nodeAtPoint):
+        * khtml/rendering/render_object.h:
+        * khtml/rendering/render_text.h:
+
 2002-12-04  Maciej Stachowiak  <mjs at apple.com>
 
         Reviewed by: David Hyatt
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index aa34edb..22dd588 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -976,6 +976,22 @@ bool RenderObject::mouseInside() const
     return m_mouseInside; 
 }
 
+void RenderObject::setHoverAndActive(NodeInfo& info, bool oldinside, bool inside)
+{
+    DOM::NodeImpl* elt = element();
+    if (elt) {
+        bool strictMode = (elt->getDocument()->parseMode() == DocumentImpl::Strict);
+        if (strictMode || elt->id() != ID_A || elt->hasAnchor()) {
+            bool oldactive = elt->active();
+            if (oldactive != (inside && info.active() && elt == info.innerNode()))
+                elt->setActive(inside && info.active() && elt == info.innerNode());
+            if ( ((oldinside != mouseInside()) && style()->hasHover()) ||
+                ((oldactive != elt->active()) && style()->hasActive()))
+                elt->setChanged();
+        }
+    }
+}
+
 bool RenderObject::nodeAtPoint(NodeInfo& info, int _x, int _y, int _tx, int _ty, bool inside)
 {
     int tx = _tx + xPos();
@@ -1015,16 +1031,10 @@ bool RenderObject::nodeAtPoint(NodeInfo& info, int _x, int _y, int _tx, int _ty,
         // lets see if we need a new style
         bool oldinside = mouseInside();
         setMouseInside(inside);
-        DOM::NodeImpl* elt = (!isInline() && continuation()) ? continuation()->element() : element();
-        RenderObject* obj = (!isInline() && continuation()) ? continuation() : this;
-        if (elt) {
-            bool oldactive = elt->active();
-            if (oldactive != (inside && info.active() && elt == info.innerNode()))
-                elt->setActive(inside && info.active() && elt == info.innerNode());
-            if ( ((oldinside != mouseInside()) && obj->style()->hasHover()) ||
-                 ((oldactive != elt->active()) && obj->style()->hasActive()))
-                elt->setChanged();
-        }
+        
+        setHoverAndActive(info, oldinside, inside);
+        if (!isInline() && continuation())
+            continuation()->setHoverAndActive(info, oldinside, inside);
     }
 
     return inside;
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 68c49f1..2c8f61e 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -342,7 +342,8 @@ public:
     virtual FindSelectionResult checkSelectionPoint( int _x, int _y, int _tx, int _ty,
                                                      DOM::NodeImpl*&, int & offset );
     virtual bool nodeAtPoint(NodeInfo& info, int x, int y, int tx, int ty, bool inside=false);
-
+    void setHoverAndActive(NodeInfo& info, bool oldinside, bool inside);
+    
     // set the style of the object.
     virtual void setStyle(RenderStyle *style);
 
diff --git a/WebCore/khtml/rendering/render_text.h b/WebCore/khtml/rendering/render_text.h
index 5dbc8e3..70d34f6 100644
--- a/WebCore/khtml/rendering/render_text.h
+++ b/WebCore/khtml/rendering/render_text.h
@@ -146,7 +146,7 @@ public:
 
     virtual void layout() {assert(false);}
 
-    virtual bool nodeAtPoint(NodeInfo& info, int x, int y, int tx, int ty, bool inside);
+    virtual bool nodeAtPoint(NodeInfo& info, int x, int y, int tx, int ty, bool inside = false);
 
     // Return before, after (offset set to max), or inside the text, at @p offset
     virtual FindSelectionResult checkSelectionPoint( int _x, int _y, int _tx, int _ty,

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list