-
rdar://problem/8441312mitz@apple.com authored
Source/WebCore: WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree] Reviewed by Simon Fraser. * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(). * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates are disabled. When this assertion was added, this condition was a subset of the “calling out to plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this change now suspends widget hierarchy updates even at times where plug-in code is expected to be called, which invalidates the assertion. WebKit/mac: WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree] Reviewed by Simon Fraser. * WebView/WebHTMLView.mm: (-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures that the NSView tree doesn’t change from under AppKit as it traverses it. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
660edfe5