WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
VERIFIED DUPLICATE of
bug 8707
Bug 8128
event.clientY is improperly implemented
https://bugs.webkit.org/show_bug.cgi?id=8128
Summary
event.clientY is improperly implemented
Gérard Talbot (no longer involved)
Reported
2006-04-01 18:11:59 PST
After a few email exchanges with Beau Hartshorne, author of the article JavaScript Events January 18, 2006
http://hartshorne.ca/2006/01/18/javascript_events/
on event properties and browser support and after checking myself in an Internet Cafe with Safari 2.02 (416.13) this page
http://www.gtalbot.org/Shieldhost/DHTMLSection/WindowEventsNS6.html
I am convinced that Safari incorrectly implements event.clientX and event.clientY Expected results: event.pageY = event.clientY + [amount scrolled down from top of page] or, in Safari, event.pageY = event.clientY + document.body.scrollTop or event.pageY = event.clientY + window.pageYOffset or event.pageY = event.clientY + window.scrollY DOM 2 Events defines these event.clientX and clientY as related to the client area, not related to whole document width or to whole document height. event.clientX : "The horizontal coordinate at which the event occurred relative to the DOM implementation's client area."
http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-MouseEvent-clientX
event.clientY: "The vertical coordinate at which the event occurred relative to the DOM implementation's client area."
http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-MouseEvent-clientY
Right now, there is also an unanimity of implementing event.clientX and event.clientY in Opera 7+, Mozilla 1.x, Seamonkey 1.x, Firefox 1.x and MSIE 6. Only Safari 2.x seems to take the x/y-coordinate of the (whole) document as the event.clientX/Y instead of the x/y-coordinate of the viewing area. This bug is important to fix so that DHTML applications (relying on measurement, coordinating, positioning, etc.) can work reliably across browsers. Peter-Paul Koch, at this precise url
http://www.quirksmode.org/dom/w3c_events.html#mousepos
also confirms the erroneous implementation of event.clientX/clientY in Safari: "Safari gives the mouse coordinates relative to the document which it also gives in pageX/Y." I set version to 420+ since Beau Hartshorne data indicate that the incorrect implementation still exists in 417 / 420 . I have searched for duplicates and did not find any. I set Component to JavaScript even though this bug is not a javascript engine bug; there does not seem to be any better component.
Attachments
Add attachment
proposed patch, testcase, etc.
Gérard Talbot (no longer involved)
Comment 1
2006-04-01 18:21:35 PST
It's possible that
bug 6574
involves the improper implementation of event.clientY; the DHTML code (which uses a not-so-reliable browser detect code) may fork Safari into a code branch where event.clientY is used/queried.
David Kilzer (:ddkilzer)
Comment 2
2006-04-04 14:11:56 PDT
This is a known issue in Safari, confirming. Thanks for all the great analysis, Gérard!
David Kilzer (:ddkilzer)
Comment 3
2006-06-21 03:55:40 PDT
(In reply to
comment #0
)
>
http://www.gtalbot.org/Shieldhost/DHTMLSection/WindowEventsNS6.html
This is now:
http://www.gtalbot.org/DHTMLSection/WindowEventsNS6.html
See also
Bug 8707
.
Gérard Talbot (no longer involved)
Comment 4
2006-06-21 07:16:24 PDT
> This is now: >
http://www.gtalbot.org/DHTMLSection/WindowEventsNS6.html
Thanks for the correction.
> See also
Bug 8707
.
In my opinion,
bug 8707
is exactly the same as
bug 8128
.
David Kilzer (:ddkilzer)
Comment 5
2006-06-24 03:22:18 PDT
(In reply to
comment #4
)
> In my opinion,
bug 8707
is exactly the same as
bug 8128
.
Marking this bug as a duplicate of
Bug 8707
per reporter's comment, and since patches are being supplied to that bug. *** This bug has been marked as a duplicate of
8707
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug