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

5960 Коммитов

Автор SHA1 Сообщение Дата
Dorel Luca 873f29449b Merge autoland to mozilla-central. a=merge 2020-04-17 19:23:30 +03:00
Daniel Varga 53533d14b8 Backed out changeset a6904ec3d1e0 (bug 1347710) for causing Bug 1630860 a=backout 2020-04-17 13:01:21 +03:00
Chris Peterson 40840febd0 Bug 1629315 - Replace MOZ_MUST_USE with [[nodiscard]] in ipc. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D70628
2020-04-16 22:14:21 +00:00
Marco Bonardo fb0662edda Bug 1628906 - First search in a tab from location bar could trigger an "Invalid URL" error page. r=Gijs,nika,mattwoodrow
Before 1496578, URIFixup::keywordToURI used to do a synchronous IPC call to be
able to access search engines from the content process. Consumers of URIFixup
didn't care. Bug 1496578 moved the IPC messaging to the callers, in particular
nsDocShell, but assumed nsDocShellLoadState wasn't loading from content.
It looks like in some cases it does, so this adds another sync IPC call for
GetFixupURIInfo.
The total numer of sync IPCs should not change from before Bug 1496578, URIFIxup
was just doing it internally, while now it happens at the call point.
Note the long term plan would be for these docshell objects callers to just
handle URIs, while the UI code should do fixup.
Bug 1375244 tracks the removal of these sync IPC messages.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 22:39:38 +00:00
Christoph Kerschbaumer 7e43ad336f Bug 1621987: Implement Sec-Fetch-User. r=baku,edgar,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D69392

--HG--
extra : moz-landing-system : lando
2020-04-16 08:04:26 +00:00
Chris Martin 6590a743a5 Bug 1347710 - Enable sandbox protections for the Windows GPU process r=bobowen
It seems that all the warnings caused by the GPU sandbox have been fixed, and
the transparent window issue was resolved in D61370.

Hopefully there are no further complications and this can stay landed.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 20:08:29 +00:00
Andrea Marchesini 96780fe4bb Bug 1629763 - ContentPrincipal::GetBaseDomain returns a void-string for resource: URIs, r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D70804

--HG--
extra : moz-landing-system : lando
2020-04-14 16:26:06 +00:00
Cameron McCormack 29c6b3234c Bug 1629351 - Fix typo in name of IsPincipalInfoPrivate. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D70642

--HG--
extra : moz-landing-system : lando
2020-04-12 13:19:57 +00:00
Matt Woodrow efcf5979e5 Bug 1627859 - Don't flush IPC policies when we serialize. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D69908

--HG--
extra : moz-landing-system : lando
2020-04-10 22:14:38 +00:00
Matt Woodrow bcbc1c8c73 Bug 1627859 - De-duplicate ContentSecurityPolicy IPDL structs. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D69907

--HG--
extra : moz-landing-system : lando
2020-04-10 22:14:16 +00:00
Christoph Kerschbaumer 4935907607 Bug 1627963: Remove requestContext from CSP shouldload and replace with fission friendly primitives. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D70173

--HG--
extra : moz-landing-system : lando
2020-04-10 10:56:57 +00:00
Bogdan Tara 33bc5f92db Backed out changeset 55c37e8a6563 (bug 1627963) for test_csp_reports.js failures CLOSED TREE 2020-04-09 13:18:25 +03:00
Christoph Kerschbaumer 667d022b80 Bug 1627963: Remove requestContext from CSP shouldload and replace with fission friendly primitives. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D70173

--HG--
extra : moz-landing-system : lando
2020-04-09 07:47:52 +00:00
Toshihito Kikuchi 8bb38652d4 Bug 1603974 - Part 1: Implement nt::VirtualQuery consuming only ntdll.dll. r=mhowell
This patch introduces `nt::VirtualQuery` which consumes only ntdll's functions
to reduce dependency in `MMPolicy` on kernel32.dll.  With this, `MMPolicy` still
depends on kernel32.dll, that will be solved by a coming patch.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 14:27:01 +00:00
Gabriele Svelto 2bc88d71e0 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:40 +00:00
Andreas Farre 25ca8d7890 Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:47 +00:00
Andreas Farre 36eaf82163 Bug 1620594 - Part 2: Use SchedulerGroup::Dispatch instead of SystemGroup::Dispatch. r=nika
Depends on D67631

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:33 +00:00
Andreas Farre 63e21eec70 Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.

Depends on D64390

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:23 +00:00
Daniel Varga 2617f15d0c Backed out 8 changesets (bug 1603974) for causing build bustage
CLOSED TREE

