Reviewed by Eric.
authorrwlbuis <rwlbuis@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Aug 2006 20:20:38 +0000 (20:20 +0000)
committerrwlbuis <rwlbuis@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Aug 2006 20:20:38 +0000 (20:20 +0000)
        http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
        pointer-events has issues when things are not stroked/filled

        Add a param to fillContains/strokeContains to indicate
        whether we still want hit testing when there is no fill/stroke.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/svg/custom/pointer-events-path-expected.checksum
LayoutTests/svg/custom/pointer-events-path-expected.png
LayoutTests/svg/custom/pointer-events-path-expected.txt
WebCore/ChangeLog
WebCore/kcanvas/RenderPath.cpp
WebCore/kcanvas/RenderPath.h
WebCore/kcanvas/device/quartz/KCanvasItemQuartz.h
WebCore/kcanvas/device/quartz/KCanvasItemQuartz.mm

index 412149e892b688b1c3eaa25de534a0315274bc4a..dfab2d73922bbb18182554eea9ad9464119ae3de 100644 (file)
@@ -1,3 +1,15 @@
+2006-08-30  Rob Buis  <buis@kde.org>
+
+        Reviewed by Eric.
+
+        Changed test results because of:
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
+        pointer-events has issues when things are not stroked/filled
+
+        * svg/custom/pointer-events-path-expected.checksum:
+        * svg/custom/pointer-events-path-expected.png:
+        * svg/custom/pointer-events-path-expected.txt:
+
 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by harrison
