Commit Graph

581 Commits

Author SHA1 Message Date
Kearwood "Kip" Gilbert
291ee2b5f1 Bug 1574682 - Implement VREventObserver::NotifyEnumerationCompleted r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D43202

--HG--
extra : moz-landing-system : lando
2019-08-23 06:30:56 +00:00
Kearwood "Kip" Gilbert
29c4fe1941 Bug 1574681 - VRManagerChild::GetVRDisplays returns void rather than bool r=thomasmo
Differential Revision: https://phabricator.services.mozilla.com/D42399

--HG--
extra : moz-landing-system : lando
2019-08-22 14:59:53 +00:00
Imanol Fernandez
efb7b0fed5 Bug 1574218 - Fix broken VRManagerChild::NotifyPresentationGenerationChanged event. r=kip
Fix broken VRManagerChild::NotifyPresentationGenerationChanged event.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 23:18:41 +00:00
Markus Stange
0d99ec9a50 Bug 1573668 - Use CFTypeRefPtr for managing the IOSurfaceRef in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41843

--HG--
extra : moz-landing-system : lando
2019-08-14 14:53:45 +00:00
Markus Stange
c31b8d8a28 Bug 1573668 - Use the real IOSurfaceRef type in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41841

--HG--
extra : moz-landing-system : lando
2019-08-14 14:50:25 +00:00
Gabriele Svelto
14db2c37b8 Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41657

--HG--
extra : moz-landing-system : lando
2019-08-15 12:06:51 +00:00
Bogdan Tara
f326b67e0e Backed out changeset c60ee628dd0e (bug 1571711) for RemoteSandboxBroker related bustages CLOSED TREE 2019-08-15 01:50:01 +03:00
Gabriele Svelto
d888c0a6b5 Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41657

--HG--
extra : moz-landing-system : lando
2019-08-13 21:43:00 +00:00
Gabriele Svelto
beb62c4c31 Bug 1282776 - Finalize crash reports for child process crashes happening too early r=froydnj
This changes the way crash reports for child processes happening too early
during the child process' startup. Before bug 1547698 we wrote a partial
.extra file with those crashes that lacked the process type. The user would
not be notified of those crashes until she restarted Firefox and even when
submitted those crashes would be erroneously labeled as browser crashes.

After bug 1547698 we stopped writing .extra files entirely for those crashes
which left orphaned .dmp files among the pending crash reports.

This patch does three things to improve the situation:

* It writes a partial .extra file so that the crashes are detected at the next
  startup. So the user is still not notified directly of these crashes but she
  can report them later.
* It adds the process type to the .extra file so that the crash reporters are
  labelled correctly.
* It fixes a leak in the `pidToMinidump` hash-map. Since the crashes were
  not finalized the `ChildProcessData` strucutre associated with them would
  never be fred.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 14:23:19 +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
41d5b3a55e Bug 1571215 - Permafailing Build Bustage on Windows 2012 mozmake.EXE [vrhost.dll] r=kip
Functions available only in Nightlies should not be exported outside of Nightly
builds. This change splits the exports into 2 def files (since the preprocessor
is not available for def file).

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

--HG--
extra : moz-landing-system : lando
2019-08-09 20:46:21 +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
Kearwood "Kip" Gilbert
936585e4fc Bug 1570151 - WebXR: Implement VRManagerEventObserver r=imanol
In order to support multiple API's (WebVR + WebXR) being enabled simultaneously, a new class, gfx::VRManagerEventObserver, implements a pure virtual interface to be shared by both the WebVR and WebXR observers of XR device related events.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 08:29:32 +00: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
Imanol Fernandez
0bf3c0b8ac Bug 1570671 - Stop VRManager timer tasks when the application goes to background. r=kip
Stop VRManager timer tasks when the application goes to background.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 22:13:56 +00:00
Kearwood "Kip" Gilbert
5bd4ceaa42 Bug 1570075 - WebXR: Extend VRDisplayState and VRDisplayCapabilityFlags r=imanol
In order to support the WebXR implementation, VRDisplayState is being extended to enumerate the type of sessions a device supports (Inline, Immersive-VR, or Immersive-AR) and to report if the blend mode for AR would be additive or alpha blended).

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

