| Differences between
and this patch
- a/Source/WebCore/ChangeLog +12 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2012-04-24  Eric Seidel  <eric@webkit.org>
2
3
        child documents do not immediately clear their rendering trees when parent iframes are set to display: none
4
        https://bugs.webkit.org/show_bug.cgi?id=84684
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Test: fast/frames/ancestor-style-change.html
9
10
        * rendering/RenderWidget.cpp:
11
        (WebCore::RenderWidget::willBeDestroyed):
12
1
2012-04-23  Emil A Eklund  <eae@chromium.org>
13
2012-04-23  Emil A Eklund  <eae@chromium.org>
2
14
3
        Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
15
        Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
- a/Source/WebCore/rendering/RenderWidget.cpp +10 lines
Lines 118-123 void RenderWidget::willBeDestroyed() a/Source/WebCore/rendering/RenderWidget.cpp_sec1
118
        document()->axObjectCache()->remove(this);
118
        document()->axObjectCache()->remove(this);
119
    }
119
    }
120
120
121
    // If the widget is a child FrameView and has been destroyed
122
    // clear the child's render tree now, even though references
123
    // to this widget may live on for a bit.
124
    if (m_widget && m_widget->isFrameView()) {
125
        FrameView* frameView = static_cast<FrameView*>(m_widget.get());
126
        Document* childDocument = frameView->frame()->document();
127
        if (childDocument->attached())
128
            childDocument->detach();
129
    }
130
121
    setWidget(0);
131
    setWidget(0);
122
132
123
    RenderReplaced::willBeDestroyed();
133
    RenderReplaced::willBeDestroyed();
- a/LayoutTests/ChangeLog +10 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2012-04-24  Eric Seidel  <eric@webkit.org>
2
3
        child documents do not immediately clear their rendering trees when parent iframes are set to display: none
4
        https://bugs.webkit.org/show_bug.cgi?id=84684
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * fast/frames/ancestor-style-change-expected.txt: Added.
9
        * fast/frames/ancestor-style-change.html: Added.
10
1
2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
11
2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2
12
3
        Unreviewed, rolling out r114929.
13
        Unreviewed, rolling out r114929.
- a/LayoutTests/fast/frames/ancestor-style-change-expected.txt +7 lines
Line 0 a/LayoutTests/fast/frames/ancestor-style-change-expected.txt_sec1
1
Test that the containing iframe's style is recomputed before computing the inner document's style.
2
3
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6
PASS window.frames[0].document.body.offsetWidth is 0
7
- a/LayoutTests/fast/frames/ancestor-style-change.html +13 lines
Line 0 a/LayoutTests/fast/frames/ancestor-style-change.html_sec1
1
<!DOCTYPE html>
2
<script src="../../js/resources/js-test-pre.js"></script>
3
<div id="wrapper">
4
    <iframe srcdoc="FAIL"></iframe>
5
</div>
6
<script>
7
description("Test that the containing iframe's style is recomputed before computing the inner document's style.");
8
window.onload = function() {
9
    document.body.offsetTop; // Force the entire document to layout.
10
    window.wrapper = document.getElementById("wrapper").style.display = "none";
11
    shouldBe("window.frames[0].document.body.offsetWidth", "0");
12
}
13
</script>

Return to Bug 84684