diff --git a/layout/generic/nsHTMLContainerFrame.cpp b/layout/generic/nsHTMLContainerFrame.cpp index fcdd49733a2..ce581ca47f9 100644 --- a/layout/generic/nsHTMLContainerFrame.cpp +++ b/layout/generic/nsHTMLContainerFrame.cpp @@ -261,8 +261,9 @@ nsHTMLContainerFrame::GetTextDecorations(nsPresContext* aPresContext, nsStyleContext* styleContext = frame->GetStyleContext(); const nsStyleDisplay* styleDisplay = styleContext->GetStyleDisplay(); - if (!styleDisplay->IsBlockOutside() && - styleDisplay->mDisplay != NS_STYLE_DISPLAY_TABLE_CELL) { + if (!styleDisplay->IsBlockInside() && + styleDisplay->mDisplay != NS_STYLE_DISPLAY_TABLE_CELL && + styleDisplay->mDisplay != NS_STYLE_DISPLAY_TABLE_CAPTION) { // If an inline frame is discovered while walking up the tree, // we should stop according to CSS3 draft. CSS2 is rather vague // about this. diff --git a/layout/reftests/reftest.list b/layout/reftests/reftest.list index 41caba0fffd..c429b482a86 100644 --- a/layout/reftests/reftest.list +++ b/layout/reftests/reftest.list @@ -45,6 +45,9 @@ include first-line/reftest.list # svg/ include svg/reftest.list +# text-decoration/ +include text-decoration/reftest.list + # text-indent/ include text-indent/reftest.list diff --git a/layout/reftests/text-decoration/reftest.list b/layout/reftests/text-decoration/reftest.list new file mode 100644 index 00000000000..420beec6b47 --- /dev/null +++ b/layout/reftests/text-decoration/reftest.list @@ -0,0 +1,18 @@ +== underline-block-quirks.html underline-block-quirks-ref.html +!= underline-block-quirks.html underline-block-quirks-notref.html +== underline-inline-block-quirks.html underline-inline-block-quirks-ref.html +!= underline-inline-block-quirks.html underline-inline-block-quirks-notref.html +== underline-table-caption-quirks.html underline-table-caption-quirks-ref.html +!= underline-table-caption-quirks.html underline-table-caption-quirks-notref.html +== underline-table-cell-quirks.html underline-table-cell-quirks-ref.html +!= underline-table-cell-quirks.html underline-table-cell-quirks-notref.html +fails == underline-block-propagation-quirks.html underline-block-propagation-quirks-ref.html # currently too quirky +== underline-block-standards.html underline-block-standards-ref.html +!= underline-block-standards.html underline-block-standards-notref.html +== underline-inline-block-standards.html underline-inline-block-standards-ref.html +!= underline-inline-block-standards.html underline-inline-block-standards-notref.html +== underline-table-caption-standards.html underline-table-caption-standards-ref.html +!= underline-table-caption-standards.html underline-table-caption-standards-notref.html +== underline-table-cell-standards.html underline-table-cell-standards-ref.html +!= underline-table-cell-standards.html underline-table-cell-standards-notref.html +fails == underline-block-propagation-standards.html underline-block-propagation-standards-ref.html # bug that we propagate to floats diff --git a/layout/reftests/text-decoration/underline-block-propagation-quirks-ref.html b/layout/reftests/text-decoration/underline-block-propagation-quirks-ref.html new file mode 100644 index 00000000000..44af2918db6 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-propagation-quirks-ref.html @@ -0,0 +1,12 @@ +text-decoration: underline test +
+This text should be underlined. + +
This text should not be underlined.
+ +
This text should be underlined.
+ +
This should not be underlined.
+ +This should be underlined but this should
not have a
separate underline
.
+ diff --git a/layout/reftests/text-decoration/underline-block-propagation-quirks.html b/layout/reftests/text-decoration/underline-block-propagation-quirks.html new file mode 100644 index 00000000000..b2d94ab2441 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-propagation-quirks.html @@ -0,0 +1,12 @@ +text-decoration: underline test +
+This text should be underlined. + +
This text should not be underlined.
+ +
This text should be underlined.
+ +
This should not be underlined.
+ +This should be underlined but this should
not have a
separate underline
. + diff --git a/layout/reftests/text-decoration/underline-block-propagation-standards-ref.html b/layout/reftests/text-decoration/underline-block-propagation-standards-ref.html new file mode 100644 index 00000000000..19c41a07aff --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-propagation-standards-ref.html @@ -0,0 +1,13 @@ + +text-decoration: underline test +
+This text should be underlined. + +
This text should not be underlined.
+ +
This text should be underlined.
+ +
This should not be underlined.
+ +This should be underlined but this should
not have a
separate underline
.
+ diff --git a/layout/reftests/text-decoration/underline-block-propagation-standards.html b/layout/reftests/text-decoration/underline-block-propagation-standards.html new file mode 100644 index 00000000000..890a33a85f0 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-propagation-standards.html @@ -0,0 +1,13 @@ + +text-decoration: underline test +
+This text should be underlined. + +
This text should not be underlined.
+ +
This text should be underlined.
+ +
This should not be underlined.
+ +This should be underlined but this should
not have a
separate underline
. + diff --git a/layout/reftests/text-decoration/underline-block-quirks-notref.html b/layout/reftests/text-decoration/underline-block-quirks-notref.html new file mode 100644 index 00000000000..141a1995180 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-quirks-notref.html @@ -0,0 +1,2 @@ +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-block-quirks-ref.html b/layout/reftests/text-decoration/underline-block-quirks-ref.html new file mode 100644 index 00000000000..8f70b8e28c9 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-quirks-ref.html @@ -0,0 +1,2 @@ +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-block-quirks.html b/layout/reftests/text-decoration/underline-block-quirks.html new file mode 100644 index 00000000000..6860b3aee64 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-quirks.html @@ -0,0 +1,2 @@ +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-block-standards-notref.html b/layout/reftests/text-decoration/underline-block-standards-notref.html new file mode 100644 index 00000000000..ed47f3beccd --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-standards-notref.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-block-standards-ref.html b/layout/reftests/text-decoration/underline-block-standards-ref.html new file mode 100644 index 00000000000..ea53cd446bb --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-standards-ref.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-block-standards.html b/layout/reftests/text-decoration/underline-block-standards.html new file mode 100644 index 00000000000..b9b527d7a54 --- /dev/null +++ b/layout/reftests/text-decoration/underline-block-standards.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +
This text should be underlined.
diff --git a/layout/reftests/text-decoration/underline-inline-block-quirks-notref.html b/layout/reftests/text-decoration/underline-inline-block-quirks-notref.html new file mode 100644 index 00000000000..17b221274e5 --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-quirks-notref.html @@ -0,0 +1,2 @@ +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-inline-block-quirks-ref.html b/layout/reftests/text-decoration/underline-inline-block-quirks-ref.html new file mode 100644 index 00000000000..27c474675e6 --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-quirks-ref.html @@ -0,0 +1,2 @@ +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-inline-block-quirks.html b/layout/reftests/text-decoration/underline-inline-block-quirks.html new file mode 100644 index 00000000000..b75286d7dd4 --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-quirks.html @@ -0,0 +1,2 @@ +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-inline-block-standards-notref.html b/layout/reftests/text-decoration/underline-inline-block-standards-notref.html new file mode 100644 index 00000000000..f2325dfe112 --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-standards-notref.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-inline-block-standards-ref.html b/layout/reftests/text-decoration/underline-inline-block-standards-ref.html new file mode 100644 index 00000000000..6b23d0f4f5d --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-standards-ref.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-inline-block-standards.html b/layout/reftests/text-decoration/underline-inline-block-standards.html new file mode 100644 index 00000000000..24b519ebe3e --- /dev/null +++ b/layout/reftests/text-decoration/underline-inline-block-standards.html @@ -0,0 +1,3 @@ + +text-decoration: underline test +

This has an inline
block
in it.

diff --git a/layout/reftests/text-decoration/underline-table-caption-quirks-notref.html b/layout/reftests/text-decoration/underline-table-caption-quirks-notref.html new file mode 100644 index 00000000000..26c6189387a --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-quirks-notref.html @@ -0,0 +1,12 @@ +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-caption-quirks-ref.html b/layout/reftests/text-decoration/underline-table-caption-quirks-ref.html new file mode 100644 index 00000000000..926acf820a4 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-quirks-ref.html @@ -0,0 +1,12 @@ +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-caption-quirks.html b/layout/reftests/text-decoration/underline-table-caption-quirks.html new file mode 100644 index 00000000000..0fbeba10667 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-quirks.html @@ -0,0 +1,12 @@ +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-caption-standards-notref.html b/layout/reftests/text-decoration/underline-table-caption-standards-notref.html new file mode 100644 index 00000000000..00cd35b6c68 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-standards-notref.html @@ -0,0 +1,13 @@ + +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-caption-standards-ref.html b/layout/reftests/text-decoration/underline-table-caption-standards-ref.html new file mode 100644 index 00000000000..c99bff74b5f --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-standards-ref.html @@ -0,0 +1,13 @@ + +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-caption-standards.html b/layout/reftests/text-decoration/underline-table-caption-standards.html new file mode 100644 index 00000000000..f9af71bdefb --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-caption-standards.html @@ -0,0 +1,13 @@ + +text-decoration: underline test + + + + + + + + + + +
This is the table caption
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-quirks-notref.html b/layout/reftests/text-decoration/underline-table-cell-quirks-notref.html new file mode 100644 index 00000000000..0d77eb061de --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-quirks-notref.html @@ -0,0 +1,11 @@ +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-quirks-ref.html b/layout/reftests/text-decoration/underline-table-cell-quirks-ref.html new file mode 100644 index 00000000000..d44cc08cc39 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-quirks-ref.html @@ -0,0 +1,11 @@ +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-quirks.html b/layout/reftests/text-decoration/underline-table-cell-quirks.html new file mode 100644 index 00000000000..5c11e7e5dc2 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-quirks.html @@ -0,0 +1,11 @@ +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-standards-notref.html b/layout/reftests/text-decoration/underline-table-cell-standards-notref.html new file mode 100644 index 00000000000..712d5a16d25 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-standards-notref.html @@ -0,0 +1,12 @@ + +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-standards-ref.html b/layout/reftests/text-decoration/underline-table-cell-standards-ref.html new file mode 100644 index 00000000000..45de37dbba0 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-standards-ref.html @@ -0,0 +1,12 @@ + +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2
diff --git a/layout/reftests/text-decoration/underline-table-cell-standards.html b/layout/reftests/text-decoration/underline-table-cell-standards.html new file mode 100644 index 00000000000..cfaf01e25a4 --- /dev/null +++ b/layout/reftests/text-decoration/underline-table-cell-standards.html @@ -0,0 +1,12 @@ + +text-decoration: underline test + + + + + + + + + +
Row 1, Cell 1Row 1, Cell 2
Row 2, Cell 1Row 2, Cell 2