Open Bug 879119 Opened 11 years ago Updated 16 days ago

Drop support for -moz-prefixes from cursor: zoom-in | zoom-out | grab | grabbing

Categories

(Core :: CSS Parsing and Computation, task)

task

Tracking

()

People

(Reporter: moz, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: addon-compat, dev-doc-needed, site-compat)

Attachments

(1 file)

Bug 772153 added support for unprefixed cursor: zoom-in | zoom-out (Fx24).
Support for -moz-prefixes should be dropped after
<inset-arbitrary-number-here> releases.
Blocks: 772153
No longer depends on: 772153
Blocks: 880672
Summary: Drop support for -moz-prefixes from cursor: zoom-in | zoom-out → Drop support for -moz-prefixes from cursor: zoom-in | zoom-out | grab | grabbing
Unprefixed grab | grabbing are implemented in Bug 880672 (Firefox 27).

Besides, shouldn't bugs 772153 and 880672 be blocking this issue rather than is blocked by this?

Lastly, most web authors supply a fallback image or unprefixed zoom-in | zoom-out | grab | grabbing as a value for the cursor, so I think "<inset-arbitrary-number-here>" does not need to be a big number.
I note that there are still active themes/addons on DXR which only use the -moz variant of these properties, some of which are still kept up-to-date. Is it worth removing the prefixed variants regardless, given the time it has been since the unprefixed versions (and deprecation notice) were issued?
(In reply to Thomas Wisniewski from comment #3)

> Is it worth removing the prefixed variants

Yes!
https://hsivonen.fi/vendor-prefixes/

Blink woudn't drop any -webkit-prefix if they asked that question
Of course :)

But is it worth removing them *now*?
In the interests of moving this forward, here's a patch that removes the moz-prefixed cursors.

Try seems fine with it (discounting the scary-looking unrelated oranges there): https://treeherder.mozilla.org/#/jobs?repo=try&revision=b514efbfde11f7a22cd6d32ed793ddf3f3694178

