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

18 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson f4ef8ec8c7 Bug 1803504 - Fix C++20 -Wdeprecated-volatile warnings in gfx/vr. r=gfx-reviewers,lsalzman
C++20 deprecated decrement/increment of object of volatile-qualified types, e.g. v++.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html

`warning: gfx/vr/VRShMem.cpp:420:21: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]`

C++20 is warning that incrementing the volatile int64_t variables `mExternalShmem->geckoGenerationA` and `geckoGenerationB` is not an atomic operation. Replacing the postfix increment with explicit addition makes the warnings go away without changing the semantics of this code.

Differential Revision: https://phabricator.services.mozilla.com/D163558
2022-12-02 05:14:37 +00:00
Daosheng Mu f61dc99e7b Bug 1603539 - Part 2: Sending telemetry via VR shared memory. r=kip,thomasmo,chutten
Differential Revision: https://phabricator.services.mozilla.com/D57378

--HG--
extra : moz-landing-system : lando
2019-12-23 20:48:17 +00:00
Gurzau Raul a8c7fd6201 Backed out 2 changesets (bug 1603539) for build bustage at VRManager.cpp on a CLOSED TREE.
Backed out changeset eb9ff96b66d7 (bug 1603539)
Backed out changeset 75348f5742c6 (bug 1603539)
2019-12-23 21:42:49 +02:00
Daosheng Mu 9fdd26d118 Bug 1603539 - Part 2: Sending telemetry via VR shared memory. r=kip,thomasmo,chutten
Differential Revision: https://phabricator.services.mozilla.com/D57378

--HG--
extra : moz-landing-system : lando
2019-12-23 14:28:44 +00:00
thomasmo e6655d9d96 Bug 1599846 - Enable Background WebExtension scripts in FxR on PC r=zombie
This change allows for background scripts from WebExtensions to run in the FxR on PC chrome window. In this scenario, the promise ExtensionParent.browserStartupPromise is never fulfilled because it depends on the notification sessionstore-windows-restored, which doesn't occur because the FxR window does not participate in SessionStore.
To address this issue, browserStartupPromise is now a race between the original notification and a new one, extensions-late-startup, which is fired from fxrui.js.

Differential Revision: https://phabricator.services.mozilla.com/D55058

--HG--
extra : moz-landing-system : lando
2019-11-30 04:19:46 +00:00
Daosheng Mu 3512e86bbb Bug 1590911 - Forwarding fullscreen events to VR host API. r=thomasmo,kip,smaug,PhilipLamb
We wanna forward fullscreen enter/exit events to VR host.

Differential Revision: https://phabricator.services.mozilla.com/D50371

--HG--
extra : moz-landing-system : lando
2019-10-25 07:43:27 +00:00
Daosheng Mu 183d99c002 Bug 1587942 - Forwarding keyboard show/hide events to VR host API. r=thomasmo,PhilipLamb,masayuki,imanol
Forwarding keyboard focus/blur events to VR browser that runs at another process. We will need to set these events in VR shmem, then VR host can receive these states from other process.

Differential Revision: https://phabricator.services.mozilla.com/D48903

--HG--
extra : moz-landing-system : lando
2019-10-18 01:24:56 +00:00
thomasmo afb76f5fe2 Bug 1570123 - Export Input functions from vrhost r=kip
This change adds a new export, SendUIMessageToVRWindow, from vrhost.dll
that allows the caller to forward a subset of UI messages to the VR
window in Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D40828

--HG--
extra : moz-landing-system : lando
2019-08-09 22:41:23 +00:00
thomasmo b81f65bc8d Bug 1570230 - Crash in [@ mozilla::gfx::VRShMem::JoinShMem] r=kip
Bug 1570440 - [Web content] Firefox Crashes on CNN.COM (Windows7)

This change addresses an issue where VRShMem can be in an invalid state when
there is no VR process available. In this case, the VRExternalShmem struct is
allocated on the heap rather than accessed via shared memory. When VRService
stops, it clears this pointer, but cannot re-access it when it restarts. Thus,
this results in a nullptr crash when a tab Enters, Exits, and Re-enters VR.

The fix is to distinguish between in-proc heap allocation vs cross-proc shared
memory so that VRService can decide to make the call to LeaveShMem in its Stop
function. This will keep the heap allocation alive across service restarts and
prevent the null crash.

