Summary: | REGRESSION: scrolling on Google maps continues after the mouse is released outside the window | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alexey Proskuryakov <ap> | ||||
Component: | DOM | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | alice.barraclough, cdumez, darin, mitz | ||||
Priority: | P1 | Keywords: | InRadar, Regression | ||||
Version: | 420+ | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.4 | ||||||
URL: | http://maps.google.com | ||||||
Attachments: |
|
Description
Alexey Proskuryakov
2005-12-03 03:49:55 PST
Adding Regression keyword. I'm guessing that either a mouseup or mouseout event is not being delivered that's supposed to be. According to my reading of the DOM specification, the mouseup event goes to whatever element you're over when the mouse goes up. So what if you're not over any element at all (outside the window)? (In reply to comment #4) > I'm guessing that either a mouseup or mouseout event is not being delivered > that's supposed to be. According to my reading of the DOM specification, the > mouseup event goes to whatever element you're over when the mouse goes up. So > what if you're not over any element at all (outside the window)? > The bug could be on a lower level, if it is related to another thing I observed when leaving the window during a drag operation: if you start dragging the separator between two frames and leave the window, the separator stops following the mouse, and remains active even if you release the mouse button. If you return to the window, it starts tracking the mouse again, even if the button is up. Yes, here, too, the problem show already when the mouse leaves the window and the map stops following it. In shipping Safari, the map keeps moving even when the mouse is outside the window for as long as the button is pressed. I tracked this bug down to this change, from r11105 (Fix hit testing of relative positioned inline flows inside clipped overflow blocks so that they aren't mistakenly included in hit testing): bool RenderLayer::containsPoint(int x, int y, const QRect& damageRect) const { - return mustExamineRenderer(renderer()) || damageRect.contains(x, y); + return damageRect.contains(x, y); } Undoing this change alone fixes the regression (and the frame-resize separator issue too). Created attachment 6987 [details]
Patch
Comment on attachment 6987 [details]
Patch
r=me
Mass moving XML DOM bugs to the "DOM" Component. |