CSS ::after doesn't work for <td> (dynamically)

RESOLVED FIXED in Firefox 15

Status

()

Core
Layout
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: Dan Wolff, Assigned: bz)

Tracking

15 Branch
mozilla16
x86
Linux
Points:
---
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox15+ fixed, firefox16+ fixed)

Details

(URL)

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

5 years ago
Created attachment 631838 [details]
Test case, showing ::after dynamic change for a <span> and a <td>

Using Firefox 15.0a2 (2012-06-09) on Ubuntu 12.04.

If a selector containing ::after begins to match a <td>, the ::after is still not shown.

In the test case changing a class of a parent *should* cause the ::after to be shown, but it only works for the <span>, not the <td>.
(Reporter)

Updated

5 years ago
(Reporter)

Comment 1

5 years ago
Comment on attachment 631838 [details]
Test case, showing ::after dynamic change for a <span> and a <td>

Use jsFiddle instead of attachment: easier to try out.
Attachment #631838 - Attachment is obsolete: true
This is a regression from bug 464758 caused by the fact that the NS_FRAME_MAY_HAVE_GENERATED_CONTENT is on the anonymous block, not on the cell frame.

Requesting tracking for the regression.
Assignee: nobody → bzbarsky
Blocks: 464758
tracking-firefox15: --- → ?
tracking-firefox16: --- → ?
Component: Layout: Tables → Layout
QA Contact: layout.tables → layout
Status: UNCONFIRMED → NEW
Ever confirmed: true
Created attachment 631936 [details] [diff] [review]
Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>).

This doesn't regress bug 464758, because the combobox dropdown does not in fact allow generated content, so the insertion frame there doesn't have the bit set.
Attachment #631936 - Flags: review?(dbaron)
Whiteboard: [need review]
Dan, thanks for the bug report and the testcase!
Comment on attachment 631936 [details] [diff] [review]
Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>).

r=dbaron
Attachment #631936 - Flags: review?(dbaron) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/f4ff27e63666
Flags: in-testsuite+
Whiteboard: [need review]
Target Milestone: --- → mozilla16
Comment on attachment 631936 [details] [diff] [review]
Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>).

[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 464758.
User impact if declined: ::before and ::after won't show up on some elements
   dynamically.
Testing completed (on m-c, etc.): Manual testing, passes automated tests in patch.
Risk to taking this patch (and alternatives if risky): Risk is low: just gets us
  closer to the behavior we used to have by allowing generated content on more
  things.  The alternative it to just back out bug 464758 (which was not an
  incredibly important bug) on aurora.
String or UUID changes made by this patch: None.
Attachment #631936 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/f4ff27e63666
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Depends on: 764591
No longer depends on: 764591

Comment 9

5 years ago
Comment on attachment 631936 [details] [diff] [review]
Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>).

[Triage Comment]
Since this forward fix was nominated instead of a backout, I trust it's sufficiently low risk. Additionally, we're very early in the cycle. Please land on Aurora 15.
Attachment #631936 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+

Updated

5 years ago
tracking-firefox15: ? → +
tracking-firefox16: ? → +
http://hg.mozilla.org/releases/mozilla-aurora/rev/6aea82fcd3dd
status-firefox15: --- → fixed
status-firefox16: --- → fixed
You need to log in before you can comment on or make changes to this bug.