Граф коммитов

37 Коммитов

Автор SHA1 Сообщение Дата
Kearwood "Kip" Gilbert b91be1697a Bug 1402147 - Part 1: Fire VRDisplayConnect event for VR displays that are already enumerated when a page is loaded r=daoshengmu
MozReview-Commit-ID: 7zQOSYJ6tkg

--HG--
extra : rebase_source : e2535cb282475795a6107a002cce629049258b38
2018-01-04 14:27:03 -08:00
Randall Barker b2e368e0ca Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-07 10:50:14 -08:00
Sebastian Hengst f2944960ec Backed out 3 changesets (bug 1413362) for causing merge conflicts. r=merge a=merge
Backed out changeset 8b15dfaeecaa (bug 1413362)
Backed out changeset 2d9da0d19d04 (bug 1413362)
Backed out changeset 653c66220a5f (bug 1413362)

--HG--
extra : amend_source : e5c12297b0bb6ebe27a2481e4aac6c0ca8160a1b
2017-11-07 12:41:11 +02:00
Randall Barker b1f0bd8a25 Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-06 17:43:28 -08:00
Kearwood "Kip" Gilbert ccc6462307 Bug 1410493 - Update Oculus SDK from 1.5 to 1.9, update IPD during VR presentation r=daoshengmu
- Oculus SDK was updated from 1.5 to 1.9
- As the Oculus API now returns quaternion orientations for each
  eye-to-head transform, I needed to send more information to the
  content process.
- Rather than adding the quaternion, we now calculate the view matrices
  on the VR thread in the GPU process rather than calculating it in the
  content thread from parameters.
- OpenVR's full view matrix is now used, for compatibility with more devices.
- IPD adjustments are now updated every frame for both Oculus and OpenVR.


MozReview-Commit-ID: LOtfs4QIqc8

--HG--
extra : rebase_source : 0a69824012ede4bea0e0e709a2d027d0c35730bb
2017-10-23 14:23:03 -07:00
Nicholas Nethercote 8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Kearwood "Kip" Gilbert f2b9872ab8 Bug 1396326 - VRDisplay.getFrameData() now returns false when orientation data is not available,r=daoshengmu
MozReview-Commit-ID: 9XlzeXWOy8U

--HG--
extra : rebase_source : 9a5a7b306f918a4a032673d3f6823b3f56b74aa5
2017-09-27 13:54:58 -07:00
Kearwood "Kip" Gilbert 4eef388a2c Bug 1394600 - Allow VRDisplay.requestPresent update the VR layers after presentation has already begun r=daoshengmu
- A user gesture is required only for the VRDisplay.requestPresent
  call that initiates the VR presentation, as per the WebVR 1.1 spec.
- The parameters of the VRLayer can now be updated by calling
  VRDisplay.requestPresent on an active VR presentation.
- Dynamic resolution switching is now functional:
  https://webvr.info/samples/08-dynamic-resolution.html

iMozReview-Commit-ID: BL7aJfF6nqR
MozReview-Commit-ID: CmhbFJ4ij5q

--HG--
extra : rebase_source : 28a3f608b4f821631e81ccdfe7f7824f9508a7b4
2017-08-28 16:20:59 -07:00
Kearwood "Kip" Gilbert c0e22d6c35 Bug 1400387 - Change 32-bit VR Frame ID's to 64-bit r=daoshengmu
MozReview-Commit-ID: BSvZMa0XVSO

--HG--
extra : rebase_source : 47c1a2cc9ff756cc1dd9174a12a434c4fbfc4a09
2017-09-15 13:38:47 -07:00
Daosheng Mu 8a895d7e7f Bug 1352520 - Add GeckoProfiler markers for WebVR; r=kip
MozReview-Commit-ID: 6j22J0rSw1Y

--HG--
extra : rebase_source : 44f3d0052ab0b608f3b5cea5b977f7a2bba428b6
2017-09-06 16:08:21 +08:00
Andrew McCreight 78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Daosheng Mu a6cdb3aeb0 Bug 1368990 - Add reftest for verifying onVRPresentChange; r=kip
MozReview-Commit-ID: I8cce1eYQV8

--HG--
extra : rebase_source : ff04f5cefeb446f8730f570bdea804b341d1e947
2017-06-07 17:05:04 +08:00
Kearwood Gilbert eb3becc0b0 Bug 1362213 - Implement chrome-only API to manage VR sessions r=daoshengmu,kanru,smaug
- Added new chrome-only webidl methods to be used by browser UI and WebExtensions
- Implemented bitmasked group visibility for VR sessions to enable switching
  between chrome and regular content presentations.
