Bug 11880

Summary: REGRESSION (r18304): Assertion failure in -[WebHTMLView _canProcessDragWithDraggingInfo:] when dragging over the window's a scroll bar (innerFrame)
Product: WebKit Reporter: mitz
Component: FramesAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren
Priority: P1 Keywords: Regression
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
URL: data:text/html,%3Cbody%20style=%22height:%203000px;%22%3E%3Cimg%20src=%22http://webkit.org/images/icon-gold.png%22%3E
Attachments:
Description Flags
fix w/changelog
none
fix w/changelog darin: review+

Description mitz 2006-12-19 12:25:52 PST
To reproduce: with a debug build of TOT, open the URL and drag the image outside of the window.

ASSERTION FAILED: innerFrame
(WebKit/WebView/WebHTMLView.m:5937 -[WebHTMLView(WebDocumentInternalProtocols) _canProcessDragWithDraggingInfo:])

Doesn't happen if the window doesn't have a scrollbar.
Comment 1 mitz 2006-12-19 12:31:09 PST
You actually need to move the mouse pointer over the scrollbar to hit the assert.
Comment 2 mitz 2006-12-19 12:43:40 PST
This is a regression from the fix for bug 8137. Specifically, EventHandler::hitTestResultAtPoint() sets the 'active' flag in the request but not the 'capturing' flag, and because of the following change in layer hit testing, it gets a null result instead of getting the document:

-    if (request.active && renderer()->isRenderView()) {
+    if (request.capturing && renderer()->isRenderView()) {

Comment 3 Geoffrey Garen 2006-12-19 15:20:53 PST
Created attachment 11923 [details]
fix w/changelog
Comment 4 Darin Adler 2006-12-19 15:23:13 PST
Comment on attachment 11923 [details]
fix w/changelog

+    if (request.active || request.mouseUp && renderer()->isRenderView()) {

I think you need parentheses here around the (active || mouseUp) part.
Comment 5 Geoffrey Garen 2006-12-19 15:32:28 PST
Created attachment 11924 [details]
fix w/changelog

doh!
Comment 6 Darin Adler 2006-12-19 15:37:29 PST
Comment on attachment 11924 [details]
fix w/changelog

A little subtle, but seems good for now. r=me
Comment 7 Geoffrey Garen 2006-12-19 15:53:58 PST
r18327.