Commit graph

92 commits

Author SHA1 Message Date
Matt Woodrow
4e7f9b4789 Bug 1678684 - Initialize DXVA on the media thread, remove the mostly-unused dll blocklist, and the crashguard. r=jya
The main-thread requirements for DXVA appear to have been needed when we initialized a crash guard. We now only run DXVA in the GPU and RDD processes, which don't support crash guards. This removes the main thread dispatch and the crashguard code, and enforces that we're in the GPU/RDD process to init DXVA.

This also removes the DLL blocklist code. This was disabled via pref when in the GPU process, which should be the majority of the time. In rare cases we would have been running DXVA in the RDD process (on older win7 when the GPU process isn't available). In these cases we can just do the same as the GPU process, allowing crashes and recovering from them (and disabling DXVA).

Differential Revision: https://phabricator.services.mozilla.com/D98036
2020-12-14 06:04:13 +00:00
Victor Porof
86fb638006 Bug 1654192 - Part 2: Update xulstore to use RKV in safe mode, r=nanj,perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D85315
2020-12-07 07:24:40 +00:00
Mihai Alexandru Michis
d88071abc9 Backed out 5 changesets (bug 1654192, bug 1680230) for causing tsan bc failures in RWLock.
CLOSED TREE

Backed out changeset 804ccdf33ae8 (bug 1680230)
Backed out changeset 2ced955ab891 (bug 1680230)
Backed out changeset b09ca0548784 (bug 1654192)
Backed out changeset a92f0deb07b2 (bug 1654192)
Backed out changeset 26abc175808e (bug 1654192)
2020-12-07 09:21:15 +02:00
Victor Porof
13845b7762 Bug 1654192 - Part 2: Update xulstore to use RKV in safe mode, r=nanj,perftest-reviewers,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D85315
2020-12-07 06:29:40 +00:00
Butkovits Atila
df75ae580c Backed out changeset 8c0e2919f6b2 (bug 1678684) for causing Bug 1680661. CLOSED TREE 2020-12-04 11:26:44 +02:00
Matt Woodrow
d58b85c3c9 Bug 1678684 - Initialize DXVA on the media thread, remove the mostly-unused dll blocklist, and the crashguard. r=jya
The main-thread requirements for DXVA appear to have been needed when we initialized a crash guard. We now only run DXVA in the GPU and RDD processes, which don't support crash guards. This removes the main thread dispatch and the crashguard code, and enforces that we're in the GPU/RDD process to init DXVA.

This also removes the DLL blocklist code. This was disabled via pref when in the GPU process, which should be the majority of the time. In rare cases we would have been running DXVA in the RDD process (on older win7 when the GPU process isn't available). In these cases we can just do the same as the GPU process, allowing crashes and recovering from them (and disabling DXVA).

Differential Revision: https://phabricator.services.mozilla.com/D98036
2020-12-04 00:49:27 +00:00
Csoregi Natalia
ce7c84e45e Backed out changeset cd968a980827 (bug 1649590) for causing Bug 1679252. CLOSED TREE 2020-11-26 21:30:38 +02:00
Michael Goossens
85a266bedb Bug 1649590 - Convert XPIProvider.jsm to use IOUtils r=emalysz,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D97354
2020-11-19 17:37:18 +00:00
David Parks
e40add79c3 Bug 1675349: Update tests under browser/base/content/test for the removal of plugins. r=jmathies
UPDATED
-------
browser/base/content/test/plugins/browser_CTP_favorfallback.js
Test that plugin fallback behavior is correct.
Updated to reflect that plugins always show "alternate" content, which is either the user fallback of the browser's transparent fallback, regardless of the HTML.

browser/base/content/test/plugins/browser_CTP_outsideScrollArea.js
Test that overlay is visible (in layout sense) only if plugin is partially or completely visible.
Changed to test new fallback behavior where overlay is a hidden element with "blockall" atribute.

browser/base/content/test/plugins/browser_CTP_zoom.js
Test that overlay is present and visible at multiple zoom levels.
Adjusted to work with hidden overlay.

browser/base/content/test/performance/browser_startup_mainthreadio.js
Track IO done at browser startup
Removed `UserPlugins.parent` from list since we no longer scan for plugins.

browser/base/content/test/plugins/browser_bug797677.js
bug 797677
Test that plugin instantiation fails (with PLUGIN_UNSUPPORTED and no console error) when MIME type missing.
Removed the cleanup of (unused) test plugin.

browser/base/content/test/contextMenu/browser_contextmenu.js
Test context menu for many types of elements
Removed plugin element portion.

REMOVED
-------
browser/base/content/test/plugins/browser_CTP_contextmenu.js
Test that the CTP activate action in content menus for plugins works

browser/base/content/test/plugins/browser_CTP_crashreporting.js
Test that plugin crash submissions still work properly after click-to-play activation.

browser/base/content/test/plugins/browser_CTP_drag_drop.js
Test that plugin CTP dialog behaves correctly when dragging tab out of/into a window

browser/base/content/test/plugins/browser_CTP_hide_overlay.js
Test ability to close plugin "overlay" placeholder (the grey lego element)

browser/base/content/test/plugins/browser_CTP_iframe.js
Test that overlay can be interacted with (closed) when in an iframe

browser/base/content/test/plugins/browser_CTP_nonplugins.js
Bug 926605
Says it tests that non-plugin <object> elements don't show CTP but it doesn't.  It tests that removing a CTP plugin from a page does not remove CTP dialog (in case, for example, page shows, then quickly removes plugin).

browser/base/content/test/plugins/browser_CTP_overlay_styles.js
Verify that styling on overlay elements, based on sizing, is correct.

browser/base/content/test/plugins/browser_CTP_resize.js
Test that a resize properly updates the overlay styling, which is only visible when large enough.

browser/base/content/test/plugins/browser_CTP_shouldShowOverlay.js
Test that partially obscured plugins show the overlay, properly styled (when they should).

browser/base/content/test/plugins/browser_blocking.js
bug 1129040
Test CTP behavior -- overlay dialog behavior, vulnerable plugin user approval, plugin's infoURL, etc.

browser/base/content/test/plugins/browser_blocklist_content.js
bug 1129040
Test (plugin) blocklist, including attempt to "hack" it in a content process.

browser/base/content/test/plugins/browser_bug743421.js
Test CTP approval persists for new plugin instances in page.

browser/base/content/test/plugins/browser_bug744745.js
Test that CTP notification correctly appears despite plugin with opacity: 0 !important

browser/base/content/test/plugins/browser_bug787619.js
bug 787619
Make sure CTP works for plugins nested inside <a></a> elements.

browser/base/content/test/plugins/browser_bug812562.js
bug 812562
Navigating away from, then back to a page should restore its CTP status.

browser/base/content/test/plugins/browser_bug818118.js
bug 818118
Test that CTP plugin and "unknown" plugin type work correctly on same page.

browser/base/content/test/plugins/browser_clearplugindata.js
Test clearing plugin data using Sanitizer.jsm

browser/base/content/test/plugins/browser_iterate_hidden_plugins.js
Bug 1318383
Test `plugins.navigator.hidden_ctp_plugin`, which hides CTP plugins from `navigator.plugins`.

browser/base/content/test/plugins/browser_pluginCrashCommentAndURL.js
Test plugin crash detection and reporting

browser/base/content/test/plugins/browser_pluginCrashReportNonDeterminism.js
Bug 1110887
Test both "plugin process crash notification" orders -- content proc before main proc and vice-versa.

browser/base/content/test/plugins/browser_plugin_reloading.js
Bug 1129040
Re-instantiating plugin (using `plugin.src = new_value`) should retain CTP approval.

browser/base/content/test/plugins/browser_plugin_framed_domain.js
Plugin CTP prompts should adopt top-level page's principal for instead of closest frame's principal.

browser/base/content/test/plugins/browser_pluginnotification.js
Tests many CTP interface behavior cases -- doorhangers, overlays, multiple plugin instances, CTP choices (always, allow, never)

browser/base/content/test/plugins/browser_private_clicktoplay.js
Make sure CTP interface works in private windows

browser/base/content/test/plugins/browser_subframe_access_hidden_plugins.js
Allow navigator.plugins to list plugin after CTP approval, even if it listed in `plugins.navigator.hidden_ctp_plugin`

Differential Revision: https://phabricator.services.mozilla.com/D95906
2020-11-18 15:56:56 +00:00
Bogdan Tara
56346a0425 Backed out 19 changesets (bug 1675349) for lint failures on browser_ext_browsingData_pluginData and test_archive CLOSED TREE
Backed out changeset 244e0f2b410c (bug 1675349)
Backed out changeset ba5724069dd4 (bug 1675349)
Backed out changeset 37fca259c7e9 (bug 1675349)
Backed out changeset f2b16caca1fc (bug 1675349)
Backed out changeset 28835d4935be (bug 1675349)
Backed out changeset eb913f58953a (bug 1675349)
Backed out changeset 19e3cb80f469 (bug 1675349)
Backed out changeset d9723f3a3a7e (bug 1675349)
Backed out changeset c888dfcdf70e (bug 1675349)
Backed out changeset 48f153341af6 (bug 1675349)
Backed out changeset 7fc67a9b2932 (bug 1675349)
Backed out changeset 1cee4d97f801 (bug 1675349)
Backed out changeset 59a0cb79c7c1 (bug 1675349)
Backed out changeset 43d349fa37b1 (bug 1675349)
Backed out changeset c84bfb6eae59 (bug 1675349)
Backed out changeset 38e9af69ae57 (bug 1675349)
Backed out changeset 3255c1ab3059 (bug 1675349)
Backed out changeset 2f3eaf9c342c (bug 1675349)
Backed out changeset 769e5c0db4c2 (bug 1675349)
2020-11-18 06:06:36 +02:00
David Parks
f366546196 Bug 1675349: Update tests under browser/base/content/test for the removal of plugins. r=jmathies
UPDATED
-------
browser/base/content/test/plugins/browser_CTP_favorfallback.js
Test that plugin fallback behavior is correct.
Updated to reflect that plugins always show "alternate" content, which is either the user fallback of the browser's transparent fallback, regardless of the HTML.

browser/base/content/test/plugins/browser_CTP_outsideScrollArea.js
Test that overlay is visible (in layout sense) only if plugin is partially or completely visible.
Changed to test new fallback behavior where overlay is a hidden element with "blockall" atribute.

browser/base/content/test/plugins/browser_CTP_zoom.js
Test that overlay is present and visible at multiple zoom levels.
Adjusted to work with hidden overlay.

browser/base/content/test/performance/browser_startup_mainthreadio.js
Track IO done at browser startup
Removed `UserPlugins.parent` from list since we no longer scan for plugins.

browser/base/content/test/plugins/browser_bug797677.js
bug 797677
Test that plugin instantiation fails (with PLUGIN_UNSUPPORTED and no console error) when MIME type missing.
Removed the cleanup of (unused) test plugin.

browser/base/content/test/contextMenu/browser_contextmenu.js
Test context menu for many types of elements
Removed plugin element portion.

REMOVED
-------
browser/base/content/test/plugins/browser_CTP_contextmenu.js
Test that the CTP activate action in content menus for plugins works

browser/base/content/test/plugins/browser_CTP_crashreporting.js
Test that plugin crash submissions still work properly after click-to-play activation.

browser/base/content/test/plugins/browser_CTP_drag_drop.js
Test that plugin CTP dialog behaves correctly when dragging tab out of/into a window

browser/base/content/test/plugins/browser_CTP_hide_overlay.js
Test ability to close plugin "overlay" placeholder (the grey lego element)

browser/base/content/test/plugins/browser_CTP_iframe.js
Test that overlay can be interacted with (closed) when in an iframe

browser/base/content/test/plugins/browser_CTP_nonplugins.js
Bug 926605
Says it tests that non-plugin <object> elements don't show CTP but it doesn't.  It tests that removing a CTP plugin from a page does not remove CTP dialog (in case, for example, page shows, then quickly removes plugin).

browser/base/content/test/plugins/browser_CTP_overlay_styles.js
Verify that styling on overlay elements, based on sizing, is correct.

browser/base/content/test/plugins/browser_CTP_resize.js
Test that a resize properly updates the overlay styling, which is only visible when large enough.

browser/base/content/test/plugins/browser_CTP_shouldShowOverlay.js
Test that partially obscured plugins show the overlay, properly styled (when they should).

browser/base/content/test/plugins/browser_blocking.js
bug 1129040
Test CTP behavior -- overlay dialog behavior, vulnerable plugin user approval, plugin's infoURL, etc.

browser/base/content/test/plugins/browser_blocklist_content.js
bug 1129040
Test (plugin) blocklist, including attempt to "hack" it in a content process.

browser/base/content/test/plugins/browser_bug743421.js
Test CTP approval persists for new plugin instances in page.

browser/base/content/test/plugins/browser_bug744745.js
Test that CTP notification correctly appears despite plugin with opacity: 0 !important

browser/base/content/test/plugins/browser_bug787619.js
bug 787619
Make sure CTP works for plugins nested inside <a></a> elements.

browser/base/content/test/plugins/browser_bug812562.js
bug 812562
Navigating away from, then back to a page should restore its CTP status.

browser/base/content/test/plugins/browser_bug818118.js
bug 818118
Test that CTP plugin and "unknown" plugin type work correctly on same page.

browser/base/content/test/plugins/browser_clearplugindata.js
Test clearing plugin data using Sanitizer.jsm

browser/base/content/test/plugins/browser_iterate_hidden_plugins.js
Bug 1318383
Test `plugins.navigator.hidden_ctp_plugin`, which hides CTP plugins from `navigator.plugins`.

browser/base/content/test/plugins/browser_pluginCrashCommentAndURL.js
Test plugin crash detection and reporting

browser/base/content/test/plugins/browser_pluginCrashReportNonDeterminism.js
Bug 1110887
Test both "plugin process crash notification" orders -- content proc before main proc and vice-versa.

browser/base/content/test/plugins/browser_plugin_reloading.js
Bug 1129040
Re-instantiating plugin (using `plugin.src = new_value`) should retain CTP approval.

browser/base/content/test/plugins/browser_plugin_framed_domain.js
Plugin CTP prompts should adopt top-level page's principal for instead of closest frame's principal.

browser/base/content/test/plugins/browser_pluginnotification.js
Tests many CTP interface behavior cases -- doorhangers, overlays, multiple plugin instances, CTP choices (always, allow, never)

browser/base/content/test/plugins/browser_private_clicktoplay.js
Make sure CTP interface works in private windows

browser/base/content/test/plugins/browser_subframe_access_hidden_plugins.js
Allow navigator.plugins to list plugin after CTP approval, even if it listed in `plugins.navigator.hidden_ctp_plugin`

Differential Revision: https://phabricator.services.mozilla.com/D95906
2020-11-18 03:17:34 +00:00
Greg Tatum
6451405048 Bug 1671701 - Migrated FileIO markers to the Markers 2.0 API; r=gerald,julienw
This commit uses the new Markers 2.0 API for FileIO Markers. I had to
create another option for the MarkerStack class in order to conditionally
capture a backtrace inside of the Macro. Otherwise the macro invocation
failed.

Differential Revision: https://phabricator.services.mozilla.com/D93848
2020-10-27 14:04:04 +00:00
Jed Davis
f7967e4a30 Bug 1440203 - Prelude: ignore memfd for the "main thread I/O" test. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90604
2020-10-22 21:23:32 +00:00
Dorel Luca
5d3bd01bca Backed out 2 changesets (bug 1440203) for Backout conflicts with Bug 1654103. CLOSED TREE
Backed out changeset 6e44c037b2dc (bug 1440203)
Backed out changeset ab11665d8607 (bug 1440203)
2020-10-22 03:47:17 +03:00
Jed Davis
db70ad65d6 Bug 1440203 - Prelude: ignore memfd for the "main thread I/O" test. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90604
2020-10-21 23:33:35 +00:00
Razvan Maries
5fa72e54df Backed out 2 changesets (bug 1440203) for causing bug 1670277. CLOSED TREE
Backed out changeset 0b10bf76fe35 (bug 1440203)
Backed out changeset 468878422866 (bug 1440203)
2020-10-10 03:39:33 +03:00
Jed Davis
24165de225 Bug 1440203 - Prelude: ignore memfd for the "main thread I/O" test. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90604
2020-10-07 20:22:40 +00:00
Razvan Maries
75a5750a87 Backed out 5 changesets (bug 1662564, bug 1664922, bug 1440203) for Valgrind bustages. CLOSED TREE
Backed out changeset 9366b15ee97c (bug 1440203)
Backed out changeset bb512f5fdeda (bug 1440203)
Backed out changeset be90d6aec690 (bug 1664922)
Backed out changeset f6527a1d0f14 (bug 1662564)
Backed out changeset 3a2941fa7d4b (bug 1662564)
2020-10-07 08:38:13 +03:00
Jed Davis
8d4ba1a2ad Bug 1440203 - Prelude: ignore memfd for the "main thread I/O" test. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90604
2020-10-05 22:34:07 +00:00
Jonathan Kew
755977bdb4 Bug 1533462 - Update expectations in mainthreadio.js for behavior when shared fontlist is enabled. r=jwatt
Depends on D87177

Differential Revision: https://phabricator.services.mozilla.com/D87178
2020-08-21 14:25:41 +00:00
Joel Maher
66ed7f07fc Bug 1660582 - Add expected file access to browser_startup_mainthreadio.js while running on windows10 hardware. r=Gijs
Add expected file access to browser_startup_mainthreadio.js while running on windows10 hardware

Differential Revision: https://phabricator.services.mozilla.com/D87938
2020-08-24 11:38:58 +00:00
Jed Davis
32848c3a4f Bug 1651869 - Fix the browser_startup_mainthreadio allow lists for the non-sandboxed case on Linux. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D84607
2020-08-03 15:08:18 +00:00
Dorel Luca
88828e1dc0 Backed out 2 changesets (bug 1654192) for Talos failures in \xulstore\data.safe.bin. CLOSED TREE
Backed out changeset bad6faf26935 (bug 1654192)
Backed out changeset 6657944c0b63 (bug 1654192)
2020-07-31 19:39:01 +03:00
Victor Porof
36be5b2aaa Bug 1654192 - Part 2: Update xulstore to use RKV in safe mode, r=nanj
Differential Revision: https://phabricator.services.mozilla.com/D85315
2020-07-31 10:41:33 +00:00
Jed Davis
c3572e2dda Bug 1644917 - Part 1: Construct content sandbox "common" policy lazily. r=gcp,Gijs
When the SandboxBrokerPolicyFactory is constructed, prefs aren't
available, which constrains the cached subset of the content process
policy to entries that don't depend on prefs.  Delaying the computation
until a content process is started removes that restriction.

(This also delays the reading of dynamic linker configuration to discover
library directories, so a test needs to be adjusted.)

Differential Revision: https://phabricator.services.mozilla.com/D81423
2020-07-02 11:27:21 +00:00
Gerald Squelart
9de7e9a9b5 Bug 1640325 - Implement IOInterposeObserver::Observation::FileType() on Windows - r=canaltinova
Use `GetFileType(HANDLE)` on Windows.
Unlike `HandleToFilename`, `GetFileType` is fast enough that we don't need to use a `SmallArrayLRUCache` for it.

The pipe I/Os should not be visible anymore in the startup tests.

Differential Revision: https://phabricator.services.mozilla.com/D82303
2020-07-06 23:43:18 +00:00
Gerald Squelart
f3b8c9b60a Bug 1529610 - LRU cache of Windows filenames in WinIOAutoObservation - r=canaltinova,florian
Caching filenames in 32-entry LRU array covers >95% of calls, and makes the average `Filename()` call 5 to 10 times cheaper.

browser_start_content_mainthreadio.js needed to be updated to handle operations that now have a filename thanks to the cache.

Since `ClearPoisonIOInterposer()` is never called (see bug 1647107), during Firefox shutdown we put LRUCache in a shutdown mode, which bypasses the cache in case it is still used at that time.

Differential Revision: https://phabricator.services.mozilla.com/D79767
2020-07-06 23:42:38 +00:00
Sarah Bird
d1626da38c Bug 1647501 - Rename "test slave" -> "test machine", r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D81908
2020-07-02 01:06:01 +00:00
Gijs Kruitbosch
b4623ffd8b Bug 1647787 - remove use of whitelist/blacklist from front-end performance tests, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D80697
2020-06-24 14:23:49 +00:00
Butkovits Atila
44b8ac984c Backed out changeset e33817395845 (bug 1529610) as requested by dev. CLOSED TREE 2020-06-18 15:38:56 +03:00
Gerald Squelart
61581471a7 Bug 1529610 - LRU cache of Windows filenames in WinIOAutoObservation - r=canaltinova,florian
Caching filenames in 32-entry LRU array covers >95% of calls, and makes the average `Filename()` call 5 to 10 times cheaper.

browser_start_content_mainthreadio.js needed to be updated to handle operations that now have a filename thanks to the cache.

Differential Revision: https://phabricator.services.mozilla.com/D79767
2020-06-18 08:26:51 +00:00
Shane Caraveo
56e61eda29 Bug 1575948 add new system-extensions location for Normandy r=aswan
Add a new extension location in the user profile that Normandy will use to install mozilla signed addons.  These are used to update builtin addons, experiments, etc. as well as take over functionality currently supported by Balrog.

Differential Revision: https://phabricator.services.mozilla.com/D70636
2020-05-15 23:10:33 +00:00
Andrea Marchesini
a765ed14dd Bug 1363541 - Modernize the PermissionManager - part 3 - DB handling in a separate thread, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69965

--HG--
extra : moz-landing-system : lando
2020-04-11 13:41:19 +00:00
Razvan Maries
b74e338c98 Backed out 6 changesets (bug 1363541) for perma failures. CLOSED TREE
Backed out changeset a775f6e9eb41 (bug 1363541)
Backed out changeset 9212bfd89eca (bug 1363541)
Backed out changeset bf41b0c139f6 (bug 1363541)
Backed out changeset aa7c6668b249 (bug 1363541)
Backed out changeset 9f413a8a47bb (bug 1363541)
Backed out changeset 827a9a2866bd (bug 1363541)

--HG--
rename : extensions/permissions/Permission.cpp => extensions/permissions/nsPermission.cpp
rename : extensions/permissions/Permission.h => extensions/permissions/nsPermission.h
rename : extensions/permissions/PermissionManager.cpp => extensions/permissions/nsPermissionManager.cpp
rename : extensions/permissions/PermissionManager.h => extensions/permissions/nsPermissionManager.h
2020-04-10 11:31:20 +03:00
Andrea Marchesini
f78d7b4bd4 Bug 1363541 - Modernize the PermissionManager - part 3 - DB handling in a separate thread, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69965

--HG--
extra : moz-landing-system : lando
2020-04-10 06:36:03 +00:00
Chris Martin
64e1fb7a45 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame,florian
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

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

--HG--
extra : moz-landing-system : lando
2020-04-02 15:42:15 +00:00
Gijs Kruitbosch
a3d7372669 Bug 1545167 - write default pdf behaviour to handlers.json without going to the OS, r=florian,mkaply
I'm taking the opportunity to remove isDefaultHandlerApp messaging as the
content-side calls were removed in bug 1353029.

Depends on D59788

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

--HG--
extra : moz-landing-system : lando
2020-02-10 23:52:21 +00:00
Gijs Kruitbosch
a65f26ec64 Bug 1547693 - do not bother looking up protocol information with the OS just to store the default shipped options, r=florian
Differential Revision: https://phabricator.services.mozilla.com/D59788

--HG--
extra : moz-landing-system : lando
2020-02-10 23:51:43 +00:00
Narcis Beleuzu
c8f08e0930 Backed out 2 changesets (bug 1547693, bug 1545167) for xpcshell failures on test_handlerService.js . CLOSED TREE
Backed out changeset 0e6e758f47b5 (bug 1545167)
Backed out changeset f74a32d5753a (bug 1547693)
2020-02-06 18:49:44 +02:00
Gijs Kruitbosch
f3a6914b76 Bug 1545167 - write default pdf behaviour to handlers.json without going to the OS, r=florian,mkaply
I'm taking the opportunity to remove isDefaultHandlerApp messaging as the
content-side calls were removed in bug 1353029.

Depends on D59788

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

--HG--
extra : moz-landing-system : lando
2020-01-23 15:27:26 +00:00
Gijs Kruitbosch
d36408c366 Bug 1547693 - do not bother looking up protocol information with the OS just to store the default shipped options, r=florian
Differential Revision: https://phabricator.services.mozilla.com/D59788

--HG--
extra : moz-landing-system : lando
2020-02-06 13:01:19 +00:00
Ehsan Akhgari
77edf2c060 Bug 1603969 - Part 2: Update existing 'storageAccessAPI' permissions with granted origin used in them; r=baku
This permission manager migration drops the granted origin part of the
permission type.

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

--HG--
extra : moz-landing-system : lando
2019-12-19 02:56:54 +00:00
Gurzau Raul
bed8b9f116 Backed out 4 changesets (bug 1603969) for failing at /browser_startup_mainthreadio.js on a CLOSED TREE.
Backed out changeset c4d79087eef1 (bug 1603969)
Backed out changeset 2c0198f3506c (bug 1603969)
Backed out changeset c5ad252c525b (bug 1603969)
Backed out changeset a334451b95eb (bug 1603969)
2019-12-19 02:08:09 +02:00
Ehsan Akhgari
5cd834fdd4 Bug 1603969 - Part 2: Update existing 'storageAccessAPI' permissions with granted origin used in them; r=baku
This permission manager migration drops the granted origin part of the
permission type.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 19:14:55 +00:00
Gijs Kruitbosch
9421776013 Bug 1263176 - get appropriate description on Windows 8/10 for apps/filetypes delegated via TWINUI / Windows Storage types, r=emk,mhowell
Differential Revision: https://phabricator.services.mozilla.com/D53370

--HG--
extra : moz-landing-system : lando
2019-11-22 00:07:21 +00:00
Gijs Kruitbosch
afb3b66abd Bug 1594521 - enable remote settings blocklist on nightly, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D52939

--HG--
extra : moz-landing-system : lando
2019-11-19 00:23:55 +00:00
Narcis Beleuzu
d65afd5e9a Backed out changeset dea221c2e93e (bug 1594521) for xpcshell failures on test_isDebuggable.js . CLOSED TREE 2019-11-16 00:04:29 +02:00
Gijs Kruitbosch
bb1a101c48 Bug 1594521 - enable remote settings blocklist on nightly, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D52939

--HG--
extra : moz-landing-system : lando
2019-11-15 16:54:23 +00:00
J.C. Jones
ffbc80ee26 Bug 1596430 - Permit an additional stat to the NSS certDB metadata files r=florian
Probably caused by Bug 1577803, which is a good change, so updating the tests.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 18:41:13 +00:00
Gijs Kruitbosch
ea58459bc1 Bug 1545123 - move reading pluginreg and scanning for plugins to a background thread, r=handyman,mconley
Finally, let's move the actual IO away from the main thread.

This means there are now 3 ways of looking for plugins:
1. looking for changes from ReloadPlugins. This runs the PluginFinder runnable
   on the main thread.
2. loading plugins from LoadPlugins. This will:
   a) first check prefs and report the flash plugin based on that information,
      if the prefs indicate it exists (using the callback provided by
      nsPluginHost).
   b) then hopefully dispatch to a background thread, where it will read
      pluginreg.dat, scan the appropriate folders on disk, and see if
      anything changed. Once done, it sets mFinishedFinding to true and
      re-dispatches itself to the main thread.
   c) then on the main thread, it reports any changes to nsPluginHost.
