Closed Bug 1308636 Opened 8 years ago Closed 4 years ago

Remove support for -moz-prefixed CSS multi-column properties

Categories

(Core :: Layout: Columns, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: neerja, Assigned: TYLin)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-complete, site-compat)

Attachments

(3 files)

This bug is part (5) from Bug 698783 comment#15
Blocks: 698783
Aliases for these properties were previously introduced in Bug 1300895
Assignee: nobody → npancholi
Blocks: unprefix
Priority: -- → P3
Assignee: npancholi → nobody
Component: Layout → Layout: Columns
Summary: Remove support for prefixed CSS multi column properties by removing aliases for these prefixed properties in nsCSSPropAliasList.h and property_database.js → Remove support for prefixed CSS multi column properties by removing aliases for these prefixed properties in column.mako.rs and property_database.js
Keywords: site-compat
Keywords: dev-doc-needed

According to dbaron's instruction in bug 698783 comment 12, I believe all the prerequisites to remove moz-prefixed multi-column properties (including column-gap defined in CSS alignment) have been done.

We've shipped all the multi-column properties (including column-span). The internal usages of the properties have been converted to standard ones in bug 1308587, although there are still some missed that I'll address in this bug.

This patch was generated by the following shell script.

function remove_column_prefix() {
    echo "Renaming $1 to $2"
    find .\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.html" -or\
            -name "*.xhtml" -or\
            -name "*.xht" -or\
            -name "*.xul" -or\
            -name "*.xml" -or\
            -name "*.svg"  \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}
remove_column_prefix "MozColumn" "column"

Depends on D59562

Assignee: nobody → aethanyc
Status: NEW → ASSIGNED

The modification to properties-db.js was generated by
./mach devtools-css-db.

Depends on D59563

I'm a bit uneasy doing this. Like sure, it's easy, but aliases are cheap and there's background for some sites (mainly google properties) only sending us -moz- prefixed stuff.

Is there a benefit of removing the aliases from the engine?

Flags: needinfo?(aethanyc)

I agree with emilio here. Can we at least stick it behind a pref that ships to pre-release for a few releases to get a sense of any potential fallout?

Is there a benefit of removing the aliases from the engine?

Since it is easy to remove the prefix, the implementation isn't simplified as much. However, I feel this is a question of doing now or never.

I agree with emilio here. Can we at least stick it behind a pref that ships to pre-release for a few releases to get a sense of any potential fallout?

I agree it's better to unprefix in pre-release for a few releases for any web-compat fallout. dbaron suggests this in the review as well
https://phabricator.services.mozilla.com/D59564#1816396

I think it's easy to switch the prefix behind a pref like
https://searchfox.org/mozilla-central/rev/d4d6f81e0ab479cde192453bae83d5e3edfb39d6/servo/components/style/properties/longhands/position.mako.rs#318

Flags: needinfo?(aethanyc)
Attachment #9120166 - Attachment description: Bug 1308636 Part 3 - Remove moz-prefixed aliases for column-gap and all CSS multi-column properties. r=dbaron → Bug 1308636 Part 3 - Remove moz-prefixed aliases for column-gap and CSS multi-column properties in early-beta-or-earlier. r=dbaron
Summary: Remove support for prefixed CSS multi column properties by removing aliases for these prefixed properties in column.mako.rs and property_database.js → Remove support for -moz-prefixed CSS multi-column properties on nightly and early-beta
Attachment #9120166 - Attachment description: Bug 1308636 Part 3 - Remove moz-prefixed aliases for column-gap and CSS multi-column properties in early-beta-or-earlier. r=dbaron → Bug 1308636 Part 3 - Remove moz-prefixed aliases for column-gap and CSS multi-column properties. r=dbaron

In the latest revision, I added a pref layout.css.prefixes.columns to guard the prefixed properties behind, and use false by default for all channels.

Summary: Remove support for -moz-prefixed CSS multi-column properties on nightly and early-beta → Remove support for -moz-prefixed CSS multi-column properties
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/21f9476a9588
Part 1 - Convert -moz-column-span to column-span in a crashtest. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/08e88920caa4
Part 2 - Convert CSSOM usages of moz-prefixed column properties in tests. r=dbaron
https://hg.mozilla.org/integration/autoland/rev/b7913d967261
Part 3 - Remove moz-prefixed aliases for column-gap and CSS multi-column properties. r=dbaron
Type: defect → task
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: