Primary eng (and PM) emails
Summary
-webkit-canvas is a non-standard CSS property that allows one to use a canvas to draw the background of an element. See here for documentation on the original launch of this feature and an indication of how it can be used.
Motivation
The CSS Houdini effort aims to provide a much better way to implement the same thing, via the Custom Paint feature. In addition, -webkit-canvas is non-standard, and many common use cases found are better implemented as SVG (see these examples of internal Chrome usage, for example).
Compatibility Risk
Low. It is a WebKit/Blink-specific feature.
Alternative implementation suggestion for web developers
Use SVG for static images. For dynamic ones, use transparency with a real canvas element behind the element.
Usage information from UseCounter
Current usage is about ~0.05%. Some of this usage comes from Chrome internal UIs for bookmarks, the (old?) ChromeOS file manager, and one or two more obscure cases. It may even constitute the majority of use, which would explain it going down over time since the above use cases are for older-generation Chrome UIs that are being phased out.
Entry on chromestatus.com, crbug.com, or MDN
Requesting approval to remove too?
Ideally yes, but only if we can prove that most usage is from Chrome UI.
lgtm, we should fix the internal usage and see what it does to the metrics. I didn't think internal UI was counted in use counters...
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
The element() notation is almost a drop-in replacement for -webkit-canvas (and more). Once that ships, this deprecation is a no brainer IMHO.
Chris, is this feature getting in the way of slimming paint?
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Another thing to consider: Because this feature is supported on both Android and iOS webviews, I would bet it has a lot more usage in mobile webview apps (including PhoneGap, Cordova, etc.) compared to the open web. Webview apps also use canvases a lot more frequently than websites do. Because web code in packaged apps typically runs in a webview rather than Chrome, it falls outside of the scope of usage statistics collection. Of all the selection biases that exist in our stats collection, this may be the most problematic one because webview apps may have completely different feature usage patterns since they are not constrained by browser compatibility issues the way web sites are.We learned a lesson about this couple weeks ago with the removal of the "darker" compositing mode. Measured usage on the open web was dismal, but the feature removal made hundreds of Android apps unusable when the webview implementation was swapped from under them. We were lucky to catch this in the last days of beta. Fixing installed apps is not as fast as fixing server-side code because even if the developer fixes the issue quickly, it takes a many weeks before the vast majority of users have downloaded and installed the application update. Anyways, this is not a concern as far as deprecation is concerned, just something to keep in mind when it is time for removal. The biggest mistake we made in that case was to rely on web usage stats to justify removing without deprecating first (my bad). Because canvases are so heavily used in webview apps, and we have no usage stats for them, I think that not only should deprecation be mandatory, but we should observe longer than normal deprecation windows for canvas features, and any-other type of feature that is used heavily in packaged apps. Running in the dark is dangerous.
Could someone post a link to a JS Fiddle that replicates this deprecated behavior? I cannot find anyway to do it, and stackoverflow can't either (without toDataURL which we all know doesn't work for animation): https://stackoverflow.com/questions/3397334/use-canvas-as-a-css-background#_=_
On Monday, April 20, 2015 at 3:34:34 PM UTC-7, Chris Harrelson wrote:Primary eng (and PM) emails
Summary
-webkit-canvas is a non-standard CSS property that allows one to use a canvas to draw the background of an element. See here for documentation on the original launch of this feature and an indication of how it can be used.
Motivation
The CSS Houdini effort aims to provide a much better way to implement the same thing, via the Custom Paint feature. In addition, -webkit-canvas is non-standard, and many common use cases found are better implemented as SVG (see these examples of internal Chrome usage, for example).
Compatibility Risk
Low. It is a WebKit/Blink-specific feature.
Alternative implementation suggestion for web developers
Use SVG for static images. For dynamic ones, use transparency with a real canvas element behind the element.
Usage information from UseCounter
Current usage is about ~0.05%. Some of this usage comes from Chrome internal UIs for bookmarks, the (old?) ChromeOS file manager, and one or two more obscure cases. It may even constitute the majority of use, which would explain it going down over time since the above use cases are for older-generation Chrome UIs that are being phased out.
Entry on chromestatus.com, crbug.com, or MDN
Requesting approval to remove too?
Ideally yes, but only if we can prove that most usage is from Chrome UI.
--You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/226a77bb-ba9a-489e-8474-812149c4fb12%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw--3GmST_8GM8p71CXkjcAMyxF4CaX9Re-Q%2BOysYF88yQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aef53b7-2ac3-47b1-96cf-88884710e07d%40chromium.org.