Changeset 140732 in webkit


Ignore:
Timestamp:
Jan 24, 2013 3:14:42 PM (11 years ago)
Author:
jamesr@google.com
Message:

REGRESSION(140571): Crash in ScrollingCoordinator::mainThreadScrollingReasons during Frame::createView
https://bugs.webkit.org/show_bug.cgi?id=107868

Reviewed by Beth Dakin.

When using fixed layout mode, it's possible to update the scrollbar state of the main FrameView before
it's set on the main frame, which can lead to calling in to ScrollingCoordinator to compute main thread
scrolling regions when m_page->mainFrame()->view() is 0. In this case, we don't have any main
thread scrolling reasons and should just return 0.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::mainThreadScrollingReasons):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r140731 r140732  
     12013-01-24  James Robinson  <jamesr@chromium.org>
     2
     3        REGRESSION(140571): Crash in ScrollingCoordinator::mainThreadScrollingReasons during Frame::createView
     4        https://bugs.webkit.org/show_bug.cgi?id=107868
     5
     6        Reviewed by Beth Dakin.
     7
     8        When using fixed layout mode, it's possible to update the scrollbar state of the main FrameView before
     9        it's set on the main frame, which can lead to calling in to ScrollingCoordinator to compute main thread
     10        scrolling regions when m_page->mainFrame()->view() is 0. In this case, we don't have any main
     11        thread scrolling reasons and should just return 0.
     12
     13        * page/scrolling/ScrollingCoordinator.cpp:
     14        (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
     15
    1162013-01-24  Martin Robinson  <mrobinson@igalia.com>
    217
  • trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp

    r140370 r140732  
    450450{
    451451    FrameView* frameView = m_page->mainFrame()->view();
     452    if (!frameView)
     453        return static_cast<MainThreadScrollingReasons>(0);
    452454
    453455    MainThreadScrollingReasons mainThreadScrollingReasons = (MainThreadScrollingReasons)0;
Note: See TracChangeset for help on using the changeset viewer.