- Implemented throttling mechanism to avoid runaway, unthrottled render loops
  for VR sessions that are hidden by group visibility bitmasks or due to
  lower level platform VR events, such as during the Oculus
  "Health and Safety Warning".
- Simplified the PVRManager IPC protocol while extending it to support
  VR session groups and later WebVR content performance profiling API's.
- Removed the last WebVR related sync IPC call.


MozReview-Commit-ID: BMEIPyYeEbq

--HG--
extra : rebase_source : 47d3682cad3d913504175b7d4c3e9d992236f097
2017-05-08 16:01:36 -07:00
Daosheng Mu 911478d912 Bug 1343730 - Part 2: Get the submitframe result from VRDisplay; r=baku,kip
MozReview-Commit-ID: 91SqChn6jlO

--HG--
extra : rebase_source : 6254f99af8b4b08857961cebd8491264bfb9b8f5
2017-05-23 17:13:15 +08:00
Kearwood Gilbert c944eed13a Bug 1356387 - Add constructor to VRHMDSensorState
- Also removed some now redundant calls to VRHMDSensorState::Clear()


MozReview-Commit-ID: Kkbvkn3XAP4

--HG--
extra : rebase_source : 0daecf8ad2f4baa8f3d199c65dc7c0cbeb4aceae
2017-04-17 12:15:38 -07:00
Kearwood Gilbert be29a03181 Bug 1354206 - Prevent VRDisplay.requestAnimationFrame from succeeding after shutdown r=daoshengmu
MozReview-Commit-ID: LDw9nH60VCm

--HG--
extra : rebase_source : b8fbcf7573e7c0876293636ac094944f39c000b1
2017-04-12 16:22:29 -07:00
Kearwood Gilbert f12b0d6228 Bug 1353481 - When vrdisplayactivate is triggered by link traversal, VRDisplay.requestPresent should relax the user gesture requirement r=daoshengmu
MozReview-Commit-ID: 8viFBiY8A6m

--HG--
extra : rebase_source : 67ad50e7c6389d2fa6406aef4a979a50fc744c8d
2017-04-04 11:27:14 -07:00
Kearwood Gilbert 407247f33d Bug 1254776 - VRDisplay.requestPresent must succeed only when called from a user-gesture or trusted event,r=qdot
MozReview-Commit-ID: 4BugtHPRekG
2017-03-07 16:04:12 -08:00
Kearwood Gilbert 5912cbf416 Bug 1293793 - Ensure VRFrameData.timestamp is a monotonically increasing value r=daoshengmu
- Oculus and OSVR VRFrameData.timestamp values were already returning correct
  timestamps using their respective API's timestamp functions.
- OpenVR is now using timestamp values returned by the OpenVR API.
- A pseudo-random base for VRFrameData.timestamp has been implemented
  in order to avoid leaking details related to how long the user has
  been using their VR headset before hitting a page.
- More details on timestamp base within code comments...

MozReview-Commit-ID: 7VdiRn7l8Rb

--HG--
extra : rebase_source : cde5bc9de07cd120294ccd4ef502af030da9d03c
2017-03-03 15:17:19 -08:00
Kearwood (Kip) Gilbert 8dc97eb398 Bug 1293333 - Part 1: Implement window.onvrdisplayactivate and window.onvrdisplaydeactivate events r=daoshengmu,Ehsan
MozReview-Commit-ID: 746L5KObBcg

--HG--
extra : rebase_source : 3efa9171be4ec2aa6dc12bd4651e197571cf33c6
2016-10-18 18:18:10 -04:00
Olli Pettay 0364dbc792 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8
--HG--
extra : rebase_source : 3ae1207308de120b7299b13ecaa95dd1612b3459
2017-01-03 21:47:55 +02:00
Kearwood (Kip) Gilbert 53f4153710 Bug 1315543 - Eliminate UAF in Navigator::NotifyVRDisplaysUpdated,r=dmu 2016-11-24 11:50:43 -08:00
Andrew McCreight 14fad12fec Bug 1317258 - Call HoldJSObjects in VRFrameData's ctor. r=smaug
--HG--
extra : rebase_source : b9143b7c02652002923222b908b96bcc88a8effc
2016-11-17 15:37:25 +01:00
Daosheng Mu 7168326772 Bug 1299932 - Part 1: Implement gamepadPose attribute in Gamepad API; r=kip,qdot
MozReview-Commit-ID: DiJadVc2TyE

