Closed Bug 2026051 Opened 2 months ago Closed 2 months ago

Turn off layout.css.convertFromNode.enabled and layout.css.getBoxQuads.enabled (in Nightly)

Categories

(Core :: Layout, task)

task

Tracking

()

RESOLVED FIXED
151 Branch
Tracking Status
firefox150 --- fixed
firefox151 --- fixed

People

(Reporter: dholbert, Assigned: dholbert)

References

Details

(Keywords: dev-doc-complete)

Attachments

(2 files)

We've had both of these prefs...
layout.css.getBoxQuads.enabled
layout.css.convertFromNode.enabled
...set to true in Nightly (and some set of other non-release builds) ever since bug 917755 and bug 918189, respectively.

These prefs were added in that off-in-release state in these commits, respectively:
https://hg-edge.mozilla.org/mozilla-central/rev/01597ae3e0aa53e5f79930f8665da6c634842e49#l5.12
https://hg-edge.mozilla.org/mozilla-central/rev/071acee02c255689730ffda1cc85b2cd77572d77#l6.13

Things have remained in that state for 12+ years.

It's not clear if other engines intend to support these APIs, and we're not actively working on getting them shipped, so we're not getting a lot of value from having enabled on Nightly (and there's nonzero cost from having Nightly/Release behave differently in a persistent way).

So: for now, let's turn these prefs off on Nightly, to reduce the number of Nightly/Release differences. If the situation changes, we can pref them back on again.

As noted in the bug, these prefs have never been enabled in release, and
there's little value in keeping them enabled in Nightly at this point, given
that we're the only engine to support these APIs. So: let's turn them off
entirely.

If other engines gain interest in supporting these, or we prioritize getting
them into a shippable state, we can always reenable the prefs.

(Note that getBoxQuads has some internal usage inside the Firefox frontend;
that's still allowed using a separate mechanism outside of this about:config
pref -- see nsINode::HasBoxQuadsSupport.)

There's a separate question about whether we should consider these APIs to be dead-code and remove them.

getBoxQuads at least has internal usages in Firefox frontend code, as I noted in the commit message (and those will remain working regardless of the pref value).

convert*FromNode is only used in tests as far as I can tell:
https://searchfox.org/firefox-main/search?q=convert.*FromNode&path=&case=false&regexp=true

So maybe it might be worth removing the convert*FromNode APIs down the line. But for the purposes of this bug, I'm just focused on the pref-enablement situation.

Pushed by dholbert@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/a992832849f5 https://hg.mozilla.org/integration/autoland/rev/0cafc749d1f8 Turn off prefs for the GeometryUtils APIs getBoxQuads and convert*FromNode. r=layout-reviewers,boris
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 151 Branch

firefox-beta Uplift Approval Request

  • User impact if declined/Reason for urgency: Turning off an API that's never been enabled in release and is now only default-enabled for current beta during the early-beta period.
  • Code covered by automated testing?: yes
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: Just a pref-flip, making the pref consistently off regardless of channel (for a pref that's only been experimentally enabled in early-beta-and-earlier for a decade)
  • String changes made/needed?: None
  • Is Android affected?: yes
Attachment #9558101 - Flags: approval-mozilla-beta?

As noted in the bug, these prefs have never been enabled in release, and
there's little value in keeping them enabled in Nightly at this point, given
that we're the only engine to support these APIs. So: let's turn them off
entirely.

If other engines gain interest in supporting these, or we prioritize getting
them into a shippable state, we can always reenable the prefs.

(Note that getBoxQuads has some internal usage inside the Firefox frontend;
that's still allowed using a separate mechanism outside of this about:config
pref -- see nsINode::HasBoxQuadsSupport.)

Original Revision: https://phabricator.services.mozilla.com/D289694

Sorry, minor correction to what I typed in the uplift request:

(In reply to Phabricator Automation from comment #6)

firefox-beta Uplift Approval Request

  • User impact if declined/Reason for urgency: Turning off an API that's never been enabled in release and is now only default-enabled for current beta during the early-beta period.
    [...]
  • Explanation of risk level: Just a pref-flip, making the pref consistently off regardless of channel (for a pref that's only been experimentally enabled in early-beta-and-earlier for a decade)

My mention of "early beta" was incorrect here; up until now, the pref has actually been enabled for the full beta period (and then off in release).

Attachment #9558101 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Keywords: dev-doc-needed

Associated PR

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: