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

5953 Коммитов

Автор SHA1 Сообщение Дата
Andrea Marchesini c4d5364f80 Bug 1610020 - BroadcastChannel + wasm - part 5 - RefMessageBody for BroadcastChannels, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D60321

--HG--
extra : moz-landing-system : lando
2020-01-24 08:00:08 +00:00
shindli 78f9c85759 Backed out changeset 86d1da74131f (bug 1264175) for causing mochitest failures in dom/serviceworkers/test/test_fetch_event.html CLOSED TREE 2020-01-24 06:18:04 +02:00
Perry Jiang 64699e71f7 Bug 1264175 - remove FetchEvent.isReload r=dom-workers-and-storage-reviewers,valentin,sg,bzbarsky
isReload is no longer a property defined by the FetchEvent specification.

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

--HG--
extra : moz-landing-system : lando
2020-01-24 02:38:01 +00:00
Aaron Klotz ce2204248f Bug 1595834: Make GeckoProcessManager interface e10s-multi aware; r=snorp
This patch does not change any of the *internals* of process management in
`GeckoProcessManager`, however it upgrades the interface in preparation for
such changes.

* We add a java equivalent to Gecko's `GeckoProcessType` enumeration;
* We add the `GeckoProcessType.Selector` class which will be used for
  identifying running content processes;
* We update `ContentParent::MarkAsDead` to use `GeckoProcessType.Selector` for
  indicating which process should be marked.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 18:12:51 +00:00
Coroiu Cristina 1d7d0b00b0 Backed out changeset b404fd242e7f (bug 1545196) for browser-chrome failures at projects/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cc
CLOSED TREE

--HG--
extra : histedit_source : 180a97c6ffcec24cbbe05e9bf766d5e34a210f74
2020-01-23 17:07:32 +02:00
Simon Giesecke c30b0678a2 Bug 1545196 - Avoid copying large RequestParams sub-object in ObjectStoreAddOrPutRequestOp. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D59726

--HG--
extra : moz-landing-system : lando
2020-01-23 13:53:46 +00:00
Daniel Varga 061d64badf Backed out changeset 7014228a3cca (bug 1545196) for causing build bustages at ActorsParent.cpp
CLOSED TREE
2020-01-23 15:04:53 +02:00
Simon Giesecke 99f4d7d6d8 Bug 1545196 - Avoid copying large RequestParams sub-object in ObjectStoreAddOrPutRequestOp. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D59726

--HG--
extra : moz-landing-system : lando
2020-01-15 09:32:31 +00:00
Bogdan Tara b965efc231 Backed out changeset ba74f99ce9bc (bug 1607153) for browser_content_url_annotation.js failures CLOSED TREE 2020-01-23 00:19:13 +02:00
Tom Ritter 1e3011753d Bug 1610007 - Support a tainted parameter in ipdl files r=nika
Differential Revision: https://phabricator.services.mozilla.com/D60306

--HG--
extra : moz-landing-system : lando
2020-01-22 21:16:15 +00:00
Jed Davis c6b8eb2709 Bug 1607153 - Remove the incorrect extra close of IPC channel client_pipe_. r=froydnj
It's no longer safe to try closing client_pipe_ when the I/O thread is
woken up with data from the child process, because that can race with the
launch thread doing its own close, and it's also unnecessary because of
that other close.  See also bug 1607153 comment #2.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 20:28:10 +00:00
Boris Chiou 98e40ec294 Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio
We generate ByteBuf by rust bindgen, so we can drop StyleVecU8.
One potential follow-up is that we can merge this together with WrVecU8.

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

--HG--
rename : ipc/glue/ByteBuf.h => ipc/glue/ByteBufUtils.h
extra : moz-landing-system : lando
2020-01-22 20:18:40 +00:00
Bogdan Tara 958c34b738 Backed out 6 changesets (bug 1592822) for bustages complaining about layout/painting/nsDisplayList.cpp CLOSED TREE
Backed out changeset 90d0f2ebd310 (bug 1592822)
Backed out changeset 9890bad86a0e (bug 1592822)
Backed out changeset 43870cc90433 (bug 1592822)
Backed out changeset d80e0e3f5b87 (bug 1592822)
Backed out changeset 99be49183325 (bug 1592822)
Backed out changeset 9ce641556acc (bug 1592822)

--HG--
extra : histedit_source : fa4e4b2c899510f1d39ee3baa0374e2ce16d2815
2020-01-22 21:17:39 +02:00
Boris Chiou 4f3076794c Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio
We generate ByteBuf by rust bindgen, so we can drop StyleVecU8.
One potential follow-up is that we can merge this together with WrVecU8.

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

--HG--
rename : ipc/glue/ByteBuf.h => ipc/glue/ByteBufUtils.h
extra : moz-landing-system : lando
2020-01-22 18:42:54 +00:00
Dzmitry Malyshau df4fc33667 Bug 1596128 - WebGPU compute passes r=jgilbert,webidl,bzbarsky
Update third party dependencies
WebGPU command encoder creation
WebGPU CommandBuffer creation and submission
WebGPU Compute pass recording

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

--HG--
rename : gfx/wgpu/wgpu-core/src/device.rs => gfx/wgpu/wgpu-core/src/device/mod.rs
extra : moz-landing-system : lando
2020-01-22 07:31:51 +00:00
Gabriele Svelto 31ac6aaa14 Bug 1610426 - Discard unknown crash annotations r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60498

--HG--
extra : moz-landing-system : lando
2020-01-21 23:49:53 +00:00
Andrea Marchesini d2e146600e Bug 1507055 - Implement Anti-tracking heuristic for redirects, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D56191

--HG--
extra : moz-landing-system : lando
2020-01-21 18:18:32 +00:00
Noemi Erli e5fff9caae Backed out 2 changesets (bug 1507055) for causing build bustages in AntiTrackingCommon.cpp CLOSED TREE
Backed out changeset be170480919d (bug 1507055)
Backed out changeset 678dd02cf719 (bug 1507055)
2020-01-21 20:14:36 +02:00
Andrea Marchesini f97dcc5818 Bug 1507055 - Implement Anti-tracking heuristic for redirects, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D56191

--HG--
extra : moz-landing-system : lando
2020-01-21 17:59:33 +00:00
Andreea Pavel bd998e0112 Backed out changeset 4639d83e5871 (bug 1507055) for causing the crash in bug 1610485 a=backout
--HG--
extra : amend_source : 8cf2f5ccf0dc884c0d2ccdc3f1c48b3b5e014e1e
2020-01-21 16:46:22 +02:00
Emilio Cobos Álvarez 256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Andrea Marchesini 1aa9918367 Bug 1507055 - Implement Anti-tracking heuristic for redirects, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D56191

--HG--
extra : moz-landing-system : lando
2020-01-20 14:43:03 +00:00
Sylvestre Ledru cc2040bf21 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

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

--HG--
extra : moz-landing-system : lando
2020-01-18 13:48:34 +00:00
Dorel Luca 506e65bcab Backed out changeset bbb39655cf71 (bug 1605934) for build bustage in widget/gtk/mozwayland/mozwayland.c 2020-01-18 15:39:55 +02:00
Sylvestre Ledru 6689a37527 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

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

--HG--
extra : moz-landing-system : lando
2020-01-18 13:16:39 +00:00
Andrea Marchesini ce6465d9ea Bug 1607791 - Get rid of IDBMutableFile.getFile() - part 1, r=asuth,janv
Differential Revision: https://phabricator.services.mozilla.com/D59140

--HG--
extra : moz-landing-system : lando
2020-01-15 12:02:21 +00:00
Sebastian Streich 0700c14b2d Bug 1609436 : Remove GetURI calls in BackgroundUtils.cpp r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D60016

--HG--
extra : moz-landing-system : lando
2020-01-16 12:56:22 +00:00
Mihai Alexandru Michis 4345a38d0d Backed out 9 changesets (bug 1607791, bug 1605566) for causing multiple wpt failures.
CLOSED TREE

Backed out changeset 39f34852842e (bug 1605566)
Backed out changeset 3427a92445c8 (bug 1605566)
Backed out changeset 36631ec96f1f (bug 1605566)
Backed out changeset 554b2bdce66c (bug 1605566)
Backed out changeset 37026beadbd8 (bug 1605566)
Backed out changeset f15835338319 (bug 1607791)
Backed out changeset 4c92f506cf62 (bug 1607791)
Backed out changeset 80707bcc8427 (bug 1607791)
Backed out changeset 75bc7533c899 (bug 1607791)
2020-01-15 13:45:33 +02:00
Andrea Marchesini 6c05c922e3 Bug 1607791 - Get rid of IDBMutableFile.getFile() - part 1, r=asuth,janv
Differential Revision: https://phabricator.services.mozilla.com/D59140

--HG--
extra : moz-landing-system : lando
2020-01-15 09:58:39 +00:00
Matt Woodrow dc86748b77 Bug 1599438 - Store sandbox flags on the LoadInfo when creating a channel for a docshell, so that we don't read a stale value from the BrowsingContext later. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59263

--HG--
extra : moz-landing-system : lando
2020-01-15 08:02:57 +00:00
Narcis Beleuzu c59ca04e7b Backed out changeset b3538b7016aa (bug 1599438) for bustages on TestHttpFuzzing.cpp . CLOSED TREE 2020-01-15 06:03:55 +02:00
Matt Woodrow dd0d183cb4 Bug 1599438 - Store sandbox flags on the LoadInfo when creating a channel for a docshell, so that we don't read a stale value from the BrowsingContext later. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59263

--HG--
extra : moz-landing-system : lando
2020-01-15 02:05:57 +00:00
Nathan Froyd 6bd7bafb72 Bug 1608847 - fix outdated comment in ipdl unit tests; r=mccr8
Apparently nobody ever checked the comment vs. the code.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 17:30:18 +00:00
Sylvestre Ledru c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
Andi-Bogdan Postelnicu 597ca4ed51 Bug 1605659 - fix some errors discovered with `-Wdeprecated-copy`. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D59296

--HG--
extra : moz-landing-system : lando
2020-01-09 16:42:15 +00:00
Nika Layzell 287fb21379 Bug 1607919 - Part 3: Require descriptions for sync message entries, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59213

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:27 +00:00
Nika Layzell ef4d0da8fe Bug 1607919 - Part 2: Add generic descriptions for remaining sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59212

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:25 +00:00
Nika Layzell f186b69e82 Bug 1607919 - Part 1: Add specific descriptions to some sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59211

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:18 +00:00
Jeff Gilbert 0dfd1a2a0d Bug 1477756 - Fix all webgl regression tests according to CI. r=handyman
(This is a combination of 31 commits)

* Fix Linux compilation.

* Fix mac compilation.

* CI compile fixes.

* printf's size_t is %zu. %tu would be unsigned ptrdiff_t.

* No non-ref Maybe args.

* MOZ_CRASH for noreturn

* Handle implied texture sizes, rewrite comment stripping.

* Replace e.g. WebGLProgramInner with simpler webgl::ProgramKeepAlive.

* Bounce ValidateProgram call off driver.

* Uniform name length limit, cubemap fb-attach, non-array uniforms, undersized texImage views.

* alignas for uint8_t[sizeof(float)*N] pun buffers.

* CC fixes?

* Fill attrib0Active.

* Repair max-warnings limit.

* This is basically required in order for CI's logging to not explode.

* Don't cache WebGLMemoryTracker.

* Deleted prog/shader error, no texSubImage(null), client-side fingerprint resist for exts.

* Fix GetUniformIndices and MakeRangeFromView.

* CC Traverse base class from within derived class to fix leaking the world. :(

* PauseTransformFeedback
* TexImage video fastpath
* GetFragLocation for arrays
* Forbid BindBufferRange during TF

* Mark tests and fix RBAB query and test.

* Change(!) query deletion behavior to match spec.
* Mark conformance2/query/query.html failing for now.

* Implicitly EndQuery on DeleteQuery while spec is in flux.

* Fix error code for test.

* RAII LruPosition for WebGL context limit.

* Include std::list.

* Mark CompileResult and LinkResult.pending as false when retrieved.

* Hold strong-ref to NotLostData during Run<> to prevent LoseContext=>UAF.

* Don't assume GetUniformLocation(foo+'[0]') means foo is an array.
* Don't assume !mCanvasElement means !!mOffscreenCanvas.

* Handle composition while context-lost.

* All non-value-init members must be const or have inline init.

* Mark passing tests on Linux.

Depends on D54019

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:23 +00:00
David Parks 198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
Boris Zbarsky 613f2313da Bug 1606672. Change nsIRunnablePriority values so increasing value indicates increased priority. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D58539

--HG--
extra : moz-landing-system : lando
2020-01-02 20:07:40 +00:00
shravanrn@gmail.com 3201996fba Bug 1575985 part 1 - Preload RLBox dynamic library before content sandbox to allow subsequent loads r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45941

--HG--
extra : moz-landing-system : lando
2019-12-20 18:31:27 +00:00
Gabriele Svelto ca8ae39a56 Bug 1544147 - Ensure orphaned crashes are properly notified to the rest of the system r=froydnj
When a content or plug-in process crashes too early we haven't initialized the
CrashReporterHost for that process. This will cause the crash to be orphaned,
i.e. to miss most of its crash annotations. We added code to finalize those
crashes in bug 1282776 so that we wouldn't miss them entirely. This ensured
that crash reports would have both their .dmp and .extra files but the patch
failed to modify the code that notified various listeners about the crash
report's presence.

This changes always send the crash ID alongside the crash notifications, even
for orphaned crashes, so that listeners such as the content crash handler or
the test harnesses can always find the minidump and .extra file. Additionally
orphaned crashes are recorded in the CrashManager and in telemetry just like
normal crashes.

This also re-enables dom/ipc/tests/process_error.xul which failed frequently
because of this bug.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 17:50:45 +00:00
Thinker Li 57e4c6d0e2 Bug 1604000 - Fix the bloat view of the fork server. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D57219

--HG--
extra : moz-landing-system : lando
2019-12-19 15:48:31 +00:00
Thinker Li dae3528029 Bug 1604084 - Fix log names of leak checking and refactor it. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D57222

--HG--
extra : moz-landing-system : lando
2019-12-18 17:02:10 +00:00
Thinker Li 21a6a77032 Bug 1604002 - Adapt the way of testing process status with the fork server. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D57217

--HG--
extra : moz-landing-system : lando
2019-12-17 21:04:39 +00:00
Thinker Li add9a45b8a Bug 1603998 - Close leaking FDs of the fork server. r=gsvelto
* Close leaking FDs of the fork server.
* Init the fork server before the initialization of the leak checker  to avoid log files from taking lower file descriptor numbers.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 17:35:39 +00:00
Olli Pettay 667df300dc Bug 1600605, add support for mediumhigh priority ipdl messages, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D57013

--HG--
extra : moz-landing-system : lando
2019-12-13 22:38:15 +00:00
Haik Aftandilian 8df5029e9d Bug 1597282 - Intermittent org.mozilla.geckoview.test.ZZAccessibilityTest.testAccessibilityFocus r=jld
Avoid crashing in IToplevelProtocol::GetMessageEventTarget() in DEBUG builds for messages that have been re-posted.

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

--HG--
extra : moz-landing-system : lando
2019-12-13 01:21:25 +00:00
Doug Thayer 86601b48c5 Bug 1602646 - Remove vestigial references to cooperative scheduling r=froydnj
GetCurrentPhysicalThread and GetCurrentVirtualThread are, in practice,
identical, as the TLS override that GetCurrentVirtualThread depends on
is never actually set. This simply removes that and renames some things/
deletes some comments.

Rebased across https://hg.mozilla.org/mozilla-central/rev/3f0b4e206853
by Karl Tomlinson <karlt+@karlt.net>.

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

--HG--
extra : moz-landing-system : lando
2019-12-12 00:56:53 +00:00
Valentin Gosu 99cfec8178 Bug 1561860 - Add rust-url based nsIURI implementation r=JuniorHsu
This patch adds DefaultURI which wraps MozURL which in turn forwards calls
to rust-url.
For the moment the added network.url.useDefaultURI is set to false by default.
The plan is to make this the default implementation for unknown URI types.

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

--HG--
extra : moz-landing-system : lando
2019-12-11 20:17:53 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
Thinker Li 0815480479 Bug 1601794- Fix building errors with clang. r=gsvelto
Bug 1601794- Fix building errors with clang. r=gsvelto

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

--HG--
extra : moz-landing-system : lando
2019-12-06 04:59:26 +00:00
Thinker Li fab0758915 Bug 1601742 - Fix unified build with the forkserver. r=froydnj
Bug 1601742 - Fix unified build with the forkserver. r=froydnj

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

--HG--
extra : moz-landing-system : lando
2019-12-06 04:58:27 +00:00
Boris Zbarsky 75124bdd98 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067

--HG--
extra : moz-landing-system : lando
2019-12-05 04:44:32 +00:00
Thinker Li 7cfdf6a788 Bug 1470591 - Part 6: Create a fork server process. r=gsvelto
This patch make changes of Gecko infrastrutures to run a fork server
process.

 - ForkServerLauncher is a component, which creates a fork server
   process at XPCOM startup.

 - nsBrowserApp.cpp and related files have been chagned to start a
   fork server in a process.

 - Logging and nsTraceRefcnt were changed to make it work with the
   fork server.

Depends on D46883

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

--HG--
extra : moz-landing-system : lando
2019-12-05 00:02:40 +00:00
Thinker Li c50a650261 Bug 1470591 - Part 5: ForkServer to create new processes. r=gsvelto
Class ForkServer and class ForkServiceChild are implemented.  The
chrome process can ask the fork server process to create content
processes.  The requests are sent by MiniTransceiver over a socket.
The fork server replys with the process IDs/handles of created
processes.

LaunchOptions::use_forkserver is a boolean.  With use_forkserver being
true, the chrome process sends a request to the fork server instead of
forking directly.

Depends on D46881

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

--HG--
extra : moz-landing-system : lando
2019-12-05 00:05:21 +00:00
Thinker Li 234b674542 Bug 1470591 - Part 4: MiniTransceiver to do single-tasking IPC. r=gsvelto
MiniTransceiver is a simple request-reponse transport, always waiting
for a response from the server before sending next request.  The
requests are always initiated by the client.

Depends on D46880

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

--HG--
extra : moz-landing-system : lando
2019-12-05 00:04:53 +00:00
Thinker Li 3b1f4faef8 Bug 1470591 - Part 3: AppForkBuilder to ceate a new content process. r=gsvelto
An instance of AppForkBuilder creates a new content process from
the passed args and LaunchOptions.  It bascally does the same thing as
LaunchApp() for Linux, but it divides the procedure to two parts,

 - the 1st part forking a new process, and
 - the 2nd part initializing FDs, ENV, and message loops.

Going two parts gives fork servers a chance to clean new processes
before the initialization and running WEB content.  For example, to
clean sensitive data from memory.

Depends on D46879

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

--HG--
extra : moz-landing-system : lando
2019-12-05 00:04:19 +00:00
Thinker Li 0fcab03d24 Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878

--HG--
extra : moz-landing-system : lando
2019-12-05 00:03:29 +00:00
Bogdan Tara 3732e1f17c Backed out 6 changesets (bug 1470591) for test_punycodeURIs & test_nsIProcess* crashes CLOSED TREE
Backed out changeset 3ca19f8f388e (bug 1470591)
Backed out changeset f80db6e63169 (bug 1470591)
Backed out changeset cbac2d7dfe42 (bug 1470591)
Backed out changeset daad4d736ec0 (bug 1470591)
Backed out changeset ca1b804d404a (bug 1470591)
Backed out changeset a10772f780f7 (bug 1470591)
2019-12-04 00:53:14 +02:00
Thinker Li 035717ac2d Bug 1470591 - Part 6: Create a fork server process. r=gsvelto
This patch make changes of Gecko infrastrutures to run a fork server
process.

 - ForkServerLauncher is a component, which creates a fork server
   process at XPCOM startup.

 - nsBrowserApp.cpp and related files have been chagned to start a
   fork server in a process.

 - Logging and nsTraceRefcnt were changed to make it work with the
   fork server.

Depends on D46883

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

--HG--
extra : moz-landing-system : lando
2019-12-03 19:08:10 +00:00
Thinker Li bb0277d828 Bug 1470591 - Part 5: ForkServer to create new processes. r=gsvelto
Class ForkServer and class ForkServiceChild are implemented.  The
chrome process can ask the fork server process to create content
processes.  The requests are sent by MiniTransceiver over a socket.
The fork server replys with the process IDs/handles of created
processes.

LaunchOptions::use_forkserver is a boolean.  With use_forkserver being
true, the chrome process sends a request to the fork server instead of
forking directly.

Depends on D46881

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

--HG--
extra : moz-landing-system : lando
2019-12-03 19:27:32 +00:00
Thinker Li 5cc87ed778 Bug 1470591 - Part 4: MiniTransceiver to do single-tasking IPC. r=gsvelto
MiniTransceiver is a simple request-reponse transport, always waiting
for a response from the server before sending next request.  The
requests are always initiated by the client.

Depends on D46880

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

--HG--
extra : moz-landing-system : lando
2019-12-03 19:20:02 +00:00
Thinker Li 312cb84dba Bug 1470591 - Part 3: AppForkBuilder to ceate a new content process. r=gsvelto
An instance of AppForkBuilder creates a new content process from
the passed args and LaunchOptions.  It bascally does the same thing as
LaunchApp() for Linux, but it divides the procedure to two parts,

 - the 1st part forking a new process, and
 - the 2nd part initializing FDs, ENV, and message loops.

Going two parts gives fork servers a chance to clean new processes
before the initialization and running WEB content.  For example, to
clean sensitive data from memory.

Depends on D46879

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

--HG--
extra : moz-landing-system : lando
2019-12-03 19:14:47 +00:00
Thinker Li 70ef2f4abf Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878

--HG--
extra : moz-landing-system : lando
2019-12-03 18:53:53 +00:00
Kershaw Chang e686a3ff31 Bug 1596409 - P5: Enable necessary XPCOM components for using nsHttpTransaction in socket process r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D54165

--HG--
extra : moz-landing-system : lando
2019-12-03 13:45:19 +00:00
Kershaw Chang f3bddbd52b Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D54289

--HG--
extra : moz-landing-system : lando
2019-12-03 13:41:58 +00:00
Daniel Varga 00e1ca5f09 Backed out 4 changesets (bug 1589493) for linting failure at builds/worker/checkouts/gecko/dom/ipc/tests/test_process_error_oom.xhtml:12:11. On a CLOSED TREE
Backed out changeset fb609feb845a (bug 1589493)
Backed out changeset 0e09d02e484a (bug 1589493)
Backed out changeset 94aa25f22d44 (bug 1589493)
Backed out changeset 04adc4c18424 (bug 1589493)
2019-11-29 19:48:41 +02:00
David Teller 398ff1cb9b Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

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

--HG--
extra : moz-landing-system : lando
2019-11-29 14:42:55 +00:00
Matt Woodrow 1f6d417fda Bug 1595578 - Don't release the AutoIPCStream immediately when called from IPDLParamTraits, since we need it to outlive the message currently being serialized. r=baku,kmag
Differential Revision: https://phabricator.services.mozilla.com/D54867

--HG--
extra : moz-landing-system : lando
2019-11-28 19:50:43 +00:00
Coroiu Cristina 8aab818cb9 Backed out 4 changesets (bug 1589493) for chrome failures at dom/ipc/tests/test_process_error_oom.xu on a CLOSED TREE
Backed out changeset 9b97128e83d8 (bug 1589493)
Backed out changeset d2ed39839f83 (bug 1589493)
Backed out changeset cac468582924 (bug 1589493)
Backed out changeset 421b8d600806 (bug 1589493)
2019-11-28 18:01:54 +02:00
David Teller 55461f78a7 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

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

--HG--
extra : moz-landing-system : lando
2019-11-28 14:12:23 +00:00
Haik Aftandilian 42172d9b97 Bug 1598472 - MOZ_CRASH("Origin must be available when deserialized") impedes fuzzing r=ckerschb
When fuzzing, return an error instead of crashing in PrincipalInfoToPrincipal() for some error cases.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 18:21:22 +00:00
Sylvestre Ledru 8d2f0d1b1f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-11-26 14:35:02 +00:00
Jed Davis e56c8b2a50 Bug 1573270 - Enhance shared memory freezing tests and add comments. r=bobowen on a CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D42048

--HG--
extra : source : 9d28ee24c3772c25c4995d202bc23e4484854dc0
extra : histedit_source : 0d05612ebe4fcc8af252b272693ac3c7e6841fa0
2019-11-25 18:36:46 +00:00
Coroiu Cristina 535a7ca388 Backed out changeset 9d28ee24c377 (bug 1573270) for xpcshell failures at toolkit/modules/tests/xpcshell/test_firstStartup.js on a CLOSED TREE 2019-11-26 02:29:15 +02:00
Andrew McCreight d25c3b20ae Bug 1598787 - Rename XRE_ChildProcessTypeToString to XRE_GeckoProcessTypeToString. r=froydnj
This function works on all GeckoProcessTypes, not just those for child
processes.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 22:45:31 +00:00
Coroiu Cristina 0356c7a1b5 Backed out changeset 8f52344661fe (bug 1598787) for build bustages at build/src/tools/fuzzing/faulty/Faulty.cpp on a CLOSED TREE 2019-11-26 00:22:28 +02:00
Jed Davis 7067fb846c Bug 1573270 - Enhance shared memory freezing tests and add comments. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D42048

--HG--
extra : moz-landing-system : lando
2019-11-25 18:36:46 +00:00
Andrew McCreight b8c9932d5b Bug 1598787 - Rename XRE_ChildProcessTypeToString to XRE_GeckoProcessTypeToString. r=froydnj
This function works on all GeckoProcessTypes, not just those for child
processes.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 17:24:46 +00:00
Simon Giesecke 42816d8112 Bug 1597211 - Do not cast IPC message size to signed int. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D53793

--HG--
extra : moz-landing-system : lando
2019-11-21 01:26:08 +00:00
Gabriele Svelto 9283d5f034 Bug 1598258 - Add a list of additional minidumps to the event delivered when a plug-in crashes r=froydnj
This patch adds a new field to the `plugin-crashed` event that holds the list
of additional minidumps associated with a crash report. The test
infrastructure is modified to use it which also fixes a race when processing
the .extra file. The reftest machinery has also been modified to take the new
field into account.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 07:30:23 +00:00
David Parks 4dc38ba6aa Bug 1577336: Part 7 - Move DXGI async plugin operations to compositor process r=jmathies,mattwoodrow,sotaro,mccr8
Previously, we created TextureD3D11 objects in the content process to back surfaces created for the plugin process.  Those objects were then composited by the async ImageBridge.  In order to remove Win32 kernel operations from content (including DX/GDI operations), this patch bounces the requests from content to the compositor process.  The compositor process maintains 2 textures to be used for all plugin composition -- one for the plugin process and one for display.  The plugin process can freely write to its texture and request composition when it is done, which triggers a blit to the display texture.  This mirrors pre-existing behavior.

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:49:35 +00:00
David Parks 446170c593 Bug 1577336: Part 3 - Fetch Windows plugin async graphics capabilities from gpu or main process r=jmathies,mattwoodrow,froydnj
These operations report whether certain async plugin drawing modes are supported on the host architecture.  They use kernel graphics operations to decide this so they need to be removed from the content process for sandboxing.  We just bounce the requests to the gpu process (or main process on systems without a GPU process).

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:33:55 +00:00
Aaron Klotz abf8d763be Bug 1596562: Add ParamTraits specializations for mozilla::Vector and std::vector; r=froydnj,bwc
While the need for adding `mozilla::Vector` is self-evident, we also need
`std::vector` so that we can send some pre-existing telemetry data structures
that use it.

The new implementations are basically modified from the `nsTArray`
specializations. Note that the `mozilla::Vector` specialization does support
any type of allocator, so we still check for OOM failures in that case.

This patch also removes the specialization for `std::vector` that lives in
WebRTC in favour of the centralized implementation.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 19:45:41 +00:00
Jonathan Kew 89f321af1e Bug 1487212 - When hyphenation resources are compressed in omnijar, load them into shared memory and share among all content processes. r=heycam,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52835

--HG--
extra : moz-landing-system : lando
2019-11-14 20:05:58 +00:00
Jed Davis b1dbdc9687 Bug 1582297 - Suppress IPC "pipe error" messages if the cause was probably the other process exiting. r=froydnj
There are two issues here:

1. These error messages occur even during normal channel shutdown,
because that's tracked in the mozilla::ipc::MessageChannel layer,
which the ipc/chromium code can't access.

2. If we get this kind of error when the channel wasn't intentionally
closed, it almost certainly means that the other process crashed.  In
that case, having error messages from a different process and a likely
unrelated subsystem just leads to confusion and misfiled bugs.

(Also complicating things: on Unix a closed channel often, but not
always, results in an end-of-file indication, which already isn't
logged; on Windows it's always a broken pipe error, which causes a much
larger amount of log spam.)

Bonus fix: the error that contains a fd number is clarified to avoid
having it mistaken for an error code.

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

--HG--
extra : moz-landing-system : lando
2019-11-12 21:04:40 +00:00
Haik Aftandilian 5c7403d2a1 Bug 1589809 - [macOS] Use OS_ACTIVITY_MODE=disable for child processes r=spohl
Set the environment variable OS_ACTIVITY_MODE=disable on sandboxed Mac child processes.

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

--HG--
extra : moz-landing-system : lando
2019-11-09 00:27:48 +00:00
Bobby Holley 105c2ab943 Bug 1562761 - Add support for dispatching java runnables to Gecko event targets. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D52197

--HG--
extra : moz-landing-system : lando
2019-11-08 18:08:03 +00:00
Brindusan Cristian 98904c4e42 Backed out changeset efc82f89a7c7 (bug 1562761) for linting failure on XPCOMEventTarget.java. CLOSED TREE 2019-11-08 19:36:27 +02:00
Bobby Holley 58c5923eff Bug 1562761 - Add support for dispatching java runnables to Gecko event targets. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D52197

--HG--
extra : moz-landing-system : lando
2019-11-08 14:32:59 +00:00
Barret Rennie 59bbcf47d9 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:25 +00:00
Daniel Varga 8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie 8323f194e5 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:43 +00:00
Peter Van der Beken 51c0772fe6 Bug 1570253 - Convert session history sync IPC messages that don't return anything to async. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D44442

--HG--
extra : rebase_source : c1700389bff0e86f120298f838e37244309dab3e
extra : amend_source : b05519f5b6ab4ce5207318e55bc28a1582e2b905
extra : source : 3da2f0f2d95bf2452caf7afc06a5c4887e477068
extra : histedit_source : 483074226bac0ae0387677e24958c5225207e01b
2019-08-27 17:05:11 +02:00
Anny Gakhokidze c43df3d447 Bug 1545474 - Part 1: Consolidate sync IPC calls inside of nsDocShell::UpdateURLAndHistory, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::UpdateURLAndHistory, there are 4 sync IPC calls to
nsSHistory plus 1 static call, which contains at least one nsSHEntry::GetParent
sync IPC call. All of these calls can be moved inside of a new method
EvictContentViewersOrReplaceEntry on nsSHEntry, resulting in just 1 sync IPC
call.

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

--HG--
extra : rebase_source : ad09a9061cd6fe8eb6796b2809ea191aceb3ac73
extra : source : 2cd5cd24763ff320719aedb2142a79822efd6de4
extra : histedit_source : fdc4f80cfd8807e46c2dc02e6ab82f2bd3acc391
2019-04-18 15:18:00 -04:00
Anny Gakhokidze 686417088e Bug 1541515 - Consolidate IPC calls to nsISHEntry inside of nsDocShell::GetChildSHEntry, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell::GetChildSHEntry calls 3 sync IPC calls on nsISHEntry,
and the method GetChildSHEntry only has one caller. By moving GetChildSHEntry
method to parent process for nsISHEntry, resulting in a new method
nsISHEntry::GetChildSHEntry, 3 sync IPC calls can be reduced to 1.

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

--HG--
extra : rebase_source : 1e76a1b07d827b35bae7ed6acca25aa8732c9ed0
extra : source : 34d91f82faa36dd8d8ed721de365122d831f7b25
extra : histedit_source : 86592bc747d506c546ec660e57087e78b9719cf7
2019-04-15 14:27:44 -04:00
Anny Gakhokidze 4472abffc2 Bug 1546761 - Consolidate IPC calls to nsISHistory inside of nsDocShell::OnNewURI, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::OnNewURI there are 4 sync IPC calls
to nsSHistory that can be replaced with 1 sync IPC call
by adding a new method EnsureCorrectEntryAtCurrIndex to nsSHistory.

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

--HG--
extra : rebase_source : 09d7738b2f2dc2334c8f6186e5918b9d0ea3e618
extra : source : 82a41bffcbbca24ad3e84b045d75e4cb01ae1445
extra : histedit_source : 96eb7d2dbed2ad8fe4cc2d37358ec2358f696442
2019-05-07 15:23:08 -04:00
Anny Gakhokidze ac22fc9f39 Bug 1539482 - Reduce the number of IPC calls on nsISHEntry in nsDocShell::LoadHistoryEntry, r=peterv, r=nika for adding sync IPC messages
In nsDocShell::LoadHistoryEntry method, when it gets called
from parent process, there are 13 sync IPC calls on nsISHEntry
that retrieve  information from the session history entry and
create a  doc shell load state object using the retrieved
information.  By adding a new method 'CreateLoadInfo'on nsISHEntry,
inside of which the doc shell load state object will be
created (with appropriate data filled out) and returned,
we eliminate 12 sync IPC call, resulting in just 1 IPC call
to nsISHEntry::CreateLoadInfo.

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

--HG--
extra : rebase_source : a4e1fa52932fd5caabb59bd133e9fbee7f4d0e4a
extra : amend_source : f4d9f01afac0337808ba347eb997ce83e6ae1488
extra : source : 6ad53b35c7b4be933a3db1e1d45fa3da8a57abad
extra : histedit_source : c08d0cebcc11a3a4f64d01566cb62d9a334a12ec
2019-03-29 15:48:59 -04:00
Anny Gakhokidze b0a8f8d708 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::AddToSessionHistory by adding nsSHEntry::ClearEntry method, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt and
nsISHEntry::RemoveChild  in nsDocShell::AddToSessionHistory,
which results in twice as many IPC calls as the number of children
a session history entry has. Additionally, there is one extra
IPC sync call to nsISHEntry::AbandonBFCacheEntry after the loop.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ab98af417bcb28fdfcb1a115473b505fa8a70aa1
extra : source : 0270d6b952ffa1704690c777c55fcaed30125b38
extra : histedit_source : 9a031cb921ad8efa1bd96f7342e08337f3c0ca8a
2019-03-26 14:24:33 -04:00
Anny Gakhokidze bee5c226d0 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::ClearFrameHistory by adding a new sync IPC call nsISHistory::RemoveFrameEntries, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt, which
results in as many IPC sync calls as the number of children
a session history entry has. Calling nsISHEntry::GetChildCount and
ChildSHistory::Index and incurs additional extra 2 sync IPC calls.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ffaaff5c9521fb4d3a53a85f4570bcb99f7317d1
extra : source : 3f4a092d8f6544a212ee8a80d9275ae68c6446d1
extra : histedit_source : b4166d997119092ba5657f9ca4216da62dc82d97
2019-03-22 15:45:38 -04:00
Peter Van der Beken 1d35a2c86b Bug 1438272 - Part 3: move session history to parent process. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D26904

--HG--
extra : source : 29cc55878945008fdc4f356969fe528c85f34d41
extra : amend_source : fb5a3bb318346ec6fc02bcdac51f1588b6e87634
2019-03-05 15:46:10 +01:00
Peter Van der Beken 7e9586a484 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 4: Forward declare the inner type of a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28551

--HG--
extra : source : 5d6a6518fd988535c869f94b2f3dbc02eef546a7
2019-04-23 19:30:01 +02:00
Peter Van der Beken 963a983ee8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 3: don't generate code that copies members of unions and structs if they contain a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28550

--HG--
extra : source : 0f5bfffa449f1845c591146b2f62c3ffcb809f61
2019-04-19 14:35:30 +02:00
Peter Van der Beken ffd3e84760 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 2: add a typedef for ManagedEndpoint if it's used in a struct or union. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28549

--HG--
extra : source : a989da45e5386db183fc44b92ca0be6689890ac9
2019-04-19 14:56:48 +02:00
Peter Van der Beken e9208b01f8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 1: Include headers for parent and child actors. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28548

--HG--
extra : source : 534f55dc3b864de991c481bddbdb36081547fdbf
2019-04-19 14:13:27 +02:00
Dzmitry Malyshau 91cac2c161 Bug 1591438 - Move DEFINE_IPC_SERIALIZER_WITH_FIELDS into IPCMessageUtils header r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D51558

--HG--
extra : moz-landing-system : lando
2019-11-04 15:00:04 +00:00
James Teh d0f0f73d64 Bug 1581441: mscom::GetObjRefSize: Correctly handle proxies marshaled by the aggregated standard marshaler. r=aklotz
For Fission, the parent process needs to take an Accessible sent up from one content process and send it down to another content process, where it will eventually be returned to the client.
If sandboxing is enabled, we must use a PassthruProxy, and if the handler is enabled, the handler will marshal the interface.
Even though we strip out the handler, the handler still marshals using the aggregated standard marshaler, which uses a different clsid (CLSID_AggStdMarshal).
When unmarshaling to return to the client, we call GetObjRefSize.
This previously didn't know about the aggregated standard marshaler, so it failed, causing E_INVALIDARG to be returned to the client.
Now, we just handle these clsids in the same way.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 21:45:17 +00:00
Gian-Carlo Pascutto 00aa39e853 Bug 1533918 - Disallow CrossProcessMutex when sandboxing is enabled. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D50941

--HG--
extra : moz-landing-system : lando
2019-10-30 17:59:15 +00:00
Sean Feng 74eaf3ce20 Bug 1592083 - Convert certList to raw array for nsITransportSecurityInfo r=keeler,Ehsan,kershaw
This patch converts the certList attribute of nsITransportSecurityInfo
from nsIX509CertList to Array<nsIx509Cert>

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

--HG--
extra : moz-landing-system : lando
2019-10-29 17:20:07 +00:00
Haik Aftandilian 8cbd18a166 Bug 1567209 - CleanupForPid locking r=jld
Differential Revision: https://phabricator.services.mozilla.com/D45093

--HG--
extra : moz-landing-system : lando
2019-10-25 05:17:54 +00:00
Matt Woodrow 2d5171571e Bug 1583700 - Pass the loading context of the cspToInherit when deserializing LoadInfo, since this isn't necessarily the same as the loading context of the LoadInfo. r=ckerschb
Depends on D47358

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

--HG--
extra : moz-landing-system : lando
2019-10-22 01:03:10 +00:00
Mihai Alexandru Michis f3ba6ba32f Backed out 7 changesets (bug 1583700) for causing raptor dom failures.
Backed out changeset 48ceb0dd5d09 (bug 1583700)
Backed out changeset c662a369062f (bug 1583700)
Backed out changeset dc9e317da307 (bug 1583700)
Backed out changeset 41e07201a158 (bug 1583700)
Backed out changeset 015ec42c311a (bug 1583700)
Backed out changeset cfb571dd120a (bug 1583700)
Backed out changeset b9d06db6d43c (bug 1583700)
2019-10-22 03:57:07 +03:00
Matt Woodrow a4046507c0 Bug 1583700 - Pass the loading context of the cspToInherit when deserializing LoadInfo, since this isn't necessarily the same as the loading context of the LoadInfo. r=ckerschb
Depends on D47358

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

--HG--
extra : moz-landing-system : lando
2019-10-21 02:03:24 +00:00
Jim Porter 9354dfda4a Bug 1557447 - Profiler support for IPC information; r=nika,smaug
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 20:51:07 +00:00
Mihai Alexandru Michis 44e67f1a7f Backed out changeset 11e5baee978e (bug 1580315) for issues related to certList. CLOSED TREE 2019-10-21 23:50:35 +03:00
Sean Feng 2279d51cf5 Bug 1580315 - Convert certList to raw array for nsITransportSecurityInfo r=keeler,Ehsan,kershaw
This patch converts the certList attribute of nsITransportSecurityInfo
from nsIX509CertList to Array<nsIx509Cert>

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

--HG--
extra : moz-landing-system : lando
2019-10-21 19:49:01 +00:00
Sylvestre Ledru 7c309095ea Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Please note that it is the first reformat with clang-format 9
I only saw a fix in the .mm file

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-21 14:13:44 +00:00
Boris Zbarsky 3ae961a2da Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug
We could try to move the EnforcePendingTaskGuarantee() bit into
PeekIdleDeadline, but then we'd need to check HasReadyEvent() on
mDeferredTimersQueue and mIdleQueue before we possibly unlock the mutex under
PeekIdleDeadline, and it's not clear that that state cannot change once the
mutex is unlocked...

The EnsureIsActive() call at the end of GetIdleDeadlineInternal in the !aIsPeek
case only makes sense if there are in fact idle tasks available to run when
GetDeadlineForIdleTask is called, because otherwise it would incorrectly set us
active when we are not running any tasks.

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

--HG--
rename : xpcom/threads/PrioritizedEventQueue.cpp => xpcom/threads/IdlePeriodState.cpp
rename : xpcom/threads/PrioritizedEventQueue.h => xpcom/threads/IdlePeriodState.h
extra : moz-landing-system : lando
2019-10-20 15:08:44 +00:00
Cosmin Sabou 68c31e0e43 Backed out changeset 798bab343a0a (bug 1589561) for turning bug 1586420 into permafail. CLOSED TREE
--HG--
extra : amend_source : 1c548e9a10e27ff6a50d98f15a701dcd1c717544
2019-10-18 23:04:26 +03:00
Boris Zbarsky 4a394c3f69 Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug
We could try to move the EnforcePendingTaskGuarantee() bit into PeekIdleDeadline, but
then we'd need to check HasReadyEvent() on mDeferredTimersQueue and mIdleQueue
before we unlock the mutex and PeekIdleDeadline, and it's not clear that that
state cannot change once the mutex is unlocked...

The EnsureIsActive() call at the end of GetIdleDeadlineInternal in the !aIsPeek
case only makes sense if there are in fact idle tasks available to run when
GetDeadlineForIdleTask is called, because otherwise it would incorrectly set us
active when we are not running any tasks.

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

--HG--
rename : xpcom/threads/PrioritizedEventQueue.cpp => xpcom/threads/IdlePeriodState.cpp
rename : xpcom/threads/PrioritizedEventQueue.h => xpcom/threads/IdlePeriodState.h
extra : moz-landing-system : lando
2019-10-18 17:28:50 +00:00
Daniel Varga 8fdca46bc7 Backed out changeset 2923afce519a (bug 1557447) for browser chrome failure at tools/profiler/tests/browser/browser_test_feature_preferencereads.js. On a CLOSED TREE 2019-10-18 07:54:09 +03:00
Jim Porter 80bfcd6e57 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 02:56:02 +00:00
Dorel Luca efd52379da Backed out changeset cd4dc0ae3364 (bug 1557447) for Browser-chrome failures in build/src/obj-firefox/dist/include/mozilla/BlocksRingBuffer.h 2019-10-18 03:59:06 +03:00
Jim Porter 641b95fb72 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:39:42 +00:00
Bobby Holley 1aac000114 Bug 1244247 - Remove racey sScriptSettingsTLSInitialized. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D49213

--HG--
extra : moz-landing-system : lando
2019-10-15 02:10:02 +00:00
Perry Jiang f8c52660d0 Bug 1578919 - Cleanup AutoIPCStream r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D48934

--HG--
extra : moz-landing-system : lando
2019-10-11 23:22:24 +00:00
Matt Woodrow 99374f0571 Bug 1578624 - P1: Serialize SubstitutingURL fully. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D44757

--HG--
extra : moz-landing-system : lando
2019-10-11 02:25:54 +00:00
Brindusan Cristian ef3c975bc9 Backed out 11 changesets (bug 1578624) for build bustages. CLOSED TREE
Backed out changeset b22733eb880f (bug 1578624)
Backed out changeset cb5e15489635 (bug 1578624)
Backed out changeset f1746b2f9dec (bug 1578624)
Backed out changeset d08a099a22ff (bug 1578624)
Backed out changeset 8ebd563c72a8 (bug 1578624)
Backed out changeset d8bfec2dc9b6 (bug 1578624)
Backed out changeset 591664928bce (bug 1578624)
Backed out changeset 63f5a619b9ef (bug 1578624)
Backed out changeset ff67cc13cdf3 (bug 1578624)
Backed out changeset 43556c937a09 (bug 1578624)
Backed out changeset 49065a55694d (bug 1578624)
2019-10-09 11:50:37 +03:00
Matt Woodrow aeb8d491b0 Bug 1578624 - P1: Serialize SubstitutingURL fully. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D44757

--HG--
extra : moz-landing-system : lando
2019-10-09 06:37:50 +00:00
Peter Van der Beken 22e4870bda Bug 1584256 - Add IPDLParamTraits for Variant. r=nika,jwalden
Differential Revision: https://phabricator.services.mozilla.com/D47607

--HG--
extra : moz-landing-system : lando
2019-10-08 16:03:11 +00:00
Narcis Beleuzu 3429292547 Backed out 11 changesets (bug 1578624) for bustages on WindowGlobalChild.h . CLOSED TREE
Backed out changeset 478897956ee0 (bug 1578624)
Backed out changeset ab9c09164df0 (bug 1578624)
Backed out changeset f461f10efa46 (bug 1578624)
Backed out changeset 9b958693a003 (bug 1578624)
Backed out changeset 3b8220a15051 (bug 1578624)
Backed out changeset 180407dc57a8 (bug 1578624)
Backed out changeset bb11892e2171 (bug 1578624)
Backed out changeset 4f5c28244290 (bug 1578624)
Backed out changeset 6c02bbe5c1c5 (bug 1578624)
Backed out changeset 1d762fdce921 (bug 1578624)
Backed out changeset 818bc6e20c7d (bug 1578624)

--HG--
extra : histedit_source : ea22e628bf35425402009e9af274602f342a7476
2019-10-09 08:52:25 +03:00
Matt Woodrow 4ae52d1f45 Bug 1578624 - P1: Serialize SubstitutingURL fully. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D44757

--HG--
extra : moz-landing-system : lando
2019-10-09 04:52:34 +00:00
Aaron Klotz b256fc294a Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D48435

--HG--
extra : moz-landing-system : lando
2019-10-08 20:43:38 +00:00
Razvan Maries bc5737c51b Backed out changeset 752704186808 (bug 1586436) for build bustages on HandlerProvider.cpp. CLOSED TREE 2019-10-08 10:14:59 +03:00
Aaron Klotz 083a905d93 Bug 1586436: Ensure that mscom methods that accept variadic arguments use rvalue references in their arguments; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D48435

--HG--
extra : moz-landing-system : lando
2019-10-08 01:18:01 +00:00
Honza Bambas 976b757c89 Bug 1584207 - Forward nsILoadInfo.requestBlockingReason to the parent process for both old and new redirect channels, r=dragana,asuth
Differential Revision: https://phabricator.services.mozilla.com/D47264

--HG--
extra : moz-landing-system : lando
2019-10-01 16:50:23 +00:00
Christoph Kerschbaumer 28f91efa92 Bug 1584992: Make upgrade-insecure-requests work with fission enabled. r=jkt
Differential Revision: https://phabricator.services.mozilla.com/D47650

--HG--
extra : moz-landing-system : lando
2019-09-30 21:33:28 +00:00
Aaron Klotz ff13f9f2cc Bug 1583581: Make promise-based async senders generated by IPDL use std::move to pass its arguments to the callback-based sender; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D46968

--HG--
extra : moz-landing-system : lando
2019-09-25 17:14:49 +00:00
Matt Woodrow 507bc7d9ba Bug 1583076 - Initialize cspToInherit with the loading context when deserializing. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D46739

--HG--
extra : moz-landing-system : lando
2019-09-25 08:25:20 +00:00
Cosmin Sabou 89350c28cd Backed out 4 changesets (bug 1583076) for causing build bustages on nsCSPService.cpp. CLOSED TREE
Backed out changeset e3e31e1dfc13 (bug 1583076)
Backed out changeset 97e4bfbc5578 (bug 1583076)
Backed out changeset 6ccf5880c324 (bug 1583076)
Backed out changeset b4140efc183d (bug 1583076)
2019-09-25 08:22:10 +03:00
Matt Woodrow 18eac852f7 Bug 1583076 - Initialize cspToInherit with the loading context when deserializing. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D46739

--HG--
extra : moz-landing-system : lando
2019-09-25 04:50:25 +00:00
Mihai Alexandru Michis 4e1448e7e6 Backed out 2 changesets (bug 1510226) for causing xpcshell crashes and xpcshell failures in test_TelemetrySession.js CLOSED TREE
Backed out changeset cb739de6606d (bug 1510226)
Backed out changeset b6f670610dc3 (bug 1510226)
2019-09-25 04:25:07 +03:00
Doug Thayer 65be2b22c1 Bug 1510226 - Remove vestigial references to cooperative scheduling r=froydnj
GetCurrentPhysicalThread and GetCurrentVirtualThread are, in practice,
identical, as the TLS override that GetCurrentVirtualThread depends on
is never actually set. This simply removes that and renames some things/
deletes some comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 18:03:11 +00:00
Bogdan Tara f1b65b22c7 Backed out 5 changesets (bug 1583076) for href-location-redirected-blocked.sub.html failures CLOSED TREE
Backed out changeset dd4117098844 (bug 1583076)
Backed out changeset 97bc75b1cfe1 (bug 1583076)
Backed out changeset 084b244a33c0 (bug 1583076)
Backed out changeset 1baaf14e2451 (bug 1583076)
Backed out changeset 56c3918b5c21 (bug 1583076)
2019-09-25 00:53:46 +03:00
Matt Woodrow f6f534cdac Bug 1583076 - Initialize cspToInherit with the loading context when deserializing. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D46739

--HG--
extra : moz-landing-system : lando
2019-09-24 12:10:18 +00:00
Olli Pettay 1d1349d4bf Bug 1563063 - Cross-process idle handling, r=farre
This is to get initial feedback/review.
PIdleScheduler.ipdl has the documentation about the basic architecture.
(v15)

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

--HG--
extra : moz-landing-system : lando
2019-09-24 14:33:57 +00:00
Aaron Klotz fccd6eb9ba Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

Depends on D43157

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

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : browser/app/winlauncher/freestanding/LoaderAPIInterfaces.h => mozglue/dllservices/LoaderAPIInterfaces.h
rename : browser/app/winlauncher/freestanding/ModuleLoadInfo.h => mozglue/dllservices/ModuleLoadInfo.h
rename : browser/app/winlauncher/NtLoaderAPI.h => mozglue/dllservices/NtLoaderAPI.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-23 20:18:41 +00:00
Brindusan Cristian 125c934a04 Backed out 8 changesets (bug 1542830) for causing Nightly bustages. a=backout
Backed out changeset 6fcb417f7ff4 (bug 1542830)
Backed out changeset 1aa253e6604a (bug 1542830)
Backed out changeset 73ec288886cd (bug 1542830)
Backed out changeset 84b903e60dc9 (bug 1542830)
Backed out changeset 8e2da9ff5f5a (bug 1542830)
Backed out changeset c4e547a6a039 (bug 1542830)
Backed out changeset 919f1af7c135 (bug 1542830)
Backed out changeset da7e775c4051 (bug 1542830)

--HG--
rename : browser/app/winlauncher/freestanding/DllBlocklist.cpp => browser/app/winlauncher/DllBlocklistWin.cpp
rename : browser/app/winlauncher/freestanding/DllBlocklist.h => browser/app/winlauncher/DllBlocklistWin.h
rename : mozglue/dllservices/Authenticode.cpp => mozglue/build/Authenticode.cpp
rename : mozglue/dllservices/Authenticode.h => mozglue/build/Authenticode.h
rename : mozglue/misc/WinUtils.h => mozglue/build/MozglueUtils.h
rename : mozglue/dllservices/WindowsDllBlocklist.cpp => mozglue/build/WindowsDllBlocklist.cpp
rename : mozglue/dllservices/WindowsDllBlocklist.h => mozglue/build/WindowsDllBlocklist.h
rename : mozglue/dllservices/WindowsDllBlocklistCommon.h => mozglue/build/WindowsDllBlocklistCommon.h
rename : mozglue/dllservices/WindowsDllBlocklistDefs.in => mozglue/build/WindowsDllBlocklistDefs.in
rename : mozglue/dllservices/WindowsDllServices.h => mozglue/build/WindowsDllServices.h
rename : mozglue/dllservices/gen_dll_blocklist_defs.py => mozglue/build/gen_dll_blocklist_defs.py
rename : toolkit/components/telemetry/docs/data/third-party-modules-ping.rst => toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js => toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js
rename : toolkit/xre/UntrustedModulesProcessor.cpp => toolkit/xre/ModuleEvaluator_windows.cpp
rename : toolkit/xre/UntrustedModulesProcessor.h => toolkit/xre/ModuleEvaluator_windows.h
rename : toolkit/xre/ModuleVersionInfo.cpp => toolkit/xre/ModuleVersionInfo_windows.cpp
rename : toolkit/xre/ModuleVersionInfo.h => toolkit/xre/ModuleVersionInfo_windows.h
2019-09-22 00:01:01 +03:00
arthur.iakab a595388e84 Backed out changeset 5ed078313a10 (bug 1563063)for causing browser-chrome failures on browser_test_feature_preferencereads.js a=backout 2019-09-21 16:36:09 +03:00
Aaron Klotz 8d1be668f6 Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

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

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-20 19:43:33 +00:00
Olli Pettay a1f7c1bbdf Bug 1563063 - Cross-process idle handling, r=farre
This is to get initial feedback/review.
PIdleScheduler.ipdl has the documentation about the basic architecture.
(v15)

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:31:58 +00:00
Ciure Andrei 7db4ad5d80 Backed out 8 changesets (bug 1542830) for causing spidermonkey bustages CLOSED TREE
Backed out changeset b9f7fc8d0172 (bug 1542830)
Backed out changeset b85f58fd5bbd (bug 1542830)
Backed out changeset 0a9169ab2623 (bug 1542830)
Backed out changeset 39a7c05d54ef (bug 1542830)
Backed out changeset 7a3cbd2f59f0 (bug 1542830)
Backed out changeset 268530552281 (bug 1542830)
Backed out changeset df658ffb8599 (bug 1542830)
Backed out changeset e7bef6486a38 (bug 1542830)

--HG--
rename : browser/app/winlauncher/freestanding/DllBlocklist.cpp => browser/app/winlauncher/DllBlocklistWin.cpp
rename : browser/app/winlauncher/freestanding/DllBlocklist.h => browser/app/winlauncher/DllBlocklistWin.h
rename : mozglue/dllservices/Authenticode.cpp => mozglue/build/Authenticode.cpp
rename : mozglue/dllservices/Authenticode.h => mozglue/build/Authenticode.h
rename : mozglue/misc/WinUtils.h => mozglue/build/MozglueUtils.h
rename : mozglue/dllservices/WindowsDllBlocklist.cpp => mozglue/build/WindowsDllBlocklist.cpp
rename : mozglue/dllservices/WindowsDllBlocklist.h => mozglue/build/WindowsDllBlocklist.h
rename : mozglue/dllservices/WindowsDllBlocklistCommon.h => mozglue/build/WindowsDllBlocklistCommon.h
rename : mozglue/dllservices/WindowsDllBlocklistDefs.in => mozglue/build/WindowsDllBlocklistDefs.in
rename : mozglue/dllservices/WindowsDllServices.h => mozglue/build/WindowsDllServices.h
rename : mozglue/dllservices/gen_dll_blocklist_defs.py => mozglue/build/gen_dll_blocklist_defs.py
rename : toolkit/components/telemetry/docs/data/third-party-modules-ping.rst => toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js => toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js
rename : toolkit/xre/UntrustedModulesProcessor.cpp => toolkit/xre/ModuleEvaluator_windows.cpp
rename : toolkit/xre/UntrustedModulesProcessor.h => toolkit/xre/ModuleEvaluator_windows.h
rename : toolkit/xre/ModuleVersionInfo.cpp => toolkit/xre/ModuleVersionInfo_windows.cpp
rename : toolkit/xre/ModuleVersionInfo.h => toolkit/xre/ModuleVersionInfo_windows.h
2019-09-20 21:21:39 +03:00
Aaron Klotz 12843d81e9 Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

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

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-20 17:00:14 +00:00
Andreea Pavel 31d9596a28 Backed out 8 changesets (bug 1542830) for gecko decision failure on a CLOSED TREE
DONTBUILD

Backed out changeset 4f72161be496 (bug 1542830)
Backed out changeset 7ee12138946d (bug 1542830)
Backed out changeset 9e90ee4981c6 (bug 1542830)
Backed out changeset 363039c98534 (bug 1542830)
Backed out changeset 70ffff30551a (bug 1542830)
Backed out changeset c25b7bf354d9 (bug 1542830)
Backed out changeset d156dc595b69 (bug 1542830)
Backed out changeset 9f5dbd1b2959 (bug 1542830)

--HG--
rename : browser/app/winlauncher/freestanding/DllBlocklist.cpp => browser/app/winlauncher/DllBlocklistWin.cpp
rename : browser/app/winlauncher/freestanding/DllBlocklist.h => browser/app/winlauncher/DllBlocklistWin.h
rename : mozglue/dllservices/Authenticode.cpp => mozglue/build/Authenticode.cpp
rename : mozglue/dllservices/Authenticode.h => mozglue/build/Authenticode.h
rename : mozglue/misc/WinUtils.h => mozglue/build/MozglueUtils.h
rename : mozglue/dllservices/WindowsDllBlocklist.cpp => mozglue/build/WindowsDllBlocklist.cpp
rename : mozglue/dllservices/WindowsDllBlocklist.h => mozglue/build/WindowsDllBlocklist.h
rename : mozglue/dllservices/WindowsDllBlocklistCommon.h => mozglue/build/WindowsDllBlocklistCommon.h
rename : mozglue/dllservices/WindowsDllBlocklistDefs.in => mozglue/build/WindowsDllBlocklistDefs.in
rename : mozglue/dllservices/WindowsDllServices.h => mozglue/build/WindowsDllServices.h
rename : mozglue/dllservices/gen_dll_blocklist_defs.py => mozglue/build/gen_dll_blocklist_defs.py
rename : toolkit/components/telemetry/docs/data/third-party-modules-ping.rst => toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js => toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js
rename : toolkit/xre/UntrustedModulesProcessor.cpp => toolkit/xre/ModuleEvaluator_windows.cpp
rename : toolkit/xre/UntrustedModulesProcessor.h => toolkit/xre/ModuleEvaluator_windows.h
rename : toolkit/xre/ModuleVersionInfo.cpp => toolkit/xre/ModuleVersionInfo_windows.cpp
rename : toolkit/xre/ModuleVersionInfo.h => toolkit/xre/ModuleVersionInfo_windows.h
2019-09-20 19:49:27 +03:00
Aaron Klotz 6c7b43b9c8 Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

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

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-20 00:09:41 +00:00
Bogdan Tara 7e0aba7d00 Backed out changeset b0c0887e223c (bug 1563063) for browser_test_feature_preferencereads and browser_test_profile_multi_frame_page_info failures CLOSED TREE 2019-09-19 23:18:06 +03:00
Olli Pettay bcf140f437 Bug 1563063 - Cross-process idle handling, r=farre
This is to get initial feedback/review.
PIdleScheduler.ipdl has the documentation about the basic architecture.
(v15)

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

--HG--
extra : moz-landing-system : lando
2019-09-18 23:53:42 +00:00
Byron Campen [:bwc] fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc] ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Christoph Kerschbaumer ecfde38ed8 Bug 1580710: Expose functionality on the CSP Object to allow skipping the inline style checks. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D45631

--HG--
extra : moz-landing-system : lando
2019-09-16 23:47:19 +00:00
Ehsan Akhgari d11436d012 Bug 1575302 - Remove OptionalPrincipalInfo; r=barret
Differential Revision: https://phabricator.services.mozilla.com/D45565

--HG--
extra : moz-landing-system : lando
2019-09-11 20:36:06 +00:00
Nika Layzell e738c764e1 Bug 1578398 - Check 'CanSend()' when calling Send__delete__(), r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D44856

--HG--
extra : moz-landing-system : lando
2019-09-05 18:08:58 +00:00
Aaron Klotz b1a47abb5e Bug 1570701: Part 2 - Add asynchronous CreateInstance method to mscom::EnsureMTA; r=Jamie
We'd like to offer a way for developers to safely do asynchronous instantiations
of COM objects. This patch adds a static CreateInstance method to mscom::EnsureMTA
that facilitates this under certain conditions (as outlined in the comments).

To help ensure that this is as safe as possible, we return a MozPromise that,
once resolved, produces an AgileReference that may then be passed between
threads, and may then be resolved when a specific thread needs to access the
interface.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 15:36:42 +00:00
Aaron Klotz b36ad40063 Bug 1570701: Part 1 - Add IsClassThreadAwareInprocServer utility function to MSCOM; r=Jamie
We want to ensure that the code being added in part 2 is only used when it is
reasonable and safe to do so. One way to ensure this is to add a check that the
desired CLSID is an in-process, thread-aware server.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 23:58:39 +00:00
Aaron Klotz 10b0ee6e66 Bug 1578490: Use rvalue references and std::move for all closures being passed into mscom::EnsureMTA; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D44517

--HG--
extra : moz-landing-system : lando
2019-09-03 23:51:15 +00:00
Jed Davis 4be263966f Bug 1578422: MOZ_DIAGNOSTIC_ASSERT when shared memory setup fails in CrashReporterClient::InitSingleton. r=gsvelto
This will help to catch changes that cause a loss of annotations without
affecting Release or Beta.
This also makes CrashReporterClient::InitSingleton return void as the previous
bool was ignored in all cases.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 12:42:41 +00:00
Gijs Kruitbosch e3898f89a1 Bug 1163079 - ensure we fetch app/profile dir information on the main thread in GeckoChildProcessHost r=jld,bryce,haik
Differential Revision: https://phabricator.services.mozilla.com/D42860

--HG--
extra : moz-landing-system : lando
2019-09-04 12:04:52 +00:00
Olli Pettay 42aa5f2e5c Bug 1578394 - MessageTask::GetType should actually return the message type, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D44471

--HG--
extra : moz-landing-system : lando
2019-09-03 14:52:53 +00:00
Matt Woodrow a209298de2 Bug 1556489 - P7. Make LoadInfoArgsToLoadInfo works with LoadInfo class. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40964
2019-09-03 10:19:11 +10:00
Jean-Yves Avenard e76aa88e15 Bug 1556489 - P4. Add ability to set Document object on LoadInfo. r=mayhemer,ckerschb
This will be required to access the Performance object from future DocumentChannel.

Differential Revision: https://phabricator.services.mozilla.com/D41133
2019-09-03 10:18:58 +10:00
Nathan Froyd 7509b5e08a Bug 1577831 - remove `using namespace std;` from IPC glue code; r=jld
Just some minor prefixing needs to be done to enable this.

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

--HG--
extra : moz-landing-system : lando
2019-08-31 00:00:12 +00:00
Jed Davis bbfc6ecf78 Bug 1574571. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D43707

--HG--
extra : moz-landing-system : lando
2019-08-28 18:30:43 +00:00
Barret Rennie b0cbc31990 Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer
As part of the ongoing effort to port the nsIWebProgress events from
RemoteWebProgress / WebProgressChild to BrowserParent / BrowserChild, we need
to (de)serialize the nsITransportSecurityInfo instance across the IPC layer.
The existing code was calling `NS_SerializeToString` which has the overhead of
(a) allocating a buffer and also performing base64 encoding/decoding. This
patch adds `IPC::ParamTraits` implementations for `nsITransportSecurityInfo`,
`nsIX509Certificate`, and `nsIX509CertList` that (de)serializes the params
directly onto and off of the IPC message so that we don't go through the
overhead of allocating and encoding/decoding an additional buffer.

This (de)serialization will address the performance issues present in the
current implementation.