index 3a8c0b464b844b2c6522bafba970e090eb5a5d18..e1f21e03d3d5d05cbb8c6a3fa8b6e281c3618805 100644 (file)
@@ -1 +1 @@
-7f45327d19a6b416dc13d65e96ac18aa
\ No newline at end of file
+1dd8e054c49d7bc97e8d0bac37929aca
\ No newline at end of file
index f66f1b75628bca5fa98273a2db5f65196391cd7a..262d89aa8767744e1a2c897a46f829d6bc4b3fff 100644 (file)
Binary files a/LayoutTests/svg/custom/pointer-events-path-expected.png and b/LayoutTests/svg/custom/pointer-events-path-expected.png differ
index c172e35d5f1a3e069f5ebe372bc287643691b6fa..14438f16c5d611215ecb5232dd5a19fb66479b4c 100644 (file)
@@ -23,10 +23,6 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > sv
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
@@ -35,6 +31,14 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
@@ -44,20 +48,22 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > sv
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
@@ -68,9 +74,13 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > sv
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
@@ -116,12 +126,9 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
@@ -129,12 +136,23 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
@@ -144,31 +162,30 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
@@ -181,14 +198,23 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > text > svg > #document to 0 of text > svg > #document toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of #text > text > g > svg > #document to 0 of text > g > svg > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
@@ -303,18 +329,18 @@ layer at (0,0) size 800x600
             text run at (0,0) width 62: "visibleFill"
         KCanvasItem {rect} at (100,157) size 50x50 [data="M100.00,157.00L150.00,157.00L150.00,207.00L100.00,207.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,154) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,157.00L207.00,157.00L207.00,207.00L157.00,207.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (214,157) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M214.00,157.00L264.00,157.00L264.00,207.00L214.00,207.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -362,11 +388,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 82: "visibleStroke"
         KCanvasItem {rect} at (100,214) size 50x50 [data="M100.00,214.00L150.00,214.00L150.00,264.00L100.00,264.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,211) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,214.00L207.00,214.00L207.00,264.00L157.00,264.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -376,11 +402,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (214,214) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M214.00,214.00L264.00,214.00L264.00,264.00L214.00,264.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (268,211) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [fill={[type=SOLID] [color=#FFA500]}] [data="M271.00,214.00L321.00,214.00L321.00,264.00L271.00,264.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -421,11 +447,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 41: "visible"
         KCanvasItem {rect} at (100,271) size 50x50 [data="M100.00,271.00L150.00,271.00L150.00,321.00L100.00,321.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,268) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,271.00L207.00,271.00L207.00,321.00L157.00,321.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -539,18 +565,18 @@ layer at (0,0) size 800x600
             text run at (0,0) width 17: "fill"
         KCanvasItem {rect} at (100,385) size 50x50 [data="M100.00,385.00L150.00,385.00L150.00,435.00L100.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,382) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,385.00L207.00,385.00L207.00,435.00L157.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (214,385) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M214.00,385.00L264.00,385.00L264.00,435.00L214.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -567,18 +593,18 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (328,385) size 50x50 [data="M328.00,385.00L378.00,385.00L378.00,435.00L328.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (382,382) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M385.00,385.00L435.00,385.00L435.00,435.00L385.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (442,385) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M442.00,385.00L492.00,385.00L492.00,435.00L442.00,435.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -598,11 +624,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 38: "stroke"
         KCanvasItem {rect} at (100,442) size 50x50 [data="M100.00,442.00L150.00,442.00L150.00,492.00L100.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,439) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,442.00L207.00,442.00L207.00,492.00L157.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -612,11 +638,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (214,442) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M214.00,442.00L264.00,442.00L264.00,492.00L214.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (268,439) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [fill={[type=SOLID] [color=#FFA500]}] [data="M271.00,442.00L321.00,442.00L321.00,492.00L271.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -626,11 +652,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (328,442) size 50x50 [data="M328.00,442.00L378.00,442.00L378.00,492.00L328.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (382,439) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M385.00,442.00L435.00,442.00L435.00,492.00L385.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -640,11 +666,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (442,442) size 50x50 [fill={[type=SOLID] [color=#FFA500]}] [data="M442.00,442.00L492.00,442.00L492.00,492.00L442.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (496,439) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [fill={[type=SOLID] [color=#FFA500]}] [data="M499.00,442.00L549.00,442.00L549.00,492.00L499.00,492.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -657,11 +683,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 15: "all"
         KCanvasItem {rect} at (100,499) size 50x50 [data="M100.00,499.00L150.00,499.00L150.00,549.00L100.00,549.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (154,496) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M157.00,499.00L207.00,499.00L207.00,549.00L157.00,549.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
@@ -685,11 +711,11 @@ layer at (0,0) size 800x600
             text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (328,499) size 50x50 [data="M328.00,499.00L378.00,499.00L378.00,549.00L328.00,549.00"]
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         RenderSVGText {text} at (0,0) size 800x18
-          RenderText {#text} at (0,0) size 28x18
-            text run at (0,0) width 28: "miss"
+          RenderText {#text} at (0,0) size 27x18
+            text run at (0,0) width 27: "HIT"
         KCanvasItem {rect} at (382,496) size 56x56 [stroke={[type=SOLID] [color=#0000FF] [stroke width=6.00]}] [data="M385.00,499.00L435.00,499.00L435.00,549.00L385.00,549.00"]
         RenderSVGText {text} at (0,0) size 800x18
           RenderText {#text} at (0,0) size 27x18
index da2997f6c66a631e628e65b49c913e715b2b37a4..f16d718c67005839bbd993fe7cd77b15dbb4734d 100644 (file)
@@ -1,3 +1,21 @@
+2006-08-30  Rob Buis  <buis@kde.org>
+
+        Reviewed by Eric.
+
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
+        pointer-events has issues when things are not stroked/filled
+
+        Add a param to fillContains/strokeContains to indicate
+        whether we still want hit testing when there is no fill/stroke.
+
+        * kcanvas/RenderPath.cpp:
+        (WebCore::RenderPath::fillContains):
+        (WebCore::RenderPath::nodeAtPoint):
+        * kcanvas/RenderPath.h:
+        * kcanvas/device/quartz/KCanvasItemQuartz.h:
+        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
+        (WebCore::KCanvasItemQuartz::strokeContains):
+
 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by harrison
index 946db93a9bef80f0fc771b19ac92798c10b7ce74..89454dbfec72d656434db728683bbc51516fbc90 100644 (file)
@@ -78,12 +78,12 @@ FloatPoint RenderPath::mapAbsolutePointToLocal(const FloatPoint& point) const
     return FloatPoint(localX, localY);
 }
 
-bool RenderPath::fillContains(const FloatPoint& point) const
+bool RenderPath::fillContains(const FloatPoint& point, bool requiresFill) const
 {
     if (d->path.isEmpty())
         return false;
 
-    if (!KSVGPainterFactory::fillPaintServer(style(), this))
+    if (requiresFill && !KSVGPainterFactory::fillPaintServer(style(), this))
         return false;
 
     return path().contains(mapAbsolutePointToLocal(point),
@@ -303,8 +303,8 @@ bool RenderPath::nodeAtPoint(NodeInfo& info, int _x, int _y, int _tx, int _ty, H
         bool hasFill = (style()->svgStyle()->fillPaint() && style()->svgStyle()->fillPaint()->paintType() != SVG_PAINTTYPE_NONE);
         bool hasStroke = (style()->svgStyle()->strokePaint() && style()->svgStyle()->strokePaint()->paintType() != SVG_PAINTTYPE_NONE);
         FloatPoint hitPoint(_x,_y);
-        if ((hitRules.canHitStroke && (hasStroke || !hitRules.requireStroke) && strokeContains(hitPoint))
-            || (hitRules.canHitFill && (hasFill || !hitRules.requireFill) && fillContains(hitPoint))) {
+        if ((hitRules.canHitStroke && (hasStroke || !hitRules.requireStroke) && strokeContains(hitPoint, hitRules.requireStroke))
+            || (hitRules.canHitFill && (hasFill || !hitRules.requireFill) && fillContains(hitPoint, hitRules.requireFill))) {
             setInnerNode(info);
             return true;
         }
index d86f59680beccc7883fc3da65d4c3bf4024280ea..b864aca72009150d5d33655883d7496526d45450 100644 (file)
@@ -46,8 +46,8 @@ public:
     virtual ~RenderPath();
 
     // Hit-detection seperated for the fill and the stroke
-    virtual bool fillContains(const FloatPoint &p) const;
-    virtual bool strokeContains(const FloatPoint &p) const = 0;
+    virtual bool fillContains(const FloatPoint &p, bool = true) const;
+    virtual bool strokeContains(const FloatPoint &p, bool = true) const = 0;
 
     // Returns an unscaled bounding box (not even including localTransform()) for this vector path
     virtual FloatRect relativeBBox(bool includeStroke = true) const;
index 00989cd56428b58676f9f12e3179de1e2f7ca3aa..a570063a5e4ce7a25b06f9542c55c49510f58c6b 100644 (file)
@@ -37,7 +37,7 @@ public:
     KCanvasItemQuartz(RenderStyle*, SVGStyledElement*);
     virtual ~KCanvasItemQuartz() { }
     
-    virtual bool strokeContains(const FloatPoint& point) const;
+    virtual bool strokeContains(const FloatPoint& point, bool = true) const;
     virtual void drawMarkersIfNeeded(GraphicsContext*, const FloatRect&, const Path&) const;
     virtual FloatRect strokeBBox() const;
 };
index 3a1588f687a1972c1db9519b012387e65ff788ed..34003507915ae8319ab3e9b836108acec397c5ca 100644 (file)
@@ -197,12 +197,12 @@ FloatRect KCanvasItemQuartz::strokeBBox() const
 }
 
 
-bool KCanvasItemQuartz::strokeContains(const FloatPoint& point) const
+bool KCanvasItemQuartz::strokeContains(const FloatPoint& point, bool requiresStroke) const
 {
     if (path().isEmpty())
         return false;
 
-    if (!KSVGPainterFactory::strokePaintServer(style(), this))
+    if (requiresStroke && !KSVGPainterFactory::strokePaintServer(style(), this))
         return false;
 
     CGMutablePathRef cgPath = path().platformPath();