3. if dispatching in 2(b) fails, we will run steps (b) and (c) on the main
   thread.

Note: if ReloadPlugins is called, we intiially do (1), but if we find
changes, we clear out the set of known plugins and then run LoadPlugins
again (meaning we go through 2 (or 3 if 2(b) fails)). This is how
reloading plugins worked prior to my changes and I've attempted not to
change it.

In order for this to work, there are some other changes in this commit:

- the sandbox prefs are being read "early" and cached for flash vs
  "everything else". We can't access prefs on non-main threads without
  using StaticPrefs, which doesn't seem worth it here.
- some of the plugin tag classes are moved to threadsafe refcounting.
  This is a bit unfortunate, but because they're instantiated on a non-
  mainthread, and then later used on the main thread, despite the
  fact that the architecture means nothing tries to touch them from
  more than one thread at once, without threadsafe refcounting we hit
  asserts in debug mode if we add references to them back on the main thread.
- we add shutdown blocking for pluginfinding. We don't really want to
  be halfway through finding plugins and then trying to shut them down,
  or re-instantiating plugins after they've been unloaded.
- we keep a reference to the "pending" pluginfinder instance while
  doing lookups away from the main thread (ie (2)), to avoid re-entrancy or
  trying to write to pluginreg while we're reading it somewhere else,
  etc. If there's an attempt to do more plugin finding while this is
  ongoing, we flip mDoReloadOnceFindingFinished and do a reload once
  our initial lookups are complete.

Depends on D48331

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

--HG--
extra : moz-landing-system : lando
2019-11-02 22:35:04 +00:00