As a side effect, I also make nsITransportSecurityInfo a builtinclass XPCOM
interface, since the existing serialization code was assuming it was, there is
only one implementation, and it is in C++.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:55:31 +00:00
Dorel Luca b09fe526aa Backed out 4 changesets (bug 1510569) for build bustage. CLOSED TREE
Backed out changeset d7db6a1935ce (bug 1510569)
Backed out changeset 03b7cf756a7f (bug 1510569)
Backed out changeset fa318eec0e76 (bug 1510569)
Backed out changeset cecb17bd8c03 (bug 1510569)
2019-08-28 21:46:40 +03:00
Barret Rennie 4ab0fd7d38 Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer
As part of the ongoing effort to port the nsIWebProgress events from
RemoteWebProgress / WebProgressChild to BrowserParent / BrowserChild, we need
to (de)serialize the nsITransportSecurityInfo instance across the IPC layer.
The existing code was calling `NS_SerializeToString` which has the overhead of
(a) allocating a buffer and also performing base64 encoding/decoding. This
patch adds `IPC::ParamTraits` implementations for `nsITransportSecurityInfo`,
`nsIX509Certificate`, and `nsIX509CertList` that (de)serializes the params
directly onto and off of the IPC message so that we don't go through the
overhead of allocating and encoding/decoding an additional buffer.

