Revision fc7c0b7d097b3f584889127fd6ea350a1980cc7a authored by Emilio Cobos Álvarez on 09 April 2018, 07:01:25 UTC, committed by moz-wptsync-bot on 09 April 2018, 07:52:06 UTC
The code was trying to assert that we had frames constructed for all the nodes
in the parent chain, but we don't bail out in the
!GetContentInsertionFrameFor(aContainer) in the case that it's a children
element, because they actually have no insertion frame, though their children
do.

Move the LazyFC check after the insertion point check. That makes the previous
check work on the insertion point of the child, which makes it sound.

This also fixes bug 1410020, and with it a Shadow DOM test-case that was failing
because we had two sibling assigned to two different <slot>s, and the second one
wasn't getting properly flagged, and thus the second sibling never got a frame.

The other two test failures in this test are an event dispatch failure, where
the position of the target is not what the test expects (we don't account for
margin and padding). Filed that as bug 1450027.

Also, added a test for which we have wrong layout without these patches, and
that crashes with "Called Servo_Element_IsDisplayNone" with the first patch of
this bug applied but not this one, due to the bogus check mentioned above.
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1303605
gecko-commit: 12a824f8d55a8fb0396fb2132974f8223c6a9606
gecko-integration-branch: central
gecko-reviewers: bz
1 parent a835486
History
File Mode Size
2d.composite.canvas.copy.html -rw-r--r-- 1.2 KB
2d.composite.canvas.copy.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.destination-atop.html -rw-r--r-- 1.3 KB
2d.composite.canvas.destination-atop.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.destination-in.html -rw-r--r-- 1.3 KB
2d.composite.canvas.destination-in.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.destination-out.html -rw-r--r-- 1.3 KB
2d.composite.canvas.destination-out.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.destination-over.html -rw-r--r-- 1.3 KB
2d.composite.canvas.destination-over.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.lighter.html -rw-r--r-- 1.2 KB
2d.composite.canvas.lighter.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.source-atop.html -rw-r--r-- 1.3 KB
2d.composite.canvas.source-atop.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.source-in.html -rw-r--r-- 1.2 KB
2d.composite.canvas.source-in.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.source-out.html -rw-r--r-- 1.2 KB
2d.composite.canvas.source-out.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.source-over.html -rw-r--r-- 1.3 KB
2d.composite.canvas.source-over.worker.js -rw-r--r-- 1.1 KB
2d.composite.canvas.xor.html -rw-r--r-- 1.2 KB
2d.composite.canvas.xor.worker.js -rw-r--r-- 1.1 KB
2d.composite.clip.copy.html -rw-r--r-- 978 bytes
2d.composite.clip.copy.worker.js -rw-r--r-- 847 bytes
2d.composite.clip.destination-atop.html -rw-r--r-- 1014 bytes
2d.composite.clip.destination-atop.worker.js -rw-r--r-- 871 bytes
2d.composite.clip.destination-in.html -rw-r--r-- 1008 bytes
2d.composite.clip.destination-in.worker.js -rw-r--r-- 867 bytes
2d.composite.clip.destination-out.html -rw-r--r-- 1011 bytes
2d.composite.clip.destination-out.worker.js -rw-r--r-- 869 bytes
2d.composite.clip.destination-over.html -rw-r--r-- 1014 bytes
2d.composite.clip.destination-over.worker.js -rw-r--r-- 871 bytes
2d.composite.clip.lighter.html -rw-r--r-- 987 bytes
2d.composite.clip.lighter.worker.js -rw-r--r-- 853 bytes
2d.composite.clip.source-atop.html -rw-r--r-- 999 bytes
2d.composite.clip.source-atop.worker.js -rw-r--r-- 861 bytes
2d.composite.clip.source-in.html -rw-r--r-- 993 bytes
2d.composite.clip.source-in.worker.js -rw-r--r-- 857 bytes
2d.composite.clip.source-out.html -rw-r--r-- 996 bytes
2d.composite.clip.source-out.worker.js -rw-r--r-- 859 bytes
2d.composite.clip.source-over.html -rw-r--r-- 999 bytes
2d.composite.clip.source-over.worker.js -rw-r--r-- 861 bytes
2d.composite.clip.xor.html -rw-r--r-- 975 bytes
2d.composite.clip.xor.worker.js -rw-r--r-- 845 bytes
2d.composite.globalAlpha.canvas.html -rw-r--r-- 952 bytes
2d.composite.globalAlpha.canvas.worker.js -rw-r--r-- 812 bytes
2d.composite.globalAlpha.canvascopy.html -rw-r--r-- 953 bytes
2d.composite.globalAlpha.canvascopy.worker.js -rw-r--r-- 809 bytes
2d.composite.globalAlpha.canvaspattern.html -rw-r--r-- 1022 bytes
2d.composite.globalAlpha.canvaspattern.worker.js -rw-r--r-- 875 bytes
2d.composite.globalAlpha.default.html -rw-r--r-- 616 bytes
2d.composite.globalAlpha.default.worker.js -rw-r--r-- 475 bytes
2d.composite.globalAlpha.fill.html -rw-r--r-- 808 bytes
2d.composite.globalAlpha.fill.worker.js -rw-r--r-- 670 bytes
2d.composite.globalAlpha.image.html -rw-r--r-- 1.1 KB
2d.composite.globalAlpha.image.worker.js -rw-r--r-- 944 bytes
2d.composite.globalAlpha.imagepattern.html -rw-r--r-- 1.1 KB
2d.composite.globalAlpha.imagepattern.worker.js -rw-r--r-- 1015 bytes
2d.composite.globalAlpha.invalid.html -rw-r--r-- 946 bytes
2d.composite.globalAlpha.invalid.worker.js -rw-r--r-- 805 bytes
2d.composite.globalAlpha.range.html -rw-r--r-- 1008 bytes
2d.composite.globalAlpha.range.worker.js -rw-r--r-- 869 bytes
2d.composite.image.copy.html -rw-r--r-- 1.0 KB
2d.composite.image.copy.worker.js -rw-r--r-- 935 bytes
2d.composite.image.destination-atop.html -rw-r--r-- 1.1 KB
2d.composite.image.destination-atop.worker.js -rw-r--r-- 963 bytes
2d.composite.image.destination-in.html -rw-r--r-- 1.1 KB
2d.composite.image.destination-in.worker.js -rw-r--r-- 953 bytes
2d.composite.image.destination-out.html -rw-r--r-- 1.1 KB
2d.composite.image.destination-out.worker.js -rw-r--r-- 955 bytes
2d.composite.image.destination-over.html -rw-r--r-- 1.1 KB
2d.composite.image.destination-over.worker.js -rw-r--r-- 963 bytes
2d.composite.image.lighter.html -rw-r--r-- 1.1 KB
2d.composite.image.lighter.worker.js -rw-r--r-- 945 bytes
2d.composite.image.source-atop.html -rw-r--r-- 1.1 KB
2d.composite.image.source-atop.worker.js -rw-r--r-- 951 bytes
2d.composite.image.source-in.html -rw-r--r-- 1.1 KB
2d.composite.image.source-in.worker.js -rw-r--r-- 943 bytes
2d.composite.image.source-out.html -rw-r--r-- 1.1 KB
2d.composite.image.source-out.worker.js -rw-r--r-- 945 bytes
2d.composite.image.source-over.html -rw-r--r-- 1.1 KB
2d.composite.image.source-over.worker.js -rw-r--r-- 951 bytes
2d.composite.image.xor.html -rw-r--r-- 1.0 KB
2d.composite.image.xor.worker.js -rw-r--r-- 935 bytes
2d.composite.operation.casesensitive.html -rw-r--r-- 738 bytes
2d.composite.operation.casesensitive.worker.js -rw-r--r-- 593 bytes
2d.composite.operation.clear.html -rw-r--r-- 720 bytes
2d.composite.operation.clear.worker.js -rw-r--r-- 583 bytes
2d.composite.operation.darker.html -rw-r--r-- 719 bytes
2d.composite.operation.darker.worker.js -rw-r--r-- 581 bytes
2d.composite.operation.default.html -rw-r--r-- 658 bytes
2d.composite.operation.default.worker.js -rw-r--r-- 519 bytes
2d.composite.operation.get.html -rw-r--r-- 924 bytes
2d.composite.operation.get.worker.js -rw-r--r-- 789 bytes
2d.composite.operation.highlight.html -rw-r--r-- 728 bytes
2d.composite.operation.highlight.worker.js -rw-r--r-- 587 bytes
2d.composite.operation.nullsuffix.html -rw-r--r-- 734 bytes
2d.composite.operation.nullsuffix.worker.js -rw-r--r-- 592 bytes
2d.composite.operation.over.html -rw-r--r-- 713 bytes
2d.composite.operation.over.worker.js -rw-r--r-- 577 bytes
2d.composite.operation.unrecognised.html -rw-r--r-- 736 bytes
2d.composite.operation.unrecognised.worker.js -rw-r--r-- 592 bytes
2d.composite.solid.copy.html -rw-r--r-- 807 bytes
2d.composite.solid.copy.worker.js -rw-r--r-- 675 bytes
2d.composite.solid.destination-atop.html -rw-r--r-- 843 bytes
2d.composite.solid.destination-atop.worker.js -rw-r--r-- 699 bytes
2d.composite.solid.destination-in.html -rw-r--r-- 837 bytes
2d.composite.solid.destination-in.worker.js -rw-r--r-- 695 bytes
2d.composite.solid.destination-out.html -rw-r--r-- 828 bytes
2d.composite.solid.destination-out.worker.js -rw-r--r-- 685 bytes
2d.composite.solid.destination-over.html -rw-r--r-- 843 bytes
2d.composite.solid.destination-over.worker.js -rw-r--r-- 699 bytes
2d.composite.solid.lighter.html -rw-r--r-- 820 bytes
2d.composite.solid.lighter.worker.js -rw-r--r-- 685 bytes
2d.composite.solid.source-atop.html -rw-r--r-- 828 bytes
2d.composite.solid.source-atop.worker.js -rw-r--r-- 689 bytes
2d.composite.solid.source-in.html -rw-r--r-- 822 bytes
2d.composite.solid.source-in.worker.js -rw-r--r-- 685 bytes
2d.composite.solid.source-out.html -rw-r--r-- 813 bytes
2d.composite.solid.source-out.worker.js -rw-r--r-- 675 bytes
2d.composite.solid.source-over.html -rw-r--r-- 828 bytes
2d.composite.solid.source-over.worker.js -rw-r--r-- 689 bytes
2d.composite.solid.xor.html -rw-r--r-- 792 bytes
2d.composite.solid.xor.worker.js -rw-r--r-- 661 bytes
2d.composite.transparent.copy.html -rw-r--r-- 812 bytes
2d.composite.transparent.copy.worker.js -rw-r--r-- 674 bytes
2d.composite.transparent.destination-atop.html -rw-r--r-- 852 bytes
2d.composite.transparent.destination-atop.worker.js -rw-r--r-- 702 bytes
2d.composite.transparent.destination-in.html -rw-r--r-- 840 bytes
2d.composite.transparent.destination-in.worker.js -rw-r--r-- 692 bytes
2d.composite.transparent.destination-out.html -rw-r--r-- 843 bytes
2d.composite.transparent.destination-out.worker.js -rw-r--r-- 694 bytes
2d.composite.transparent.destination-over.html -rw-r--r-- 852 bytes
2d.composite.transparent.destination-over.worker.js -rw-r--r-- 702 bytes
2d.composite.transparent.lighter.html -rw-r--r-- 825 bytes
2d.composite.transparent.lighter.worker.js -rw-r--r-- 684 bytes
2d.composite.transparent.source-atop.html -rw-r--r-- 835 bytes
2d.composite.transparent.source-atop.worker.js -rw-r--r-- 690 bytes
2d.composite.transparent.source-in.html -rw-r--r-- 825 bytes
2d.composite.transparent.source-in.worker.js -rw-r--r-- 682 bytes
2d.composite.transparent.source-out.html -rw-r--r-- 828 bytes
2d.composite.transparent.source-out.worker.js -rw-r--r-- 684 bytes
2d.composite.transparent.source-over.html -rw-r--r-- 835 bytes
2d.composite.transparent.source-over.worker.js -rw-r--r-- 690 bytes
2d.composite.transparent.xor.html -rw-r--r-- 811 bytes
2d.composite.transparent.xor.worker.js -rw-r--r-- 674 bytes
2d.composite.uncovered.fill.copy.html -rw-r--r-- 1.0 KB
2d.composite.uncovered.fill.copy.worker.js -rw-r--r-- 906 bytes
2d.composite.uncovered.fill.destination-atop.html -rw-r--r-- 1.1 KB
2d.composite.uncovered.fill.destination-atop.worker.js -rw-r--r-- 930 bytes
2d.composite.uncovered.fill.destination-in.html -rw-r--r-- 1.1 KB
2d.composite.uncovered.fill.destination-in.worker.js -rw-r--r-- 926 bytes
2d.composite.uncovered.fill.source-in.html -rw-r--r-- 1.0 KB
2d.composite.uncovered.fill.source-in.worker.js -rw-r--r-- 916 bytes
2d.composite.uncovered.fill.source-out.html -rw-r--r-- 1.0 KB
2d.composite.uncovered.fill.source-out.worker.js -rw-r--r-- 918 bytes
2d.composite.uncovered.image.copy.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.image.copy.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.image.destination-atop.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.image.destination-atop.worker.js -rw-r--r-- 1.3 KB
2d.composite.uncovered.image.destination-in.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.image.destination-in.worker.js -rw-r--r-- 1.3 KB
2d.composite.uncovered.image.source-in.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.image.source-in.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.image.source-out.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.image.source-out.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.nocontext.copy.html -rw-r--r-- 1.0 KB
2d.composite.uncovered.nocontext.copy.worker.js -rw-r--r-- 912 bytes
2d.composite.uncovered.nocontext.destination-atop.html -rw-r--r-- 1.1 KB
2d.composite.uncovered.nocontext.destination-atop.worker.js -rw-r--r-- 936 bytes
2d.composite.uncovered.nocontext.destination-in.html -rw-r--r-- 1.1 KB
2d.composite.uncovered.nocontext.destination-in.worker.js -rw-r--r-- 932 bytes
2d.composite.uncovered.nocontext.source-in.html -rw-r--r-- 1.0 KB
2d.composite.uncovered.nocontext.source-in.worker.js -rw-r--r-- 922 bytes
2d.composite.uncovered.nocontext.source-out.html -rw-r--r-- 1.1 KB
2d.composite.uncovered.nocontext.source-out.worker.js -rw-r--r-- 924 bytes
2d.composite.uncovered.pattern.copy.html -rw-r--r-- 1.3 KB
2d.composite.uncovered.pattern.copy.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.pattern.destination-atop.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.pattern.destination-atop.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.pattern.destination-in.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.pattern.destination-in.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.pattern.source-in.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.pattern.source-in.worker.js -rw-r--r-- 1.2 KB
2d.composite.uncovered.pattern.source-out.html -rw-r--r-- 1.4 KB
2d.composite.uncovered.pattern.source-out.worker.js -rw-r--r-- 1.2 KB

back to top