mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 05:35:31 +00:00
570d1f0e83
Change the logic that moves the main summary to the front from operating on generated frames in DetailsFrame::SetInitialChildList() to operating on frame construction item list in AddFrameConstructionItemsInternal() so that it will be correct when cooperating with ::first-line. The root cause of the bug reported is because when specifying ::first-line on details element, the first frame of summary element, which is generated due to ib-split, will be wrapped in nsFirstLineFrame. The original code fails to find the summary frame in the wrapper frame and triggers assertion because of the second ib-split summary frame. To fix that, we need to descend into the child list of wrapper frames when checking the main summary. Add original test case as a crashtest as well as reftests to clearly reproduce the issue. Note that in the reftest, the blue color in ::first-line is applied incorrectly to the second line in the summary due to bug 520605. MozReview-Commit-ID: Bv4Vcvxp6pY
22 lines
491 B
HTML
22 lines
491 B
HTML
<!DOCTYPE html>
|
|
<!-- Any copyright is dedicated to the Public Domain.
|
|
- http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
|
|
<html>
|
|
<style>
|
|
summary {
|
|
display: table-cell;
|
|
}
|
|
</style>
|
|
<body>
|
|
<details open>
|
|
<p>This is the details.</p>
|
|
<!-- Make summary the second element child so that layout will try to
|
|
render it as the first child. -->
|
|
<summary>Summary
|
|
<div>Block in summary</div>
|
|
</summary>
|
|
</details>
|
|
</body>
|
|
</html>
|