Differential Revision: https://phabricator.services.mozilla.com/D40681

--HG--
extra : moz-landing-system : lando
2019-08-08 17:57:34 +00:00
Narcis Beleuzu 3830ded867 Backed out changeset 87890c29a8ea (bug 1570230) for crashes on mozilla::gfx::VRShMem::CreateShMem(bool) . CLOSED TREE 2019-08-08 01:19:51 +03:00
thomasmo 76f4d1e6ef Bug 1570230 - Crash in [@ mozilla::gfx::VRShMem::JoinShMem] r=kip
Bug 1570440 - [Web content] Firefox Crashes on CNN.COM (Windows7)

This change addresses an issue where VRShMem can be in an invalid state when
there is no VR process available. In this case, the VRExternalShmem struct is
allocated on the heap rather than accessed via shared memory. When VRService
stops, it clears this pointer, but cannot re-access it when it restarts. Thus,
this results in a nullptr crash when a tab Enters, Exits, and Re-enters VR.

The fix is to distinguish between in-proc heap allocation vs cross-proc shared
memory so that VRService can decide to make the call to LeaveShMem in its Stop
function. This will keep the heap allocation alive across service restarts and
prevent the null crash.

Differential Revision: https://phabricator.services.mozilla.com/D40681

--HG--
extra : moz-landing-system : lando
2019-08-07 19:23:33 +00:00
thomasmo 94cc4efcb3 Bug 1570125 - Create VR window via vrhost r=kip,mossop
This change creates the new export CreateVRWindow from vrhost.dll. This API
results in spawning a new Firefox window with the Firefox Reality 2D UI and
returns data needed for the host to interact with it. VRShMem is used to pass
data across process boundaries during this bootstrap process.

Additional tests are added to vrhost to be later converted to unittests.

Differential Revision: https://phabricator.services.mozilla.com/D40236

--HG--
rename : gfx/vr/vrhost/vrhost.cpp => gfx/vr/vrhost/vrhosttest.cpp
extra : moz-landing-system : lando
2019-08-02 20:55:48 +00:00
thomasmo a4f1b3fdcd Bug 1563233 - Update VRManager to consume VRShMem r=kip,daoshengmu
This change replaces and removes code in VRManager that was refactored into the
new VRShMem class.

Differential Revision: https://phabricator.services.mozilla.com/D36986

--HG--
extra : moz-landing-system : lando
2019-07-29 14:30:54 +00:00
Coroiu Cristina e1d724d2f5 Backed out changeset 3179c40a2a25 (bug 1563233) for wpt failures at webvr/webvr-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html 2019-07-15 06:29:11 +03:00
thomasmo f8ab88e23d Bug 1563233 - Update VRManager to consume VRShMem r=kip,daoshengmu
This change replaces and removes code in VRManager that was refactored into the
new VRShMem class.

Differential Revision: https://phabricator.services.mozilla.com/D36986

--HG--
extra : moz-landing-system : lando
2019-07-14 13:26:39 +00:00
Narcis Beleuzu 83334f37bc Backed out changeset 1740dc9a710c (bug 1563233) for mochitest failures on VRManager.cpp . CLOSED TREE 2019-07-14 00:22:31 +03:00
thomasmo aaf1d1bfa5 Bug 1563233 - Update VRManager to consume VRShMem r=kip,daoshengmu
This change replaces and removes code in VRManager that was refactored into the
new VRShMem class.

Differential Revision: https://phabricator.services.mozilla.com/D36986

--HG--
extra : moz-landing-system : lando
2019-07-13 13:09:03 +00:00
thomasmo 5f5804e41b Bug 1562777 - Refactor ShMem code from VR classes into separate class r=kip
This change brings the related ShMem code from VRManager and VRService into a
new class, VRShMem. This is to support future work where this ShMem will be used
for other efforts. Having this code in the same class will enable it to be more
easily shared in these efforts.
Until the new class replaces the code in VRManager and VRService, it can be
exercised and validated with two instances of vrtesthost, with the -testmgr and
-testsvc parameters.

Differential Revision: https://phabricator.services.mozilla.com/D36649

--HG--
extra : moz-landing-system : lando
2019-07-03 15:50:28 +00:00