Closed Bug 1593944 Opened 4 months ago Closed 3 months ago

Inactive CSS not triggered reliably depending on order of edits

Categories

(DevTools :: Inspector: Rules, defect, P2)

defect

Tracking

(firefox-esr68 unaffected, firefox70 unaffected, firefox71 unaffected, firefox72 fixed)

RESOLVED FIXED
Firefox 72
Tracking Status
firefox-esr68 --- unaffected
firefox70 --- unaffected
firefox71 --- unaffected
firefox72 --- fixed

People

(Reporter: mbalfanz, Assigned: rcaliman)

References

(Blocks 2 open bugs)

Details

(Keywords: regression, Whiteboard: dt-q)

Attachments

(3 files)

STR:

  1. select any element on any page using the inspector
  2. in the rules view, add justify-content: center;
  3. add display: flex
  4. change the declaration of step 2 to justify-items: center

ER: justify-items is not supported by flexbox and should be marked as inactive
AR: when performing edits in this order, justify-items is not marked as inactive

This seems to work for me in DevEdition (71), but fails in nightly (72). I did however get it to work once in nightly still. So this seems a bit intermittent.

Priority: -- → P2
Whiteboard: dt-q
Assignee: nobody → rcaliman
Status: NEW → ASSIGNED

(In reply to Patrick Brosset <:pbro> from comment #1)

This seems to work for me in DevEdition (71), but fails in nightly (72). I did however get it to work once in nightly still. So this seems a bit intermittent.

It's not intermittent, but it does rely on a very specific set of steps to reproduce:

  1. Navigate to:
data:text/html,<style>body { justify-content: center; /*! display: flex */}</style>
  1. Open the Inspector and enable the display:flex declaration (justify-content: center becomes active).
  2. Rename justify-content to justify-items.

Expected:
The declaration justify-items: center should be marked as inactive (depends on display: grid).

Actual:
The declaration justify-items: center still shows up as active.


The root cause is a bug introduced by the fix for bug 1557689 whereby the isUsed flag of declarations is overwritten to a fixed older state of the StyleRuleActor instead of remaining in sync with it as its declarations change.

Keywords: regression
Regressed by: 1557689
No longer regressed by: 1557689
Blocks: 1596093
Pushed by rcaliman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/47a58584b813
Emit event with StyleRuleActor as argument when its underlying CSS rule is updated. r=pbro
https://hg.mozilla.org/integration/autoland/rev/b8a3793ecceb
Test to ensure inactive CSS state does not linger when dependencies change. r=miker,pbro
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 72
You need to log in before you can comment on or make changes to this bug.