--HG--
extra : moz-landing-system : lando
2019-07-31 11:46:48 +00:00
Ciure Andrei
78c513784e Backed out changeset 9ab4ca317e30 (bug 1570671) for causing VRManager.cpp bustages CLOSED TREE 2019-08-02 03:16:18 +03:00
Imanol Fernandez
e2e9ce9c61 Bug 1570671 - Stop VRManager timer tasks when the application goes to background. r=kip
Stop VRManager timer tasks when the application goes to background.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 17:12:16 +00:00
Imanol Fernandez
1f32c478c3 Bug 1569622 - Call VRManager::StartFrame directly instead of using a PostTask on Android. r=kip,rbarker
Call VRManager::StartFrame directly instead of using a PostTask on Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 00:11:37 +00:00
thomasmo
de6f69fb39 Bug 1565296 - Implement Command Line Handler for FxR on desktop r=mossop,Gijs
This change adds functionality for the new command line argument, --fxr. This
will be used to create a new, separate browser window for Firefox Reality on
desktop.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 20:11:27 +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
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Cosmin Sabou
cb6719040b Backed out changeset 1558caa1157d (bug 1565296) for browser chrome failures on fxrui.html.
--HG--
extra : rebase_source : 89be7e7eca926e037b7b837add434b907a7e526a
2019-07-23 12:46:58 +03:00
thomasmo
1858572459 Bug 1565296 - Implement Command Line Handler for FxR on desktop r=mossop,Gijs
This change adds functionality for the new command line argument, --fxr. This
will be used to create a new, separate browser window for Firefox Reality on
desktop.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 22:50:09 +00:00
Nicholas Nethercote
7974362afd Bug 1567329 - Append _AtStartup to once static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 02:10:14 +00:00
Kearwood "Kip" Gilbert
d016bb0e3a Bug 1566285 - VRManager::PullState will no longer block when no wait condition is passed and enumeration has not yet completed. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D38137

--HG--
extra : moz-landing-system : lando
2019-07-16 00:54:30 +00:00
Sylvestre Ledru
ddf2513ea7 Bug 1519636 - Ride along: Move to the unix CR type r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:34:18 +00:00
Sylvestre Ledru
e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +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
eb4b31835a Bug 1565295 - Create Command Line Handler for FxR on desktop r=mossop
This change introduces the stubs for nsFxrCommandLineHandler,
which will support launching Firefox Reality on Desktop.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 21:01:04 +00:00
Daosheng Mu
4af2697693 Bug 1565000 - Add logs for VR process manager to check if gpu child is null. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D37613

--HG--
extra : moz-landing-system : lando
2019-07-10 22:02:45 +00:00
Jan Beich
85cb23c958 Bug 1562497 - Build PuppetSession on Tier3 as VRService depends on it. r=daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D36811

--HG--
extra : moz-landing-system : lando
2019-07-04 07:41:57 +00:00
Barret Rennie
420c8e890a Bug 1289211 - Rename InfallibleTArray to nsTArray in gfx/vr/ r=kip
Differential Revision: https://phabricator.services.mozilla.com/D36956

--HG--
extra : moz-landing-system : lando
2019-07-10 03:29:57 +00:00
Daosheng Mu
5b5df637b1 Bug 1564203 - Clear VR external shared memory when recreating a new VR process. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D37332

--HG--
extra : moz-landing-system : lando
2019-07-08 23:07:42 +00:00
Daosheng Mu
ecf2505849 Bug 1562679 - Checking if OpenVR vrinput() is null when doing initialization. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D37312

--HG--
extra : moz-landing-system : lando
2019-07-08 22:24:00 +00:00
Sylvestre Ledru
fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +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
Daosheng Mu
8ed8b572cb Bug 1559843 - Replace VR code endling to LF. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D36673

--HG--
extra : moz-landing-system : lando
2019-07-02 23:40:27 +00:00
Kearwood "Kip" Gilbert
816af12bb5 Bug 1466702 - Refactor / reimplement gfxVRPuppet and VRServiceTest to use gfxVRExternal r=daoshengmu,thomasmo,bzbarsky
gfxVRPuppet will be replaced with a fully asynchronous puppet automation that runs in the VR process.

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

--HG--
extra : moz-landing-system : lando
2019-06-28 21:19:54 +00:00
Coroiu Cristina
057f20d982 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-06-27 12:42:29 +03:00
Nicholas Nethercote
84b32d3654 Bug 1561491 - Make browser.* and dom.vr.* static prefs follow the naming convention. r=KrisWright
The patch also removes the dom.vr.oculus.quit.timeout pref, because it's
unused.

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

--HG--
extra : rebase_source : bd16ed5ff0b7c2b4f8e653e9835610b25b14a39f
2019-06-25 16:32:29 +10:00
Daosheng Mu
a2e31cbc26 Bug 1558952 - Vive cosmos controller binding for OpenVR. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D35209

--HG--
rename : gfx/vr/service/binding/OpenVRKnucklesBinding.h => gfx/vr/service/binding/OpenVRCosmosBinding.h
extra : moz-landing-system : lando
2019-06-26 18:26:16 +00:00
Sylvestre Ledru
f1fbd2ff00 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-06-08 08:26:37 +00:00
Boris Zbarsky
d2959ecb98 Bug 1553018 part 2. Make various gfx preferences bindings use in Pref annotations on interfaces follow the StaticPrefs naming convention for getters. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32943

--HG--
extra : moz-landing-system : lando
2019-05-30 17:21:57 +00:00
Daosheng Mu
21043eccbc Bug 1523351 - Part 3: Handling GamepadTouch and GamepadLightIndicator events in Gamepad service. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D29290

--HG--
extra : moz-landing-system : lando
2019-05-29 22:15:23 +00:00