-
mitz@apple.com authored
Reviewed by Dave Hyatt. - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame Test: fast/events/resize-subframe.html * page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when deferring tasks that need to be done after layout. (WebCore::FrameViewPrivate::reset): (WebCore::FrameView::~FrameView): (WebCore::FrameView::layout): Moved the updating of widget positions, loading plug-ins and sending events queued up during layout into performPostLayoutTasks(). performPostLayoutTasks() is called after layout unless the layout was triggered by a previous layout's post- layout tasks. In the latter case, performPostLayoutTasks() is scheduled to run later. (WebCore::FrameView::performPostLayoutTasks): Performs work that needs to be done after layout but which can result in arbitrary code execution and therefore may re-invalidate the layout. This includes updating widget positions, loading plug-ins, and dispatching layout- related DOM events (scroll, overflow and resize). (WebCore::FrameView::postLayoutTimerFired): (WebCore::FrameView::dispatchScheduledEvents): * page/FrameView.h: * page/mac/WebCoreFrameBridge.h: * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this is handled by FrameView now. WebKit/gtk: Reviewed by Dave Hyatt. - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame * WebView/webkitwebview.cpp: Remove the call to sendResizeEvent() since FrameView sends it now. WebKit/mac: Reviewed by Dave Hyatt. - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame * WebView/WebHTMLView.mm: (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code that checked if the view had resized and sent the resize event, since FrameView sends resize events now. * WebView/WebHTMLViewInternal.h: WebKit/win: Reviewed by Dave Hyatt. - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame * WebView.cpp: (WebViewWndProc): Removed call to sendResizeEvent() since FrameView sends them now. LayoutTests: Reviewed by Dave Hyatt. - test for <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame * fast/events/resize-subframe-expected.txt: Added. * fast/events/resize-subframe.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28371 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fe1e11ac