--HG--
extra : rebase_source : f4571090518a084b6d4b1e6fccf951510b227fbd
2016-10-24 18:04:41 +08:00
Jon Coppeard 556585c65f Bug 1297558 - Remove explicit calls to Expose*ToActiveJS r=mccr8 2016-10-18 17:58:19 +01:00
kearwood a9750ed3cd Bug 1306486 - Ensure that VRDisplay.getPose and VRDisplay.getFrameData return the same values until the next VRDisplay.submitFrame,r=dmu
--HG--
extra : rebase_source : 3185cf5b978849c9a748a3c08b13259e5dcd9a22
2016-10-06 16:32:16 -07:00
Kearwood (Kip) Gilbert 2743764335 Bug 1306427 - Remove pose parameter from VRDisplay.submitFrame,r=smaug,r=gw280
MozReview-Commit-ID: LZSDm73XrIa

--HG--
extra : rebase_source : 9627a96ad333e952795ed70af0f8878a21c3c697
2016-09-30 16:43:24 -07:00
Kearwood (Kip) Gilbert ae21916d63 Bug 1306422 - VRDisplay.exitPresent must only be allowed by content that started VR Presentation,r=gwright
- While fixing the VRDisplay.exitPresent to resolve fail its returned
  promise, I noticed that VRDisplay.isPresenting is returning the global
  state of the VRDisplay.  I have updated this as well in the patch so
  that the isPresenting attribute only returns true for VR presentations
  started within the same Javascript context.
2016-10-11 15:26:57 -07:00
Kearwood (Kip) Gilbert ed12a4e09a Bug 1306468 - Remove VRDisplay.getImmediatePose,r=smaug,r=gwright
- The WebVR 1.1 Spec update has removed the VRDisplay.getImmediatePose function.
2016-10-11 15:01:02 -07:00
Kearwood (Kip) Gilbert 423a243482 Bug 1306415 - Part 1: Implement VRFrameData and VRDisplay.getFrameData,r=smaug,r=dmu
MozReview-Commit-ID: HlZUtZ7iZb5

--HG--
extra : rebase_source : 2d5de1522c0b06aa49d5a0ad3fe2170fff78ec37
2016-09-30 16:43:33 -07:00
Kearwood (Kip) Gilbert 3c70cd899e Bug 1306429 - Remove VRPose.timestamp,r=smaug
- VRPose.timestamp has been removed with WebVR 1.1
- Has been replaced with VRFrameData.timestamp

MozReview-Commit-ID: 8hHRQ0SrMVk
2016-09-30 16:43:28 -07:00
kearwood 129f2f75a0 Bug 1186578 - [webvr] Implement OpenVR/SteamVR support,r=gw280
MozReview-Commit-ID: LmpcMJubrYR

--HG--
extra : rebase_source : c5d767c635bed9fa74ca94b2ce75952f20106702
2016-07-22 12:41:00 -07:00
Kearwood (Kip) Gilbert 8c1ddf0598 Bug 1295951 - Fix JS object rooting for WebVR DOM API classes,r=mccr8
MozReview-Commit-ID: D65U12CbRw9
2016-08-17 13:39:54 -07:00
Mats Palmgren 1b551a06ae Bug 1296321 - Add missing #include for Promise type. r=smaug 2016-08-18 18:21:26 +02:00
Kearwood (Kip) Gilbert 434f167559 Bug 1250244 - Part 7: Implement WebVR 1.0 API,r=bz
MozReview-Commit-ID: JTOmaWePlJq
2016-02-24 15:54:50 -08:00
Kearwood (Kip) Gilbert 0fa5a8cb30 Bug 1250244 - Part 6: Replace VRStateValidFlags with VRDisplayCapabilityFlags,r=gw280
MozReview-Commit-ID: 2D4isWasWMz
2016-04-18 12:12:33 -07:00
Kearwood (Kip) Gilbert 0fa828c884 Bug 1250244 - Part 5: Rename VRDevice to VRDisplay,r=bz
- In order to reduce the size of the following patches
  and increase their readability, we rename VRDevice
  to VRDisplay here first.

MozReview-Commit-ID: 3pv8scdIi5w
2016-04-12 17:39:28 -07:00