This (de)serialization will address the performance issues present in the
current implementation.

As a side effect, I also make nsITransportSecurityInfo a builtinclass XPCOM
interface, since the existing serialization code was assuming it was, there is
only one implementation, and it is in C++.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:00:16 +00:00
Aaron Klotz 6f56f5201f Bug 1576925: Make AgileReference copyable; r=Jamie
Until now, AgileReference was not copyable because it could not handle the
copying of global interface table cookies. By moving the cookie into its own
reference counted object, we can enable copying on the AgileReference.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 15:05:32 +00:00
Aaron Klotz 9b3cf34d2e Bug 1573679: Add IsCurrentThread(Explicit|Implicit)MTA utility functions to mscom; r=Jamie
This patch provides us with utility functions that give us more specific
information about the current thread's MTA if so desired.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 01:48:08 +00:00
Nika Layzell 696b024d27 Bug 1570369 - Part 14: Use IPDL refcounted for PHttpBackgroundChannel, r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D40263

--HG--
extra : moz-landing-system : lando
2019-08-16 10:50:08 +00:00
Honza Bambas bf7dde4bf0 Bug 1574882 - Always add `.moz_log` to target logging filenames, r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D42487

--HG--
extra : moz-landing-system : lando
2019-08-23 16:51:40 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Oana Pop Rus 3223cd3dc2 Backed out 4 changesets (bug 1510569) for causing build bustage on a CLOSED TREE
Backed out changeset eae555c11f25 (bug 1510569)
Backed out changeset 2fb8938d16db (bug 1510569)
Backed out changeset b480af862022 (bug 1510569)
Backed out changeset 642cd6323cdc (bug 1510569)
2019-08-21 22:55:43 +03:00
Barret Rennie d8a4453540 Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler
As part of the ongoing effort to port the nsIWebProgress events from
RemoteWebProgress / WebProgressChild to BrowserParent / BrowserChild, we need
to (de)serialize the nsITransportSecurityInfo instance across the IPC layer.
The existing code was calling `NS_SerializeToString` which has the overhead of
(a) allocating a buffer and also performing base64 encoding/decoding. This
patch adds `IPC::ParamTraits` implementations for `nsITransportSecurityInfo`,
`nsIX509Certificate`, and `nsIX509CertList` that (de)serializes the params
directly onto and off of the IPC message so that we don't go through the
overhead of allocating and encoding/decoding an additional buffer.

This (de)serialization will address the performance issues present in the
current implementation.

As a side effect, I also make nsITransportSecurityInfo a builtinclass XPCOM
interface, since the existing serialization code was assuming it was, there is
only one implementation, and it is in C++.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:24:56 +00:00
Ehsan Akhgari e06a6e7ca6 Bug 1572240 - Part 2: Introduce nsIBrowser.contentBlockingAllowListPrincipal; r=baku
This patch also includes some spot fixes for the storage principal
support on the XUL browser element.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 14:38:34 +00:00
David Major 012f1bcd3f Bug 1574573 - Disambiguate a use of `Handle` in XPCShellEnvironment.cpp r=Ehsan
Otherwise it could also refer to Handle from MacTypes.h.

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

--HG--
extra : moz-landing-system : lando
2019-08-17 01:06:19 +00:00
Mike Hommey 06cba876c4 Bug 1574421 - Don't recurse in ipc/contentproc. r=froydnj
We're not using the library it produces anymore. The code is still used,
though, directly #included from browser/app/nsBrowserApp.cpp and
ipc/app/MozillaRuntimeMain.cpp.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 13:11:46 +00:00
Aaron Klotz db904c3cc8 Bug 1574298: Convert mscom::ProcessRuntime to use ProcessCategory enum and matching constructor; r=Jamie
In order to use `mscom::ProcessRuntime` in the maintenance service, we need
`ProcessRuntime` to be able to distinguish between more than just whether or not
the current process is the parent process.

I've added a new `ProcessCategory` enum to track this information, and revised
the constructors so that we now have one that accepts a ProcessCategory.

The `ProcessCategory` constructor is private inside XUL, since the
`GeckoProcessType` variant should always be used in that case.

We also slightly change apartment initialization to depend on the underlying
`ProcessCategory` value.

Finally, I modify the one case where we instantiate a `ProcessRuntime` in the
launcher process to use the new constructor.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 16:06:45 +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
Perry Jiang 200a71c58c Bug 1231213 - Refactor RemoteWorkerChild to handle Service Workers' and Shared Workers' operations and to make its state data/transitions safer. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26170

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:58 +00:00
Perry Jiang 07c822e09b Bug 1231213 - Implement PRemoteWorkerController IPDL protocol and RemoteWorkerController{Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26168

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:49 +00:00
Perry Jiang 1cbbc0178e Bug 1231213 - IPCStreamSource should not attempt to read from its stream if already closed. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26161

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:05 +00:00
Perry Jiang 4b70b87327 Bug 1231213 - Support IPCStreamSource on the Worker Launcher thread. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26160

--HG--
extra : moz-landing-system : lando
2019-08-15 17:25:58 +00:00
Jed Davis d9661aa556 Bug 1479960 - Add unit tests for shared memory freezing. r=froydnj
Also refactor SharedMemoryBasic::SystemProtect to allow testing cases
that are expected to fail.

Depends on D26748

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

--HG--
rename : ipc/moz.build => ipc/gtest/moz.build
extra : moz-landing-system : lando
2019-08-14 22:48:52 +00:00
Jed Davis bc66e27e8c Bug 1536697 - Fix error handling in base::SharedMemory::Map. r=froydnj
If mmap failed, we'd leave the memory_ member variable set to MAP_FAILED,
but everything else in this file checks for nullptr (and only nullptr) to
test if the pointer is valid.

Also, this removes the debug assertion that the mmap succeeded, to allow
writing unit tests where we expect it to fail (e.g., for insufficient
permissions).

Depends on D26747

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:51 +00:00
Jed Davis 150e57c3cc Bug 1426526 - Delete file_util from ex-Chromium IPC source. r=froydnj
Depends on D26746

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:42 +00:00
Jed Davis 0c5b23b47d Bug 1479960 - Add freezing of IPC shared memory. r=froydnj,kmag
This allows writing to shared memory and then making it read-only before
sharing it to other processes, such that a malicious sandboxed process
cannot regain write access.  This is currently available only in the
low-level base::SharedMemory interface.

The freeze operation exposes the common subset of read-only shared
memory that we can implement on all supported OSes: with some APIs
(POSIX shm_open) we can't revoke writeability from existing capabilies,
while for others (Android ashmem) we *must* revoke it.  Thus, we require
that the writeable capability not have been duplicated or shared to
another process, and consume it as part of freezing.  Also, because in
some backends need special handling at creation time, freezeability must
be explicitly requested.

In particular, this doesn't allow giving an untrusted process read-only
access to memory that the original process can write.

Note that on MacOS before 10.12 this will use temporary files in order to
avoid an OS security bug that allows regaining write access; those OS
versions are no longer supported by Apple (but are supported by Firefox).

Depends on D26742

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:34 +00:00
Jed Davis e3f21b94e9 Bug 1479960 - Clean up shared_memory_posix error handling. r=froydnj
This uses RAII to handle error-case cleanup in the POSIX backend for
SharedMemory::Create, to simplify the complexity that will be added to
support freezing.

Depends on D26741

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:31 +00:00
Jed Davis 8b00fa3bea Bug 1479960 - Fix max_size in shared_memory_posix. r=froydnj
The Unix backend for shared memory needs to keep the mapped size to pass
to munmap, while the Windows backend doesn't.  Currently it's reusing the
max_size field, and then zeroing it when it's unmapped, which breaks the
freezing use case.  This patch uses a dedicated field for that.

Depends on D26740

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:48:29 +00:00