[Webkit-unassigned] [Bug 55209] Remove support for Node::willRemove()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 25 03:09:38 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=55209





--- Comment #3 from Eric Seidel <eric at webkit.org>  2011-02-25 03:09:38 PST ---
My first attempt to remove HTMLFrameOwnerElement::willRemove is attached.  It fails because detach() expects that frames will already be stopped/disconnected before detach.

If no, this happens:

ASSERTION FAILED: !eventDispatchForbidden()
/Projects/WebKit/Source/WebCore/dom/Node.cpp(2648) : bool WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>)
1   WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>)
2   WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>)
3   WebCore::Node::dispatchBlurEvent()
4   WebCore::Document::setFocusedNode(WTF::PassRefPtr<WebCore::Node>)
5   -[WebHTMLView clearFocus]
6   -[WebHTMLView resignFirstResponder]
7   -[NSWindow makeFirstResponder:]
8   WebCore::safeRemoveFromSuperview(NSView*)
9   WebCore::Widget::removeFromSuperview()
10  WebCore::ScrollView::platformRemoveChild(WebCore::Widget*)
11  WebCore::ScrollView::removeChild(WebCore::Widget*)
12  WebCore::RenderWidget::resumeWidgetHierarchyUpdates()
13  WebCore::Element::detach()
14  WebCore::ContainerNode::removeChildren()
15  WebCore::Document::implicitOpen()
16  WebCore::Document::open(WebCore::Document*)
17  WebCore::Document::write(WebCore::SegmentedString const&, WebCore::Document*)
18  WebCore::documentWrite(JSC::ExecState*, WebCore::HTMLDocument*, WebCore::NewlineRequirement)
19  WebCore::JSHTMLDocument::write(JSC::ExecState*)
20  WebCore::jsHTMLDocumentPrototypeFunctionWrite(JSC::ExecState*)
21  0x50e9f68001b8
22  JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
23  JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
24  JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
25  WebCore::JSMainThreadExecState::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
26  WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*)
27  WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul>&)
28  WebCore::EventTarget::fireEventListeners(WebCore::Event*)
29  WebCore::DOMWindow::dispatchEvent(WTF::PassRefPtr<WebCore::Event>, WTF::PassRefPtr<WebCore::EventTarget>)
30  WebCore::DOMWindow::dispatchTimedEvent(WTF::PassRefPtr<WebCore::Event>, WebCore::Document*, double*, double*)
31  WebCore::DOMWindow::dispatchLoadEvent()
Program received signal:  “EXC_BAD_ACCESS”.

Previously willRemove would have detached/disconnected the frame, so it wouldn't have a widget to talk to when the detach came.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list