Bug 174202

Summary: [WebVR] Add IDLs and stubs
Product: WebKit Reporter: Sergio Villar Senin <svillar>
Component: New BugsAssignee: Sergio Villar Senin <svillar>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, buildbot, dino, jiewen_tan, jonlee, mitz, rniwa, sam, thorton, webkit-bug-importer, zan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
WIP patch
none
Archive of layout-test-results from ews100 for mac-elcapitan
none
Archive of layout-test-results from ews104 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews113 for mac-elcapitan
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Patch dino: review+

Sergio Villar Senin
Reported 2017-07-06 08:37:32 PDT
[WebVR] Add IDLs and stubs
Attachments
Patch (161.53 KB, patch)
2017-07-06 09:07 PDT, Sergio Villar Senin
no flags
Patch (143.06 KB, patch)
2017-07-12 08:56 PDT, Sergio Villar Senin
no flags
Patch (156.97 KB, patch)
2017-08-10 04:13 PDT, Sergio Villar Senin
no flags
Patch (132.30 KB, patch)
2017-08-10 04:22 PDT, Sergio Villar Senin
no flags
WIP patch (133.39 KB, patch)
2017-08-30 13:00 PDT, Zan Dobersek
no flags
Archive of layout-test-results from ews100 for mac-elcapitan (1.36 MB, application/zip)
2017-08-30 14:27 PDT, Build Bot
no flags
Archive of layout-test-results from ews104 for mac-elcapitan-wk2 (1.53 MB, application/zip)
2017-08-30 14:31 PDT, Build Bot
no flags
Archive of layout-test-results from ews113 for mac-elcapitan (2.13 MB, application/zip)
2017-08-30 14:46 PDT, Build Bot
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (1.28 MB, application/zip)
2017-08-30 14:55 PDT, Build Bot
no flags
Patch (131.04 KB, patch)
2017-09-05 03:05 PDT, Sergio Villar Senin
dino: review+
Sergio Villar Senin
Comment 1 2017-07-06 09:07:58 PDT
Sergio Villar Senin
Comment 2 2017-07-06 09:09:21 PDT
It's missing the Xcode stuff, but perhaps could be added later by someone else.
Alex Christensen
Comment 3 2017-07-06 09:30:01 PDT
Comment on attachment 314723 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=314723&action=review > Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:223 > +ENABLE_WEBVR = ENABLE_WEBVR; > +ENABLE_OFFSCREEN_CANVAS = ENABLE_OFFSCREEN_CANVAS; I'm not sure if we'll want to have these on by default during development. > Source/WebCore/Modules/webvr/NavigatorWebVR.cpp:39 > +const Vector<RefPtr<VRDisplay>>& NavigatorWebVR::activeVRDisplays(Navigator&) Could this return a const Vector<Ref<VRDisplay>>& ? > Source/WebCore/Modules/webvr/VRStageParameters.idl:33 > +] interface VRStageParameters { > + readonly attribute Float32Array sittingToStandingTransform; > + > + readonly attribute float sizeX; > + readonly attribute float sizeZ; > +}; I guess this is more of a spec issue, but I've never been convinced that a stage is universally part of VR. I understand the need for having two displays with two projection matrices and I think that's necessary for VR, but I'm not sure all VR applications want to define a 2D stage where the person is. Was it really worth standardization?
Sam Weinig
Comment 4 2017-07-06 11:54:30 PDT
This should probably be discussed on webkit-dev before moving forward.
Sam Weinig
Comment 5 2017-07-06 11:58:03 PDT
Some notes: - IDL 'unsigned long' maps to WebCore 'unsigned'. - It would be better to split Offscreen Canvas and WebVR into separate changes.
Sergio Villar Senin
Comment 6 2017-07-07 01:38:16 PDT
(In reply to Sam Weinig from comment #4) > This should probably be discussed on webkit-dev before moving forward. Oh right. I had the impression that it was already discussed but it was in the context of some private emails with some Apple folks.
Sergio Villar Senin
Comment 7 2017-07-12 08:56:13 PDT
Created attachment 315247 [details] Patch Moved unsigned long to unsigned. Removed OffscreenCanvas stuff
Sergio Villar Senin
Comment 8 2017-08-02 16:19:30 PDT
Maciej asked in the list to replace the build flag by a runtime flag. Makes total sense, I'll do it.
Sergio Villar Senin
Comment 9 2017-08-10 04:13:58 PDT
Sergio Villar Senin
Comment 10 2017-08-10 04:15:55 PDT
Recent changes include * Moved from build flag -> runtime flag * Added a couple of basic test cases * Fixed build without GAMEPAD support * Added temptative Xcode stuff. Cannot make it build as some DerivedSources are not generated (will need some help from an Appler).
Sergio Villar Senin
Comment 11 2017-08-10 04:22:19 PDT
Sergio Villar Senin
Comment 12 2017-08-29 05:01:51 PDT
I know we're in summer time, any reviewer? Also could someone help with the Xcode stuff?
Zan Dobersek
Comment 13 2017-08-30 13:00:56 PDT
Created attachment 319389 [details] WIP patch Attachment #317802 [details] with necessary XCode changes.
Zan Dobersek
Comment 14 2017-08-30 13:48:23 PDT
(In reply to Zan Dobersek from comment #13) > Created attachment 319389 [details] > WIP patch > > Attachment #317802 [details] with necessary XCode changes. This builds now, but there's test failures for the two added tests. Also, please don't forget to update the ChangeLog entries, a few of them are redundant now that the ENABLE_WEBVR flag isn't introduced anymore.
Build Bot
Comment 15 2017-08-30 14:27:44 PDT
Comment on attachment 319389 [details] WIP patch Attachment 319389 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/4412049 New failing tests: webvr/webvr-enabled.html webvr/webvr-disabled.html
Build Bot
Comment 16 2017-08-30 14:27:45 PDT
Created attachment 319401 [details] Archive of layout-test-results from ews100 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 17 2017-08-30 14:31:43 PDT
Comment on attachment 319389 [details] WIP patch Attachment 319389 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/4412055 New failing tests: webvr/webvr-enabled.html webvr/webvr-disabled.html
Build Bot
Comment 18 2017-08-30 14:31:45 PDT
Created attachment 319403 [details] Archive of layout-test-results from ews104 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 19 2017-08-30 14:46:48 PDT
Comment on attachment 319389 [details] WIP patch Attachment 319389 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/4412089 New failing tests: webvr/webvr-enabled.html webvr/webvr-disabled.html
Build Bot
Comment 20 2017-08-30 14:46:50 PDT
Created attachment 319408 [details] Archive of layout-test-results from ews113 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 21 2017-08-30 14:55:33 PDT
Comment on attachment 319389 [details] WIP patch Attachment 319389 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/4412099 New failing tests: webvr/webvr-enabled.html webvr/webvr-disabled.html
Build Bot
Comment 22 2017-08-30 14:55:34 PDT
Created attachment 319411 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Sergio Villar Senin
Comment 23 2017-09-05 03:05:57 PDT
Created attachment 319890 [details] Patch Tests working fine. Mac should build now too
Sergio Villar Senin
Comment 24 2017-09-11 01:35:14 PDT
Ping reviewers. The patch is getting rotten :)
Dean Jackson
Comment 25 2017-09-12 16:24:58 PDT
Comment on attachment 319890 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=319890&action=review It's unclear to me if we should implement this version (1.1) or the next version (2.0). Version 1.1 says it is already deprecated. Version 2.0 says it isn't ready to implement yet. I guess we should start with 1.1. > Source/WebKit/UIProcess/API/C/WKPreferences.cpp:1881 > + > +void WKPreferencesSetWebVREnabled(WKPreferencesRef preferencesRef, bool flag) > +{ > + toImpl(preferencesRef)->setWebVREnabled(flag); > +} > + > +bool WKPreferencesGetWebVREnabled(WKPreferencesRef preferencesRef) > +{ > + return toImpl(preferencesRef)->webVREnabled(); > +} I don't think we need the C API entry points. > Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:531 > +// Defaults to false. > +WK_EXPORT void WKPreferencesSetWebVREnabled(WKPreferencesRef, bool flag); > +WK_EXPORT bool WKPreferencesGetWebVREnabled(WKPreferencesRef); > + Ditto.
Sergio Villar Senin
Comment 26 2017-09-13 01:50:45 PDT
(In reply to Dean Jackson from comment #25) > Comment on attachment 319890 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=319890&action=review > > It's unclear to me if we should implement this version (1.1) or the next > version (2.0). Version 1.1 says it is already deprecated. Version 2.0 says > it isn't ready to implement yet. I guess we should start with 1.1. I just followed the "do what other browsers do" "rule". Everybody else is shipping 1.1. It's true that the specs are tagged as deprecated but 2.0 is not a thing yet. Also the amount of API changes between 1.1 and 2.0 is not that big, I expect the transition not to be overwhelmingly difficult.
Sergio Villar Senin
Comment 27 2017-09-13 04:17:37 PDT
Radar WebKit Bug Importer
Comment 28 2017-09-27 13:01:51 PDT
Note You need to log in before you can comment on or make changes to this bug.