Changeset 87726 in webkit


Ignore:
Timestamp:
May 31, 2011 7:20:05 AM (13 years ago)
Author:
Simon Fraser
Message:

2011-05-31 Simon Fraser <Simon Fraser>

Reviewed by Kenneth Rohde Christiansen.

Frame flattening is broken with nested frames
https://bugs.webkit.org/show_bug.cgi?id=61491

  • fast/frames/flattening/iframe-flattening-nested.html: Added.
  • fast/frames/flattening/resources/inner-frame.html: Added.
  • fast/frames/flattening/resources/intermediate-frame.html: Added.
  • platform/mac/fast/frames/flattening/iframe-flattening-nested-expected.png: Added.
  • platform/mac/fast/frames/flattening/iframe-flattening-nested-expected.txt: Added.

2011-05-31 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Kenneth Rohde Christiansen.

Frame flattening is broken with nested frames
https://bugs.webkit.org/show_bug.cgi?id=61491

After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.

Test: fast/frames/flattening/iframe-flattening-nested.html

  • page/FrameView.cpp: (WebCore::FrameView::layout):
Location:
trunk
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r87722 r87726  
     12011-05-31  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Frame flattening is broken with nested frames
     6        https://bugs.webkit.org/show_bug.cgi?id=61491
     7
     8        * fast/frames/flattening/iframe-flattening-nested.html: Added.
     9        * fast/frames/flattening/resources/inner-frame.html: Added.
     10        * fast/frames/flattening/resources/intermediate-frame.html: Added.
     11        * platform/mac/fast/frames/flattening/iframe-flattening-nested-expected.png: Added.
     12        * platform/mac/fast/frames/flattening/iframe-flattening-nested-expected.txt: Added.
     13
    1142011-05-31  Mikhail Naganov  <mnaganov@chromium.org>
    215
  • trunk/Source/WebCore/ChangeLog

    r87725 r87726  
     12011-05-31  Yael Aharon  <yael.aharon@nokia.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        Frame flattening is broken with nested frames
     6        https://bugs.webkit.org/show_bug.cgi?id=61491
     7
     8        After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
     9        This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
     10        Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
     11
     12        Test: fast/frames/flattening/iframe-flattening-nested.html
     13
     14        * page/FrameView.cpp:
     15        (WebCore::FrameView::layout):
     16
    1172011-05-31  Tommy Widenflycht  <tommyw@google.com>
    218
  • trunk/Source/WebCore/page/FrameView.cpp

    r87639 r87726  
    10401040
    10411041    if (!m_hasPendingPostLayoutTasks) {
    1042         if (!m_inSynchronousPostLayout && !inSubframeLayoutWithFrameFlattening) {
    1043             m_inSynchronousPostLayout = true;
    1044             // Calls resumeScheduledEvents()
    1045             performPostLayoutTasks();
    1046             m_inSynchronousPostLayout = false;
    1047         }
    1048 
     1042        if (!m_inSynchronousPostLayout) {
     1043            if (inSubframeLayoutWithFrameFlattening)
     1044                m_frame->contentRenderer()->updateWidgetPositions();
     1045            else {
     1046                m_inSynchronousPostLayout = true;
     1047                // Calls resumeScheduledEvents()
     1048                performPostLayoutTasks();
     1049                m_inSynchronousPostLayout = false;
     1050            }
     1051        }
     1052       
    10491053        if (!m_hasPendingPostLayoutTasks && (needsLayout() || m_inSynchronousPostLayout || inSubframeLayoutWithFrameFlattening)) {
    10501054            // If we need layout or are already in a synchronous call to postLayoutTasks(),
Note: See TracChangeset for help on using the changeset viewer.