[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:20:54 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit fc1acc4e2775ef6daa4b2fcc37bc3a54e7ed0201
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 22 02:51:07 2003 +0000

    	Fix nodeAtPoint to return text nodes if the mouse is over them.
    	Make :active fully hierarchical so that e.g., <a><b>Foo</b></a>
    	gets an outline when clicked.
    
            Reviewed by ???
    
            * khtml/rendering/render_object.cpp:
            (RenderObject::setHoverAndActive):
            * khtml/rendering/render_text.cpp:
            (RenderText::nodeAtPoint):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index cbf7a34..18eecdf 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,18 @@
 2003-01-21  David Hyatt  <hyatt at apple.com>
 
+	Fix nodeAtPoint to return text nodes if the mouse is over them.
+	Make :active fully hierarchical so that e.g., <a><b>Foo</b></a>
+	gets an outline when clicked.
+	
+        Reviewed by ???
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::setHoverAndActive):
+        * khtml/rendering/render_text.cpp:
+        (RenderText::nodeAtPoint):
+
+2003-01-21  David Hyatt  <hyatt at apple.com>
+
 	Fix for regressions on layout-tests caused by new table code.
 	Make sure cell's padding is used and not just the table's cellpadding.
 
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index cbf7a34..18eecdf 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,18 @@
 2003-01-21  David Hyatt  <hyatt at apple.com>
 
+	Fix nodeAtPoint to return text nodes if the mouse is over them.
+	Make :active fully hierarchical so that e.g., <a><b>Foo</b></a>
+	gets an outline when clicked.
+	
+        Reviewed by ???
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::setHoverAndActive):
+        * khtml/rendering/render_text.cpp:
+        (RenderText::nodeAtPoint):
+
+2003-01-21  David Hyatt  <hyatt at apple.com>
+
 	Fix for regressions on layout-tests caused by new table code.
 	Make sure cell's padding is used and not just the table's cellpadding.
 
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index d962860..4885eba 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -1141,8 +1141,8 @@ void RenderObject::setHoverAndActive(NodeInfo& info, bool oldinside, bool inside
     DOM::NodeImpl* elt = element();
     if (elt) {
         bool oldactive = elt->active();
-        if (oldactive != (inside && info.active() && elt == info.innerNode()))
-            elt->setActive(inside && info.active() && elt == info.innerNode());
+        if (oldactive != (inside && info.active()))
+            elt->setActive(inside && info.active());
         if ((oldinside != mouseInside() && style()->affectedByHoverRules()) ||
             (oldactive != elt->active() && style()->affectedByActiveRules()))
             elt->setChanged();
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index c976e5e..583bc5b 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -436,7 +436,7 @@ TextSlave * RenderText::findTextSlave( int offset, int &pos )
     return s;
 }
 
-bool RenderText::nodeAtPoint(NodeInfo& /*info*/, int _x, int _y, int _tx, int _ty, bool inside)
+bool RenderText::nodeAtPoint(NodeInfo& info, int _x, int _y, int _tx, int _ty, bool inside)
 {
     assert(parent());
 
@@ -460,6 +460,24 @@ bool RenderText::nodeAtPoint(NodeInfo& /*info*/, int _x, int _y, int _tx, int _t
 
     setMouseInside(inside);
 
+    if (inside) {
+        if (info.innerNode() && info.innerNode()->renderer() && 
+            !info.innerNode()->renderer()->isInline()) {
+            // Within the same layer, inlines are ALWAYS fully above blocks.  Change inner node.
+            info.setInnerNode(element());
+            
+            // Clear everything else.
+            info.setInnerNonSharedNode(0);
+            info.setURLElement(0);
+        }
+        
+        if (!info.innerNode())
+            info.setInnerNode(element());
+
+        if(!info.innerNonSharedNode())
+            info.setInnerNonSharedNode(element());
+    }
+
     return inside;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list