Backed out changeset ee3fb8271709 (bug 1603974)
Backed out changeset 28ef741f8f65 (bug 1603974)
Backed out changeset 631725404fb8 (bug 1603974)
Backed out changeset 484a45d16149 (bug 1603974)
Backed out changeset 5d4cd3237ec0 (bug 1603974)
Backed out changeset c2601b5bdd3e (bug 1603974)
Backed out changeset fe96d48d5b14 (bug 1603974)
Backed out changeset 9467dffe8d04 (bug 1603974)
2020-04-07 18:35:04 +03:00
Toshihito Kikuchi 18f97f01b8 Bug 1603974 - Part 1: Implement nt::VirtualQuery consuming only ntdll.dll. r=mhowell
This patch introduces `nt::VirtualQuery` which consumes only ntdll's functions
to reduce dependency in `MMPolicy` on kernel32.dll.  With this, `MMPolicy` still
depends on kernel32.dll, that will be solved by a coming patch.

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

--HG--
extra : moz-landing-system : lando
2020-04-07 14:40:14 +00:00
Frederik Braun 1a204fbc01 Bug 1613609 - add 'allowDeprecatedSystemRequests' loadinfo flag r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D68035

--HG--
extra : moz-landing-system : lando
2020-04-07 11:55:20 +00:00
Chris Martin 777045b2f1 Bug 1347710 - Make GPU sandbox allow access to shader cache r=bobowen
When the GPU sandbox is enabled, access to most of the filesystem is blocked.

The GPU process uses a directory, "%profiledir%/shader-cache", to cache
compiled shared for performance reasons. Not allowing access to that directory
results in a HUGE performance backslide when the sandbox is turned on.

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

--HG--
extra : moz-landing-system : lando
2020-04-06 20:45:06 +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
Emilio Cobos Álvarez 6ca6048ef0 Bug 1627707 - Minor cleanup in LoadInfoToLoadInfoArgs. r=ckerschb
No need for temporaries, we can just construct the object in place.

Depends on D69829

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

--HG--
extra : moz-landing-system : lando
2020-04-06 18:57:47 +00:00
Emilio Cobos Álvarez 4b9fdf3d73 Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

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

--HG--
extra : moz-landing-system : lando
2020-04-06 18:57:36 +00:00
Cosmin Sabou d557e2ed22 Backed out 3 changesets (bug 1627707) for build bustages @ mozilla::net::LoadInfo.
Backed out changeset 65d6a90651ce (bug 1627707)
Backed out changeset 378ec30d9979 (bug 1627707)
Backed out changeset 058a19e11b06 (bug 1627707)
2020-04-06 20:07:04 +03:00
Emilio Cobos Álvarez e7e32e2e35 Bug 1627707 - Minor cleanup in LoadInfoToLoadInfoArgs. r=ckerschb
No need for temporaries, we can just construct the object in place.

Depends on D69829

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

--HG--
extra : moz-landing-system : lando
2020-04-06 16:00:44 +00:00
Emilio Cobos Álvarez 97872f2fee Bug 1627707 - Rename LoadInfo::LoadingPrincipal to GetLoadingPrincipal as it can return null. r=ckerschb
Mostly a matter of:

  rg -l '\->LoadingPrincipal' | xargs sed -i 's/->LoadingPrincipal/->GetLoadingPrincipal/g'

And then clang-format. But I tweaked manually nsHttpChannelAuthProvider (move
the variable where it's used, don't take a useless strong ref),
AddonContentPolicy (move the declaration of the variable to the if condition),
and BackgroundUtils (same).

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

--HG--
extra : moz-landing-system : lando
2020-04-06 16:00:43 +00:00
Sylvestre Ledru 0aa6f03cf3 Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-04-05 13:34:58 +00:00
James Teh 132a49a8a1 Bug 1626802 part 1: mscom: Provide a way for Interceptors to avoid unnecessary cross-thread QueryInterface calls. r=aklotz
When marshaling a11y calls from the content process, there are quite a lot of cross-thread QueryInterface calls (ipc::mscom::Interceptor::QueryInterfaceTarget).
Some of these are for special COM interfaces like IAgileObject and IFastRundown, which we could just special case in Interceptor::QueryInterface like we do for INoMarshal.
However, it seems there are a lot of other interfaces being queried and it's not clear why.
This patch adds a new HandlerProvider method: IsInterfaceMaybeSupported.
This allows implementations to indicate when there are interfaces which they definitely don't support, allowing the call to be answered without a cross-thread call.

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

--HG--
extra : moz-landing-system : lando
2020-04-01 23:30:21 +00:00
Christoph Kerschbaumer 3dd1ed4c83 Bug 1625727: Remove unnecessary fallback initialization for null loadinfos, r=baku
Differential Revision: https://phabricator.services.mozilla.com/D68716

--HG--
extra : moz-landing-system : lando
2020-03-31 07:56:11 +00:00
Jeff Walden 6a774342a0 Bug 1626105 - Convert |JS::Compile| for UTF-8 to |JS::CompileDontInflate| semantics, and remove |JS::CompileDontInflate|. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D68905

--HG--
extra : moz-landing-system : lando
2020-03-31 01:30:05 +00:00
Tim Huang da4b3a697c Bug 1616788 - Part 1: Add a hasStoragePermission flag in the LoadInfo. r=dimi,baku
We add a flag 'HasStoragePermission' in the LoadInfo. This flag
represents whether the loading document, for docuemnt loads, or the
loading resource has the storage permission. And this flag would only
get updated in the parent process when opening the channel.

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

