Bug 11419 - REGRESSION (r17299): Assertion failure in -[WebHTMLView(WebPrivate) _topHTMLView] ([view isKindOfClass:[WebHTMLView class]]) when running the layout tests
Summary: REGRESSION (r17299): Assertion failure in -[WebHTMLView(WebPrivate) _topHTMLV...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL:
Keywords: Regression
Depends on:
Blocks:
 
Reported: 2006-10-26 01:24 PDT by mitz
Modified: 2006-10-26 17:26 PDT (History)
3 users (show)

See Also:


Attachments
patch (1.58 KB, patch)
2006-10-26 15:07 PDT, Sam Weinig
ggaren: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mitz 2006-10-26 01:24:23 PDT
run-webkit-tests editing/selection/fake-drag.html editing/selection/paragraph-granularity.htmlresults is the above assertion failure.

Backtrace:
0   com.apple.WebKit         	0x0105ab14 -[WebHTMLView(WebPrivate) _topHTMLView] + 320 (WebHTMLView.m:946)
1   com.apple.WebKit         	0x0105ab70 -[WebHTMLView(WebPrivate) _isTopHTMLView] + 60 (WebHTMLView.m:952)
2   com.apple.WebKit         	0x01074324 -[WebHTMLView(WebDocumentInternalProtocols) draggingCancelledWithDraggingInfo:] + 64 (WebHTMLView.m:5952)
3   com.apple.WebKit         	0x0109cf74 -[WebView _delegateDragOperationForDraggingInfo:] + 216 (WebView.mm:2338)
4   com.apple.WebKit         	0x0109d2f8 -[WebView draggingUpdated:] + 68 (WebView.mm:2379)
5   DumpRenderTree           	0x00005d60 -[EventSendingController mouseMoveToX:Y:] + 1160 (EventSendingController.m:221)

The problem is that EventSendingController calls WebView's draggingUpdated, passing nil. Down in _delegateDragOperationForDraggingInfo:, windowPoint is assigned garbage and newDraggingView gets assigned randomly (with either 0 or the WebView). As fras as I can tell, the regression is just the result of "different garbage" (I observed that windowPoint is different).

I think DumpRenderTree is at fault, as EventSendingController shouldn't call draggingUpdated if draggingInfo is 0 (nor draggedImage:movedTo:). Maybe WebView's behavior in this case can improve, by asserting and returning immediately from draggingUpdated if passed nil.
Comment 1 mitz 2006-10-26 01:26:26 PDT
The first sentence should say:run-webkit-tests editing/selection/fake-drag.html editing/selection/paragraph-granularity.html
results is the above assertion failure.
Comment 2 Sam Weinig 2006-10-26 15:07:04 PDT
Created attachment 11230 [details]
patch

Fix based on mitz's comments.
Comment 3 Geoffrey Garen 2006-10-26 15:32:17 PDT
Comment on attachment 11230 [details]
patch

r=me
Comment 4 mitz 2006-10-26 17:26:07 PDT
Landed by ggaren in r17347.