WebCore:
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: https://svn.webkit.org/repository/webkit/trunk@28371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc