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

3388 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander c72bc82a74 Bug 1667276 - Post: Add test limiting the XPCOM graph of the no-op wait background task. r=mossop
This establishes a high water mark for code loaded (even after a short
delay) by a background task that does nothing.

Code loaded here means:

1) Chrome JSMs imported using `ChromeUtils.import`;

2) XPCOM services, generally long-lived, loaded using `do_getService`
   or `Services.*` or an equivalent;

3) XPCOM components defined in JavaScript and loaded via
   `chrome.manifest` entries.

At this time background tasks do not load any of category 3.  The
distinction is made because they are reported separately by Gecko.

This test is browser-chrome to make it easy/possible to work with
packaged builds.

Differential Revision: https://phabricator.services.mozilla.com/D98095
2021-01-27 22:54:27 +00:00
Nick Alexander 03ff66c89d Bug 1667276 - Part 3: Load a custom prefs file when running a background task. r=mossop,KrisWright
There are some complications here to handle unpackaged and packaged
builds.  In addition, there could be a difference between App prefs
and GRE prefs.  Since the underlying backgroundtasks code is built as
part of Gecko (i.e., `toolkit/...` rather than `browser/...`) I have
favoured GRE prefs.  I think, however, that what is written will work
for App-specific prefs, but I'm not concerned with that detail at this
time.

This also add tests for backgroundtask-specific prefs, which are
structured as both xpcshell and mochitest-chrome tests because
locally, the former tests unpackaged builds and the latter can
accommodate testing packaged builds.  We could use mochitest-chrome
for both, but this has been pleasant to work with locally.

Differential Revision: https://phabricator.services.mozilla.com/D97510
2021-01-27 22:54:25 +00:00
Nick Alexander eb5ed037f9 Bug 1667276 - Part 1: Wire background task mode into Gecko startup. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97511
2021-01-27 22:54:14 +00:00
Nick Alexander febb92c570 Bug 1667276 - Pre: Disable extension manager in background tasks mode. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97509
2021-01-27 22:54:02 +00:00
Butkovits Atila 89fe8f250d Backed out 8 changesets (bug 1679440, bug 1682069, bug 1667276) for causing failure on test_crash_backgroundtask_moz_crash.js. CLOSED TREE
Backed out changeset f06504e3219f (bug 1682069)
Backed out changeset 4d325f68ea24 (bug 1679440)
Backed out changeset 9ab334e527a5 (bug 1667276)
Backed out changeset 1c8d51d2c90f (bug 1667276)
Backed out changeset 8d6f10d83c6b (bug 1667276)
Backed out changeset 62488ec634f9 (bug 1667276)
Backed out changeset 1dcb2d1be264 (bug 1667276)
Backed out changeset c673fff5bd85 (bug 1667276)
2021-01-27 22:17:17 +02:00
Nick Alexander 60164cb603 Bug 1667276 - Post: Add test limiting the XPCOM graph of the no-op wait background task. r=mossop
This establishes a high water mark for code loaded (even after a short
delay) by a background task that does nothing.

Code loaded here means:

1) Chrome JSMs imported using `ChromeUtils.import`;

2) XPCOM services, generally long-lived, loaded using `do_getService`
   or `Services.*` or an equivalent;

3) XPCOM components defined in JavaScript and loaded via
   `chrome.manifest` entries.

At this time background tasks do not load any of category 3.  The
distinction is made because they are reported separately by Gecko.

This test is browser-chrome to make it easy/possible to work with
packaged builds.

Differential Revision: https://phabricator.services.mozilla.com/D98095
2021-01-26 21:37:39 +00:00
Nick Alexander eb8ab6ddf2 Bug 1667276 - Part 3: Load a custom prefs file when running a background task. r=mossop,KrisWright
There are some complications here to handle unpackaged and packaged
builds.  In addition, there could be a difference between App prefs
and GRE prefs.  Since the underlying backgroundtasks code is built as
part of Gecko (i.e., `toolkit/...` rather than `browser/...`) I have
favoured GRE prefs.  I think, however, that what is written will work
for App-specific prefs, but I'm not concerned with that detail at this
time.

This also add tests for backgroundtask-specific prefs, which are
structured as both xpcshell and mochitest-chrome tests because
locally, the former tests unpackaged builds and the latter can
accommodate testing packaged builds.  We could use mochitest-chrome
for both, but this has been pleasant to work with locally.

Differential Revision: https://phabricator.services.mozilla.com/D97510
2021-01-27 18:10:33 +00:00
Nick Alexander ec0732e7d7 Bug 1667276 - Part 1: Wire background task mode into Gecko startup. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97511
2021-01-26 21:37:21 +00:00
Nick Alexander dcfe63b32e Bug 1667276 - Pre: Disable extension manager in background tasks mode. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97509
2021-01-26 21:37:19 +00:00
Toshihito Kikuchi 382db1105f Bug 1688387 - UntrustedModulesFixture expects to load modules listed on the blocklist. r=mhowell
In GTest of the CCov build, UntrustedModulesFixture test detected the following
modules which were loaded by the TestDllBlocklist.* tests in the same process.

  - TestDllBlocklist_MatchByName.dll
  - TestDllBlocklist_MatchByVersion.dll
  - TestDllBlocklist_NoOpEntryPoint.dll

Since they are loaded in a different thread from the one running
UntrustedModulesFixture and are blocked/redirected by our blocklist,
UntrustedModulesFixture needs to verify its loading result differently.
This patch defines an array of the expected results of these modules.

Differential Revision: https://phabricator.services.mozilla.com/D103073
2021-01-26 18:42:50 +00:00
Doug Thayer bfdaa1612c Bug 1686301 - Report errors in skeleton UI via telemetry r=mconley,emalysz
This is, for the most part, just a large refactor of the skeleton UI stuff to
support coarse-grained error reporting via telemetry. There are a few slight
changes in how we handle some errors. For example, if CreateWindow fails, we
will now bail out and report the failure. The flow for the happy path, however,
should remain unchanged.

Differential Revision: https://phabricator.services.mozilla.com/D102098
2021-01-26 16:10:20 +00:00
Csoregi Natalia 0b28701943 Backed out 8 changesets (bug 1679440, bug 1682069, bug 1667276) for causing failures on browser_all_files_referenced.js. CLOSED TREE
Backed out changeset f1a65c9b3ca2 (bug 1682069)
Backed out changeset 310d2116faf7 (bug 1679440)
Backed out changeset f970ef0897cd (bug 1667276)
Backed out changeset 38c20196aabc (bug 1667276)
Backed out changeset 60c2f2dbc676 (bug 1667276)
Backed out changeset cf52687c4433 (bug 1667276)
Backed out changeset 74580a0f2633 (bug 1667276)
Backed out changeset ab6f830f6e75 (bug 1667276)
2021-01-26 06:49:04 +02:00
Nick Alexander f43091953b Bug 1667276 - Post: Add test limiting the XPCOM graph of the no-op wait background task. r=mossop
This establishes a high water mark for code loaded (even after a short
delay) by a background task that does nothing.

Code loaded here means:

1) Chrome JSMs imported using `ChromeUtils.import`;

2) XPCOM services, generally long-lived, loaded using `do_getService`
   or `Services.*` or an equivalent;

3) XPCOM components defined in JavaScript and loaded via
   `chrome.manifest` entries.

At this time background tasks do not load any of category 3.  The
distinction is made because they are reported separately by Gecko.

This test is browser-chrome to make it easy/possible to work with
packaged builds.

Differential Revision: https://phabricator.services.mozilla.com/D98095
2021-01-25 23:49:18 +00:00
Nick Alexander b29166e40c Bug 1667276 - Part 3: Load a custom prefs file when running a background task. r=mossop,KrisWright
There are some complications here to handle unpackaged and packaged
builds.  In addition, there could be a difference between App prefs
and GRE prefs.  Since the underlying backgroundtasks code is built as
part of Gecko (i.e., `toolkit/...` rather than `browser/...`) I have
favoured GRE prefs.  I think, however, that what is written will work
for App-specific prefs, but I'm not concerned with that detail at this
time.

This also add tests for backgroundtask-specific prefs, which are
structured as both xpcshell and mochitest-chrome tests because
locally, the former tests unpackaged builds and the latter can
accommodate testing packaged builds.  We could use mochitest-chrome
for both, but this has been pleasant to work with locally.

Differential Revision: https://phabricator.services.mozilla.com/D97510
2021-01-25 23:49:23 +00:00
Nick Alexander 93f94ef1a1 Bug 1667276 - Part 1: Wire background task mode into Gecko startup. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97511
2021-01-25 23:45:09 +00:00
Nick Alexander 01397bc442 Bug 1667276 - Pre: Disable extension manager in background tasks mode. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D97509
2021-01-25 23:45:07 +00:00
Andrew Osmond cb82d29e76 Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader
As we make the transition to using EGL over GLX, we will need our
detection code to be sufficient without EGL to determine the device in
use. This patch makes us always use the EGL testing code over the GLX
testing code, regardless of the pref/envvar setting.

At the very least, we need to know the vendor ID of the device in use.
We can determine this if there is only one GPU on the PCI list, if we
get a driver name from Mesa, or if it is a proprietary driver (i.e.
NVIDIA) which includes its name in the vendor ID. If we know the vendor
ID, we can usually derive the device ID from the PCI list.

We now also track which path glxtest took. If we successfully did the
test via EGL, then we will allow the pref/envvar to use EGL instead of
GLX. If the test reverted to GLX, then it will use GLX regardless of the
pref/envvar. This is necessary because we need to know if the libraries
are available or not -- some systems may be missing one or the other.

Differential Revision: https://phabricator.services.mozilla.com/D102933
2021-01-25 19:41:04 +00:00
Noemi Erli 1f192d6edb Backed out changeset 98349a6be0f6 (bug 1680512) for causing build bustages in GfxInfo.mm CLOSED TREE 2021-01-25 21:13:12 +02:00
Andrew Osmond b364e1738e Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader
As we make the transition to using EGL over GLX, we will need our
detection code to be sufficient without EGL to determine the device in
use. This patch makes us always use the EGL testing code over the GLX
testing code, regardless of the pref/envvar setting.

At the very least, we need to know the vendor ID of the device in use.
We can determine this if there is only one GPU on the PCI list, if we
get a driver name from Mesa, or if it is a proprietary driver (i.e.
NVIDIA) which includes its name in the vendor ID. If we know the vendor
ID, we can usually derive the device ID from the PCI list.

We now also track which path glxtest took. If we successfully did the
test via EGL, then we will allow the pref/envvar to use EGL instead of
GLX. If the test reverted to GLX, then it will use GLX regardless of the
pref/envvar. This is necessary because we need to know if the libraries
are available or not -- some systems may be missing one or the other.

Differential Revision: https://phabricator.services.mozilla.com/D102933
2021-01-25 17:31:27 +00:00
Toshihito Kikuchi 7d38502496 Bug 1686229 - Part2. Add the loadStatus field to the third-party-modules ping. r=chutten
This patch adds a new field "loadStatus" to the third-party-modules ping,
which derives from `ProcessedModuleLoadEvent::mLoadStatus` introduced by
the earlier patch.

Differential Revision: https://phabricator.services.mozilla.com/D102408
2021-01-23 00:14:13 +00:00
Toshihito Kikuchi 3aef28a656 Bug 1686229 - Part1. Add a member to ModuleLoadInfo to indicate the status of DLL load. r=mhowell
We used to record a DLL loading event only when a module was loaded.
With this patch, we record an event for a module blocked by our DLL
blocklist as well as a loaded module.  It is achieved by calling
to `ModuleLoadFrame::NotifySectionMap` in `patched_NtMapViewOfSection`
regardless of the block action.

This patch introduces a new member `ModuleLoadInfo::mStatus` and
`ProcessedModuleLoadEvent::mLoadStatus` to keep the DLL loading status,
which will be added to the third-party-modules ping by a following patch.

Differential Revision: https://phabricator.services.mozilla.com/D102407
2021-01-23 00:12:49 +00:00
Butkovits Atila a2c76f128f Backed out 3 changesets (bug 1686229) for causing failure on test_ThirdPartyModulesPing.js.
Backed out changeset f8a9c1efddec (bug 1686229)
Backed out changeset a839d56cb678 (bug 1686229)
Backed out changeset 1878295822f4 (bug 1686229)
2021-01-22 22:56:05 +02:00
Toshihito Kikuchi 5a577eb13e Bug 1686229 - Part2. Add the loadStatus field to the third-party-modules ping. r=chutten
This patch adds a new field "loadStatus" to the third-party-modules ping,
which derives from `ProcessedModuleLoadEvent::mLoadStatus` introduced by
the earlier patch.

Depends on D102407

Differential Revision: https://phabricator.services.mozilla.com/D102408
2021-01-22 14:41:27 +00:00
Toshihito Kikuchi 17dbb35c1b Bug 1686229 - Part1. Add a member to ModuleLoadInfo to indicate the status of DLL load. r=mhowell
We used to record a DLL loading event only when a module was loaded.
With this patch, we record an event for a module blocked by our DLL
blocklist as well as a loaded module.  It is achieved by calling
to `ModuleLoadFrame::NotifySectionMap` in `patched_NtMapViewOfSection`
regardless of the block action.

This patch introduces a new member `ModuleLoadInfo::mStatus` and
`ProcessedModuleLoadEvent::mLoadStatus` to keep the DLL loading status,
which will be added to the third-party-modules ping by a following patch.

Differential Revision: https://phabricator.services.mozilla.com/D102407
2021-01-22 14:41:14 +00:00
Paul Bone 087c2cf345 Bug 1686632 - Remove non-inclusive language r=jesup
Differential Revision: https://phabricator.services.mozilla.com/D101700
2021-01-21 17:28:23 +00:00
Robert Mader 994f8105c4 Bug 1687246 - [wayland] Sort displays by ID. r=stransky
On Wayland we don't have a specified order of screens. However,
in order to match intuitive expectations and X11 behavior more, order
the reported screen by their Wayland ID, showing them in order as
reported by the Wayland compositor.

Differential Revision: https://phabricator.services.mozilla.com/D102187
2021-01-18 14:06:08 +00:00
Robert Mader 736a9e904d Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert,geckoview-reviewers,m_kato
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-18 09:26:21 +00:00
Mihai Alexandru Michis 075a8d5214 Backed out changeset 03c509adfe55 (bug 1588904) for causing bustages.
CLOSED TREE
2021-01-16 18:09:05 +02:00
Robert Mader 2fd87154fc Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-16 15:36:12 +00:00
Brindusan Cristian 4c535a3595 Backed out changeset dde159ea0c4c (bug 1588904) for build bustages at xf86drm.h. CLOSED TREE 2021-01-16 14:51:34 +02:00
Robert Mader 88f418e0a5 Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-16 12:14:37 +00:00
Robert Mader db1a1fe941 Bug 1640053 - Implement full EGL support in glxtest, r=stransky,aosmond
1. On Wayland, use `get_egl_status()` by default
2. On X11/EGL use `x11_egltest()`, avoiding runtime dependencies on GLX
3. Avoid dlopening libgl/libgles on EGL if not needed
4. Some Wayland/X11 `ifdef` cleanups
5. Don't throw warnings when on mesa and using pci device detection

Depends on D101383

Differential Revision: https://phabricator.services.mozilla.com/D100638
2021-01-14 21:24:24 +00:00
Robert Mader c3cca144b4 Bug 1640053 - Implement screen info for Wayland, r=stransky
Implement `get_wayland_screen_info()` by copying from `weston-info`.
This allows us to get the actual number of screens. Previously, we'd
fall back to using the info from Xwayland, which always reports one
single big screen with the combined size (e.g. 3840x1080 instead of
2x1920x1080). Also, this avoids opening a X11 connection.

Note:
 - monitor scale is recorded but not used yet
 - the code could be simplified. However, keeping the weston-info
structure would allow us to easily add queries for other extensions
in the future if desired.

Differential Revision: https://phabricator.services.mozilla.com/D101383
2021-01-13 23:51:59 +00:00
Markus Stange 1e0c0b1771 Bug 1685703 - Make the dllServicesDisable RAII object cover all of XRE_mainRun, including the call to nsAppStartup::Run. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D101201
2021-01-08 17:52:18 +00:00
Kartik Gautam 7ae6aea145 Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
Markus Stange b326215cd2 Bug 1685230 - Add an autorelease pool in XRE_mainStartup. r=jrmuizel
For example, NS_CreateNativeAppSupport creates autoreleased objects.

Depends on D100851

Differential Revision: https://phabricator.services.mozilla.com/D100853
2021-01-06 04:25:40 +00:00
Markus Stange abadefc0c8 Bug 1685230 - Add an autorelease pool in XRE_mainInit for DisableAppNap and for anything that happens in the rest of the function. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D100851
2021-01-06 04:25:42 +00:00
Markus Stange 5cd8830a74 Bug 1683723 - Replace deprecated Cocoa enum constants with their modern replacements. r=spohl
I ran the following command:

```
rg -l 'NSAlphaShiftKeyMask' . | xargs sed -i '' -e 's/NSAlphaShiftKeyMask/NSEventModifierFlagCapsLock/g'
rg -l 'NSAlternateKeyMask' . | xargs sed -i '' -e 's/NSAlternateKeyMask/NSEventModifierFlagOption/g'
rg -l 'NSAnyEventMask' . | xargs sed -i '' -e 's/NSAnyEventMask/NSEventMaskAny/g'
rg -l 'NSApplicationDefined' . | xargs sed -i '' -e 's/NSApplicationDefined/NSEventTypeApplicationDefined/g'
rg -l 'NSBorderlessWindowMask' . | xargs sed -i '' -e 's/NSBorderlessWindowMask/NSWindowStyleMaskBorderless/g'
rg -l 'NSCenterTextAlignment' . | xargs sed -i '' -e 's/NSCenterTextAlignment/NSTextAlignmentCenter/g'
rg -l 'NSClosableWindowMask' . | xargs sed -i '' -e 's/NSClosableWindowMask/NSWindowStyleMaskClosable/g'
rg -l 'NSCommandKeyMask' . | xargs sed -i '' -e 's/NSCommandKeyMask/NSEventModifierFlagCommand/g'
rg -l 'NSCompositeCopy' . | xargs sed -i '' -e 's/NSCompositeCopy/NSCompositingOperationCopy/g'
rg -l 'NSControlKeyMask' . | xargs sed -i '' -e 's/NSControlKeyMask/NSEventModifierFlagControl/g'
rg -l 'NSDeviceIndependentModifierFlagsMask' . | xargs sed -i '' -e 's/NSDeviceIndependentModifierFlagsMask/NSEventModifierFlagDeviceIndependentFlagsMask/g'
rg -l 'NSFlagsChanged' . | xargs sed -i '' -e 's/NSFlagsChanged/NSEventTypeFlagsChanged/g'
rg -l 'NSFullScreenWindowMask' . | xargs sed -i '' -e 's/NSFullScreenWindowMask/NSWindowStyleMaskFullScreen/g'
rg -l 'NSFullSizeContentViewWindowMask' . | xargs sed -i '' -e 's/NSFullSizeContentViewWindowMask/NSWindowStyleMaskFullSizeContentView/g'
rg -l 'NSFunctionKeyMask' . | xargs sed -i '' -e 's/NSFunctionKeyMask/NSEventModifierFlagFunction/g'
rg -l 'NSHelpKeyMask' . | xargs sed -i '' -e 's/NSHelpKeyMask/NSEventModifierFlagHelp/g'
rg -l 'NSKeyDown' . | xargs sed -i '' -e 's/NSKeyDown/NSEventTypeKeyDown/g'
rg -l 'NSKeyUp' . | xargs sed -i '' -e 's/NSKeyUp/NSEventTypeKeyUp/g'
rg -l 'NSLeftMouseDownMask' . | xargs sed -i '' -e 's/NSLeftMouseDownMask/NSEventMaskLeftMouseDown/g'
rg -l 'NSLeftMouseDown' . | xargs sed -i '' -e 's/NSLeftMouseDown/NSEventTypeLeftMouseDown/g'
rg -l 'NSLeftMouseDragged' . | xargs sed -i '' -e 's/NSLeftMouseDragged/NSEventTypeLeftMouseDragged/g'
rg -l 'NSLeftMouseUp' . | xargs sed -i '' -e 's/NSLeftMouseUp/NSEventTypeLeftMouseUp/g'
rg -l 'NSMiniaturizableWindowMask' . | xargs sed -i '' -e 's/NSMiniaturizableWindowMask/NSWindowStyleMaskMiniaturizable/g'
rg -l 'NSMiniControlSize' . | xargs sed -i '' -e 's/NSMiniControlSize/NSControlSizeMini/g'
rg -l 'NSMouseEntered' . | xargs sed -i '' -e 's/NSMouseEntered/NSEventTypeMouseEntered/g'
rg -l 'NSMouseExited' . | xargs sed -i '' -e 's/NSMouseExited/NSEventTypeMouseExited/g'
rg -l 'NSMouseMoved' . | xargs sed -i '' -e 's/NSMouseMoved/NSEventTypeMouseMoved/g'
rg -l 'NSNumericPadKeyMask' . | xargs sed -i '' -e 's/NSNumericPadKeyMask/NSEventModifierFlagNumericPad/g'
rg -l 'NSOtherMouseDownMask' . | xargs sed -i '' -e 's/NSOtherMouseDownMask/NSEventMaskOtherMouseDown/g'
rg -l 'NSOtherMouseDown' . | xargs sed -i '' -e 's/NSOtherMouseDown/NSEventTypeOtherMouseDown/g'
rg -l 'NSOtherMouseDragged' . | xargs sed -i '' -e 's/NSOtherMouseDragged/NSEventTypeOtherMouseDragged/g'
rg -l 'NSOtherMouseUp' . | xargs sed -i '' -e 's/NSOtherMouseUp/NSEventTypeOtherMouseUp/g'
rg -l 'NSRegularControlSize' . | xargs sed -i '' -e 's/NSRegularControlSize/NSControlSizeRegular/g'
rg -l 'NSResizableWindowMask' . | xargs sed -i '' -e 's/NSResizableWindowMask/NSWindowStyleMaskResizable/g'
rg -l 'NSRightMouseDown' . | xargs sed -i '' -e 's/NSRightMouseDown/NSEventTypeRightMouseDown/g'
rg -l 'NSRightMouseDragged' . | xargs sed -i '' -e 's/NSRightMouseDragged/NSEventTypeRightMouseDragged/g'
rg -l 'NSRightMouseUp' . | xargs sed -i '' -e 's/NSRightMouseUp/NSEventTypeRightMouseUp/g'
rg -l 'NSRightTextAlignment' . | xargs sed -i '' -e 's/NSRightTextAlignment/NSTextAlignmentRight/g'
rg -l 'NSScrollWheelMask' . | xargs sed -i '' -e 's/NSScrollWheelMask/NSEventMaskScrollWheel/g'
rg -l 'NSScrollWheel' . | xargs sed -i '' -e 's/NSScrollWheel/NSEventTypeScrollWheel/g'
rg -l 'NSShiftKeyMask' . | xargs sed -i '' -e 's/NSShiftKeyMask/NSEventModifierFlagShift/g'
rg -l 'NSSmallControlSize' . | xargs sed -i '' -e 's/NSSmallControlSize/NSControlSizeSmall/g'
rg -l 'NSTabletPointEventSubtype' . | xargs sed -i '' -e 's/NSTabletPointEventSubtype/NSEventSubtypeTabletPoint/g'
rg -l 'NSTitledWindowMask' . | xargs sed -i '' -e 's/NSTitledWindowMask/NSWindowStyleMaskTitled/g'
```

Then I removed changes to third-party webrtc code, removed a comment in accessible/mac/mozAccessible.mm,
and performed some manual replacements in native_mouse_mac_window.xhtml.

Differential Revision: https://phabricator.services.mozilla.com/D100260
2021-01-05 21:17:11 +00:00
Brad Werth b5eed866ff Bug 1684982 Part 2: Make XRE_mainRun create then destroy a macOS autorelease pool before entering the event loop. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D100735
2021-01-05 19:41:06 +00:00
Brad Werth 9d0615f0b4 Bug 1684982 Part 1: Add a scope to XRE_mainRun. r=jrmuizel
This scope will support later functional changes that are conditionally
compiled. This part is standalone to help with blame-tracking.

Differential Revision: https://phabricator.services.mozilla.com/D100805
2021-01-05 19:47:40 +00:00
Cosmin Sabou 2978aa00a3 Backed out changeset dbed1cdf588f (bug 1684173) for mochitest plain and devtools failures. a=backout DONTBUILD 2020-12-28 00:43:51 +02:00
Kartik Gautam 775cdec032 Bug 1684173 - Add newline character at end of files when missing r=sylvestre
Depends on D100443

Differential Revision: https://phabricator.services.mozilla.com/D100484
2020-12-27 11:43:41 +00:00
Harsh Gupta 3bc9cf1d11 Bug 1674675 - nsUpdateDriver.cpp: simplify the code by removing an else r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D100482
2020-12-26 14:28:36 +00:00
Adam Gashlin 629880b41b Bug 1635507 - Don't do task after 90 days since last app run. r=mhowell,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D75661
2020-12-17 21:21:26 +00:00
Molly Howell 5ce0b8f633 Bug 1553982 Part 2 - Use a multi-instance lock to implement an update sync manager XPCOM component. r=bytesized,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D95627
2020-12-11 02:03:40 +00:00
Molly Howell dd50fa2cbf Bug 1553982 Part 1 - Manage "multi-instance locks" that can be created by any component. r=bytesized,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D95626
2020-12-11 05:37:38 +00:00
Molly Howell 814e88456e Bug 1553982 Part 0 - Fix a few unified build issues that crop up when adding files in this directory. r=bytesized
Differential Revision: https://phabricator.services.mozilla.com/D95623
2020-12-10 04:33:20 +00:00
Toshihito Kikuchi a354021b5a Bug 1681936 - Skip mXULLoadDurationMS check in GTest. r=mhowell
In GTest, xul.dll is considered untrusted because only the `FirefoxDirectory`
flag of `ModuleTrustFlags` is turned on.  In CCov build, however, xul.dll is
considered trusted because the `FirefoxDirectoryAndVersion` flag is also turned
on.  In the former case, the `FirefoxDirectoryAndVersion` is not turned on
because when xul.dll is re-built for GTest, its version becomes newer than
firefox.exe.  In the CCov build, the version of firefox.exe was also reset
probaly during instrumentation.  As a result, the loding event contains a value
in `mXULLoadDurationMS` in CCov build, but normally not.

This fix removes the check for `mXULLoadDurationMS` in GTest.

Differential Revision: https://phabricator.services.mozilla.com/D99564
2020-12-12 00:09:43 +00:00
Toshihito Kikuchi 4a7ee4c9c4 Bug 1669036 - Part6: Introduce options for Telemetry.getUntrustedModuleLoadEvents() to control data r=aklotz,janerik
The method `Telemetry.getUntrustedModuleLoadEvents()` used to move data, meaning
once it was called, the returned data was removed from the application so that
the same data would never be returned again.

To show third-party modules info on about:support, we need to keep data even after
it's submitted as telemetry.  At the same time, we need to know which loading events
have been submitted and which have not.

With this patch UntrustedModulesBackupService holds two storages named "Staging"
and "Settled" respectively.  To achieve the behavior described earlier, we use
the "Staging" to keep instances not yet submitted, and "Settled" to keep instances
already submitted.

This patch also introduces two flags `INCLUDE_OLD_LOADEVENTS` and
`KEEP_LOADEVENTS_NEW` under `nsITelemetry`, with which the caller of
`getUntrustedModuleLoadEvents()` can control which instances to be returned and
how the returned instances are kept internally.

Differential Revision: https://phabricator.services.mozilla.com/D93829
2020-12-10 21:52:59 +00:00
Toshihito Kikuchi a74a0f529f Bug 1669036 - Part5: Add the process type to the key of a per-proc object of the third-party module ping r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D93828
2020-12-10 21:52:38 +00:00