I can also file an intent to unship on dev.platform, since I think that's standard procedure for any such removals?
Attachment #8814260 - Flags: review?(cam)
(In reply to Thomas Wisniewski from comment #6)
> I can also file an intent to unship on dev.platform, since I think that's
> standard procedure for any such removals?

Yes, I think that would be a great idea.  Is there a way you can determine the number of users of the addons that mention these cursor property values?  Searching for moz-zoom-in on DXR, it looks like nearly all uses are just setting that property, and so any breakage would be limited to the cursor not looking right, which is pretty minimal.  If you can determine that any of the addons have a lot of users, you could contact the authors to prompt them to update.
Comment on attachment 8814260 [details] [diff] [review]
879119-remove_support_for_moz-prefixed_cursor_values.diff

Review of attachment 8814260 [details] [diff] [review]:
-----------------------------------------------------------------

r=me though I'd probably wait until after you give a week or so after sending the intent email to see if you get any pushback.

::: layout/style/nsCSSProps.cpp
@@ +1269,5 @@
>    { eCSSKeyword_grab, NS_STYLE_CURSOR_GRAB },
>    { eCSSKeyword_grabbing, NS_STYLE_CURSOR_GRABBING },
>    { eCSSKeyword_zoom_in, NS_STYLE_CURSOR_ZOOM_IN },
>    { eCSSKeyword_zoom_out, NS_STYLE_CURSOR_ZOOM_OUT },
>    // -moz- prefixed vendor specific

You can remove this comment.
Attachment #8814260 - Flags: review?(cam) → review+
Intent to unship has been sent: https://groups.google.com/forum/#!topic/mozilla.dev.platform/JhnttZThqts

I'll try to study DXR soon to see who to outreach.
I haven't received any feedback on the intent to unship yet, so I'll try to do some DXR-hunting soon so we can land this removal.
Alright, here's a list of addons I found on DXR which use -moz-zoom-(in|out) or -moz-grab(bing), but not the standard version:

https://addons.mozilla.org/en-US/firefox/addon/a-bit-better-rtm/
https://addons.mozilla.org/en-US/firefox/addon/adnauseam/
https://addons.mozilla.org/en-US/firefox/addon/animatedtabs/
https://addons.mozilla.org/en-US/firefox/addon/antigameorigin-v6/
https://addons.mozilla.org/en-US/firefox/addon/better-hkgolden/
https://addons.mozilla.org/en-US/firefox/addon/browse-images/
https://addons.mozilla.org/en-US/firefox/addon/browserdeals-preisvergleich/
https://addons.mozilla.org/en-US/firefox/addon/clip-reference/
https://addons.mozilla.org/en-US/firefox/addon/complete-youtube-saver/
https://addons.mozilla.org/en-US/firefox/addon/cookies-manager-plus/
https://addons.mozilla.org/en-US/firefox/addon/dictionary-tooltip/
https://addons.mozilla.org/en-US/firefox/addon/drag-select-link-text/
https://addons.mozilla.org/en-US/firefox/addon/easyscreenshot/
https://addons.mozilla.org/en-US/firefox/addon/elegant-scrollbar-cursors/
https://addons.mozilla.org/en-US/firefox/addon/frf-helpers/
https://addons.mozilla.org/en-US/firefox/addon/funpin/
https://addons.mozilla.org/en-US/firefox/addon/geolocater/
https://addons.mozilla.org/en-US/firefox/addon/grab-and-drag/
https://addons.mozilla.org/en-US/firefox/addon/graphical-timeline/
https://addons.mozilla.org/en-US/firefox/addon/imagetools/
https://addons.mozilla.org/en-US/firefox/addon/interclue/
https://addons.mozilla.org/en-US/firefox/addon/lightbeam/
https://addons.mozilla.org/en-US/firefox/addon/location-guard/
https://addons.mozilla.org/en-US/firefox/addon/manga-reader/
https://addons.mozilla.org/en-US/firefox/addon/mfull/
https://addons.mozilla.org/en-US/firefox/addon/mkiosk/
https://addons.mozilla.org/en-US/firefox/addon/old-default-image-style/
https://addons.mozilla.org/en-US/firefox/addon/outwit-images/
https://addons.mozilla.org/en-US/firefox/addon/pajoohyar/
https://addons.mozilla.org/en-US/firefox/addon/pencil-prototyping/
https://addons.mozilla.org/en-US/firefox/addon/pixelzoomer/
https://addons.mozilla.org/en-US/firefox/addon/previewr/
https://addons.mozilla.org/en-US/firefox/addon/quick-viewers/
https://addons.mozilla.org/en-US/firefox/addon/serptrends-seo-extension/
https://addons.mozilla.org/en-US/firefox/addon/showcase/
https://addons.mozilla.org/en-US/firefox/addon/speed-dial/
https://addons.mozilla.org/en-US/firefox/addon/stylish-custom/
https://addons.mozilla.org/en-US/firefox/addon/synchronicity/
https://addons.mozilla.org/en-US/firefox/addon/tab-catalog/
https://addons.mozilla.org/en-US/firefox/addon/TitleBarTweaker/
https://addons.mozilla.org/en-US/firefox/addon/wiifox/
https://addons.mozilla.org/en-US/firefox/addon/yodiz-grab/
https://addons.mozilla.org/en-US/mobile/addon/classic-grey-theme/
https://addons.mozilla.org/en-US/seamonkey/addon/blue-essence-seamonkey-theme/
https://addons.mozilla.org/en-US/seamonkey/addon/gnomerunnerfd-revived
https://addons.mozilla.org/en-US/thunderbird/addon/display-contact-photo/
https://addons.mozilla.org/en-US/thunderbird/addon/gantt-view/
https://addons.mozilla.org/en-US/thunderbird/addon/quickfolders-tabbed-folders/
https://addons.mozilla.org/en-US/thunderbird/addon/threadvis/
https://addons.mozilla.org/en-US/thunderbird/addon/srb-lightning/
https://dxr.mozilla.org/addons/source/addons/10284
https://dxr.mozilla.org/addons/source/addons/425158
https://dxr.mozilla.org/addons/source/addons/593132
https://dxr.mozilla.org/addons/source/addons/626202
https://dxr.mozilla.org/addons/source/addons/648466
https://dxr.mozilla.org/addons/source/addons/658314
https://dxr.mozilla.org/addons/source/addons/683446
https://dxr.mozilla.org/addons/source/addons/687782
https://dxr.mozilla.org/addons/source/addons/712774
https://dxr.mozilla.org/addons/source/addons/731689
https://dxr.mozilla.org/addons/source/addons/740949
https://dxr.mozilla.org/addons/source/addons/747619
https://dxr.mozilla.org/addons/source/addons/747775
https://dxr.mozilla.org/addons/source/addons/751348
https://dxr.mozilla.org/addons/source/addons/754868
http://pali.sirimangalo.org/
http://tools.seobook.com/firefox/seo-for-firefox.html
http://www.kwiclick.com/support.html
http://www.pagetweak.com/
https://support.twenga-solutions.com/hc/en-gb
https://www.zotero.org/download/

Also, Firebug will have to decide which versions they want to update (if any).

The defunct CoolPreviews addon seems to still have quite a few users as well, with quite a few variants and clones in DXR that don't seem to be on AMO. I'm not sure whether we can reach out to all of those users, but I could do another DXR search for those addons if we'd like to try.

There were also a few Chrome extensions that multiple users seem to have "Foxified", which we might want to reach out to as well:
- Plus for Trello
- OCRNow for FENXT
- Black Menu for Google

I can try to whittle this list down to just the most popular addons, but I'm not sure what the best course of action is for this sort of thing. Is there anyone on the addons team I should speak with about this, heycam?
Flags: needinfo?(cam)
Keywords: addon-compat
Sorry for the long delay in replying to the needinfo.  Of the Firefox add-ons:

(In reply to Tim Nguyen :ntim from comment #12)
> - https://addons.mozilla.org/en-US/firefox/addon/adnauseam/
> - https://addons.mozilla.org/en-US/firefox/addon/antigameorigin-v6/
> - https://addons.mozilla.org/en-US/firefox/addon/drag-select-link-text/
> - https://addons.mozilla.org/en-US/firefox/addon/easyscreenshot/
> - https://addons.mozilla.org/en-US/firefox/addon/lightbeam/
> - https://addons.mozilla.org/en-US/firefox/addon/location-guard/

All of these have had an update in the last 6 months.

> - https://addons.mozilla.org/en-US/firefox/addon/pixelzoomer/

This one was last updated about a year ago.

> - https://addons.mozilla.org/en-US/firefox/addon/funpin

This one is no longer available.

Should we send a message to the authors to ask them to update their CSS?
Flags: needinfo?(cam)
Blink has just unprefixed their grab cursors and such. We should probably do the same. Thomas, do you have the cycles to reach out to those authors?

Otherwise we may want to just alias the keywords for now.
No longer blocks: 772153, 880672
Severity: normal → --
Type: defect → task
Depends on: 772153, 880672

Wow, this bug slipped under my radar for far too long somehow. Sorry about that!

Emilio, should we try dropping support again now? I'm not sure how we can figure out which addons are currently affected without DXR.

Flags: needinfo?(twisniewski) → needinfo?(emilio)

(In reply to Thomas Wisniewski [:twisniewski] from comment #15)

I'm not sure how we can figure out which addons are currently affected without DXR.

Rob would be able to tell, probably?

Though we made these just aliases in bug 1570182, so it's very low effort to keep.

Flags: needinfo?(emilio) → needinfo?(rob)

Here are all public extensions that use -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out without unprefixed variants, sorted by users along with commentary about the impact of dropping prefixed support.

There are 15 results, 3 have explicit extension-defined fallbacks, 12 would be impacted by dropping cursor support.

Given the relatively few number of impacted extensions, I think that a reasonable way forwards here is to reach out to these add-on developers as a courtesy, and drop support for the prefixed values.

https://addons.mozilla.org/en-US/firefox/addon/videospeed/
95k users, last updated 3 years ago (apr 2021) (note unmainted, forked multiple times, see below: video-speed-controller-new / videospeed-magnus-fork / video-speed-controller-2022 / loopcontrol / video-speed-controller2mod )
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

https://addons.mozilla.org/en-US/firefox/addon/antigamereborn/
3k users, last updated 1 month ago (mar 2024)
Usage: -moz-zoom-out / -moz-zoom-in without unprefix, only -webkit- prefixes.

https://addons.mozilla.org/en-US/firefox/addon/drag-select-link-text/
1.6k users, last updated 6 years ago (jan 2018)
Usage: -moz-grab with no fallbacks.

https://addons.mozilla.org/en-US/firefox/addon/video-speed-controller-new/
1.3k users, last updated 1 year ago (dec 2022) (note: fork of videospeed)
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

https://addons.mozilla.org/en-US/firefox/addon/running-challenges/
600 users, last updated 9 months ago (jun 2023)
Usage: leafletjs: -moz-grab without fallback (only webkit prefix), -moz-grabbing with fallback to "cursor: move".

https://addons.mozilla.org/en-US/firefox/addon/videospeed-magnus-fork/
300 users, last updated 1 year ago (may 20223) (note: fork of videospeed)
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

https://addons.mozilla.org/en-US/firefox/addon/letmewatch/
200 users, last updated 2 years ago (dec 2021)
Usage: -moz-zoom-in with fallback to "cursor: default".

https://addons.mozilla.org/en-US/firefox/addon/smmbox/
100 users, last updated 5 days ago (apr 2024)
Usage: leafletjs: -moz-grab without fallback (only webkit prefix), -moz-grabbing with fallback to "cursor: move".

https://addons.mozilla.org/en-US/firefox/addon/video-speed-controller-2022/
46 users, last updated 2 years ago (jul 2022) (note: fork of videospeed)
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

https://addons.mozilla.org/en-US/firefox/addon/pop-youtube/
16 users, last updated 4 years ago (may 2020)
Usage: -moz-grab without fallback (only -webkit-grab). Interestingly, through JS instead of CSS.

https://addons.mozilla.org/en-US/firefox/addon/loopcontrol/
15 users, last updated 2 years ago (jul 2022) (note: fork of videospeed)
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

https://addons.mozilla.org/en-US/firefox/addon/calm-cafe/
6 users, last updated 8 months ago (jul 2023)
Usage: -moz-grab on input[type=range]::-moz-range-thumb

https://addons.mozilla.org/en-US/firefox/addon/flexify-web/
2 users, last updated 1 year ago (mar, 2023)
Usage: -moz-grab and -moz-grabbing on input[type="range"]::-moz-range-thumb

https://addons.mozilla.org/en-US/firefox/addon/pyrun/
2 users, last updated 2 years ago (oct 2022)
Usage: -moz-grab / -moz-grabbing with fallback to cursor:move

https://addons.mozilla.org/en-US/firefox/addon/video-speed-controller2mod/
1 user, last updated 2 years ago (nov 2021) (note: fork of videospeed)
Usage: -moz-grab + -moz-grabbing without unprefixed fallbacks (only -webkit-grab / -webkit-grabbing)

P.S. https://addons.mozilla.org/en-US/firefox/addon/easyscreenshot/ (3m users) is among the results. While it technically uses -moz-grab, it lists a PNG image first, so -moz-grab is never actually used, and has been omitted after manual analysis.

Flags: needinfo?(rob)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: