A decision has been (nearly) made to turn on the ENABLE_3D_CANVAS switch in nightlies but to have the runtime switch (recently added in https://bugs.webkit.org/show_bug.cgi?id=29826) default to off.
Presumably this will involve adding a user default to control the preference so that people can enable this for testing without having to recompile?
Right. There will be a flag in prefs, "webGLEnabled" which will be off by default and you can use 'default write' to turn it on. We could also add a menu item to the Debug menu in Safari if we want, like we did for acceleratedCompositingEnabled.
Created attachment 40401 [details]
This patch also changes the name of the flag from experimentalWebGLEnabled to webGLEnabled. While it's true this feature is still in development, it's a standard in-progress so I don't want people to get the idea that this is a WebKit specific experiment. And I don't want to either have this legacy when the standard is ratified or have to change the name of the flag (which is in the plist) when it is ratified.
(In reply to comment #3)
> This patch also changes the name of the flag from experimentalWebGLEnabled to
> webGLEnabled. While it's true this feature is still in development, it's a
> standard in-progress so I don't want people to get the idea that this is a
> WebKit specific experiment.
Keep in mind that often for standards-track things we still use things like -webkit- prefixes on CSS properties in case the standard changes after we ship an initial version. The name of the flag is not important, but shipping an early version of something that becomes standard with some changes later can cause compatibility problems down the road, so is something we should think about.
In that sense this is "experimental" as all implementations before a standard is relatively firm and stable are.
I don't object to your decision, but wanted to make the point.
Created attachment 40486 [details]
Replacement patch fixes LayoutTests
More extensive layout tests revealed some problems, which revealed a bug in WebGL. All fixed now.
Transmitting file data ..............................
Committed revision 49006.