Bug 6240
Summary: | REGRESSION: scrollbars in overflows don't work | ||
---|---|---|---|
Product: | WebKit | Reporter: | mitz |
Component: | New Bugs | Assignee: | Darin Adler <darin> |
Status: | VERIFIED FIXED | ||
Severity: | Normal | CC: | darin |
Priority: | P1 | ||
Version: | 420+ | ||
Hardware: | Mac | ||
OS: | OS X 10.4 |
mitz
Scrollbars in overflows don't respond at all. See for example attachment 4800 [details].
The regression happened sometime in these 18 minutes:
WebKit-CVS-2005-12-23 21-57-59 GMT.dmg - scrollbars work
WebKit-CVS-2005-12-23 22-16-19 GMT.dmg - scrollbars don't work
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
mitz
Looks like a regression from the changes to position computations in dom2_eventsimpl.cpp in the patch
for bug 6177.
mitz
- docRenderer->layer()->hitTest(hitTestResult, m_pageX, m_pageY);
+ docRenderer->layer()->hitTest(hitTestResult, m_clientX, m_clientY);
seems to do the trick, but I don't understand all those coordinate systems.
mitz
(And just to explain how this affected scrollbars: hit-testing the wrong point at the wrong time clears the
RenderLayer::gScrollBar global).
mitz
On an unrelated note, the use of viewportToContents in MouseRelatedEventImpl::computePositions seems
ood. It looks to me like m_clientX and m_clientY are already the result of applying viewportToContents to
view coordinates in e.g. NodeImpl::dispatchMouseEvent(QMouseEvent *_mouse, const AtomicString
&overrideType, int overrideDetail).
Darin Adler
You're right about that viewportToContents call being wrong. That was part of a bigger patch that should
not have been landed in this broken form.
Darin Adler
The real issue here is that the current code can't handle clientX, clientY, pageX, and pageY without
changes that are outside the event class.
So the right thing to do here is to patch to restore the old (albeit broken) behavior. And file a new bug
about clientX and clientY being wrong.
Darin Adler
<rdar://problem/4392772> REGRESSION (420+): Can't use scroll bar on DIV element that has been
assigned (overflow: auto) (6240)
Joost de Valk (AlthA)
Removing keyword(s) since bug is fixed.
Joost de Valk (AlthA)
Removing keyword(s) since bug is fixed.
Eric Seidel (no email)
Removing Regression keyword from bugs already fixed.