LayoutTests:
authorddkilzer <ddkilzer@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Jan 2007 02:36:04 +0000 (02:36 +0000)
committerddkilzer <ddkilzer@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Jan 2007 02:36:04 +0000 (02:36 +0000)
commit8229b14917f6128ab0997668a265727f5ef4d3ee
tree9c34940fac32d89f4a493e5f99b41b77ccd8fe99
parente2458d64145d6d08a9362f70774ebb7a04d096f9
LayoutTests:

        Reviewed by Darin.  Patch by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=8360
          Repro crash when onscroll handler deletes the scrolled object

        * fast/layers/removed-by-scroll-handler-expected.checksum: Added.
        * fast/layers/removed-by-scroll-handler-expected.png: Added.
        * fast/layers/removed-by-scroll-handler-expected.txt: Added.
        * fast/layers/removed-by-scroll-handler.html: Added.

WebCore:

        Reviewed by Darin.  Patch by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8360
          Repro crash when onscroll handler deletes the scrolled object

        Test: fast/layers/removed-by-scroll-handler.html

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added a m_enqueueEvents count.
        (WebCore::FrameView::layout): Raise the enqueue count before starting layout and
        until after enqueued events are dispatched.
        (WebCore::FrameView::scheduleEvent): Made this function dispatch the event
        immediately unless the enqueue count is positive.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset): Schedule the scroll event through the
        FrameView.
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::Marquee::start):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@19204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/layers/removed-by-scroll-handler-expected.txt [new file with mode: 0644]
LayoutTests/fast/layers/removed-by-scroll-handler.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/page/FrameView.cpp
WebCore/rendering/RenderLayer.cpp