--HG--
extra : moz-landing-system : lando
2020-03-30 14:10:07 +00:00
Bogdan Tara e304198a5e Backed out changeset 278b86784e72 (bug 1625727) for LoadInfo related wpt crashes CLOSED TREE 2020-03-30 13:16:44 +03:00
Christoph Kerschbaumer 89717542fd Bug 1625727: Remove unnecessary fallback initialization for null loadinfos, r=baku
Differential Revision: https://phabricator.services.mozilla.com/D68716

--HG--
extra : moz-landing-system : lando
2020-03-30 08:45:16 +00:00
James Teh c48bee7775 Bug 1598299 part 2: Remove ProxyAccessible::AccessibleAtPoint. r=yzen,nika
This wasn't useful cross-platform.
ATK was the only consumer of this and it now uses ProxyAccessible::ChildAtPoint.
This also means the related aNeedsScreenCoords functionality in PDocAccessible::AccessibleAtPoint is no longer needed and has thus been removed.
Finally, this renames PDocAccessible::AccessibleAtPoint to PDocAccessible::ChildAtPoint for consistency with Accessible::ChildAtPoint now that the functionality is mirrored.

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

--HG--
extra : moz-landing-system : lando
2020-03-29 23:08:44 +00:00
André Bargull 14ca007916 Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj
Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.

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

--HG--
extra : moz-landing-system : lando
2020-03-28 16:00:09 +00:00
André Bargull d53798e749 Bug 1625138 - Part 23: Replace mozilla::RemovePointer with std::remove_pointer. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68378

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:17 +00:00
André Bargull a08be4177e Bug 1625138 - Part 17: Replace mozilla::Decay with std::decay. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68372

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
André Bargull ebec34a898 Bug 1625138 - Part 16: Replace mozilla::IsIntegral with std::is_integral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68371

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
André Bargull 1f5d157732 Bug 1625138 - Part 15: Replace mozilla::IsFloatingPoint with std::is_floating_point. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68370

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
JulianWels b9a66ff272 Bug 1622028 - Log failed upgrades for HTTPS Only Mode. r=ckerschb,dragana
Differential Revision: https://phabricator.services.mozilla.com/D68026

--HG--
extra : moz-landing-system : lando
2020-03-27 17:09:15 +00:00
Oana Pop Rus 679f10ce5f Backed out changeset 9d3487044f9a (bug 1622028) for build bustages in nsHTTPSOnlyStreamListener.h on a CLOSED TREE 2020-03-27 17:47:07 +02:00
JulianWels 8d65d4a658 Bug 1622028 - Log failed upgrades for HTTPS Only Mode. r=ckerschb,dragana
Differential Revision: https://phabricator.services.mozilla.com/D68026

--HG--
extra : moz-landing-system : lando
2020-03-27 14:35:33 +00:00
Razvan Maries dd48ca6c20 Backed out changeset 8b091426bc10 (bug 1540776) for build bustages. CLOSED TREE 2020-03-26 16:25:45 +02:00
Chris Martin 65292a10f3 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame
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-03-26 13:44:56 +00:00
Bas Schouten 1bc21ff19c Bug 1563335 - Part 1: Implement mechanism to throttle JS execution. r=smaug,asuth
Differential Revision: https://phabricator.services.mozilla.com/D59321

--HG--
extra : moz-landing-system : lando
2020-03-26 00:36:24 +00:00
Chris Martin 3373ac231b Bug 1347710 - Don't call AddTargetPeer if process is sandboxed r=bobowen,handyman
Previously, we only called AddTargetPeer() in
GeckoChildProcessHost::PerformAsyncLaunch() if the target process was not
sandboxed.

In the refactoring, the "else" clause was missed due to confusing CPP macros,
and now AddTargetPeer() is always called for non-plugin children.

This patch restores the old behavior of only calling AddTargetPeer() for non-
sandboxed processes.

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

--HG--
extra : moz-landing-system : lando
2020-03-25 16:40:01 +00:00
Jed Davis f9c2aefe5c Bug 1550900 - Support "frozen" shared memory where the parent process retains write access. r=froydnj
This patch extends shared memory freezing to support the use case where
the parent process retains write access for incremental updates, while
other processes receive read-only access.

Note that, while some OSes allow independent read-only and read/write
capabilities for the same object, all we have on Android is an operation
that prevents future write mappings.  Therefore, this allows an existing
writeable mapping to be retained, but if that is unmapped then even the
parent process can't re-create it.

As with freezing, the read-only restriction may not be enforceable if
the recipient process isn't adequately sandboxed (e.g., on Linux, if it
can use /proc/self/fd to reopen the inode for writing).

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

--HG--
extra : moz-landing-system : lando
2020-03-20 16:23:59 +00:00
Sylvestre Ledru 734f79b541 Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi
$ ./mach static-analysis check --checks="-*, misc-unused-using-decls" --fix <path>

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

--HG--
extra : moz-landing-system : lando
2020-03-23 13:15:33 +00:00