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

272 Коммитов

Автор SHA1 Сообщение Дата
Alex Gaynor d27dc0ba0b Bug 1358223 - Part 1 - On Windows and macOS hardcode the minimum content sandbox level at 1. r=bobowen,haik,jimm
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.

MozReview-Commit-ID: 9QNTCkdbTfm

--HG--
extra : rebase_source : cd5a853c46a5cd334504b339bef8df30a3cabe51
2017-05-12 17:04:42 -04:00
Sebastian Hengst fd03aa5bc8 Backed out changeset 4e283b54baa6 (bug 1358223) for build bustage on Android at dom/ipc/ContentChild.cpp:21. r=backout 2017-05-31 21:34:13 +02:00
Alex Gaynor 39f34ea898 Bug 1358223 - Part 1 - On Windows and macOS hardcode the minimum content sandbox level at 1. r=bobowen,haik,jimm
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.

MozReview-Commit-ID: 9QNTCkdbTfm

--HG--
extra : rebase_source : 1a26ffc5b9f80e6df4c37c23f506e907ba44053a
2017-05-12 17:04:42 -04:00
Cervantes Yu cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Kan-Ru Chen ffab50c6f8 Bug 1313200 - Allow IPC messages to async return MozPromises. r=billm,jwwang
This patch implements async returns for IPDL using MozPromises. There
are following changes:

* Initialize AbstractThreads for MessageLoops
* Record promises and their reject functions
  * When async message returns, call their resolve functions
  * When send error or channel close, call their reject functions
* Implement "unresolved-ipc-promises" count for about:memory
* Test cases

See bug attachment for generated code from test cases

MozReview-Commit-ID: 7xmg8gwDGaW

--HG--
rename : ipc/ipdl/test/ipdl/error/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl
extra : rebase_source : 9a5821d6c0e5f7152b8152a17a409b94e8258dc3
2017-03-16 17:36:15 +08:00
Kan-Ru Chen 36e1ce5909 Bug 1313200 - Init AbstractThread properly and early. r=froydnj
Separate AbstractThread::InitTLS and
AbstractThread::InitMainThread. Init AbstractThread main thread when
init nsThreadManager. Init AbstractThread TLS for all content process
types because for plugin and gmp processes we are doing IPC even
without init XPCOM and for content process init XPCOM requires IPC.

MozReview-Commit-ID: DhLub23oZz8

--HG--
extra : rebase_source : 6e4bfa03ec69e1eb694924903f1fa5e7259cbba3
2017-04-19 13:24:09 +08:00
Kan-Ru Chen da0e46ae95 Bug 1355123 - Initialize gecko profiler properly for IPDL test runner. r=mstange,njn
MozReview-Commit-ID: C9hkZPj3SVL
2017-04-11 10:56:58 -04:00
Sebastian Hengst 1828ea89ca Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu 364e524eca Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Carsten "Tomcat" Book 02ddc23c74 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu ece1ce1a7d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Makoto Kato 516d961243 Bug 1348177 - Part 2. Remove GetProcAddress for shell32 to use Vista+/7+ API (tookit part). r=jimm
It is unnecessary to use Vista/7+ API via GetProcAddress.

MozReview-Commit-ID: AT6OJhhf4r2

--HG--
extra : rebase_source : 0231fad656de11c8a8d6d8fa7374a8365778ea43
2017-03-17 11:04:33 +09:00
Jonathan Watt 15826f5605 Bug 1350641 - Allow MOZ_DEBUG_CHILD_PAUSE to specify the child process startup sleep time. r=jimm 2017-03-08 17:15:47 +00:00
Cervantes Yu 615a84813f Bug 1320134 - Part 2: Initialize and shutdown the TLS allocation tracker in the content process. r=froydnj
MozReview-Commit-ID: 2Pu9r1MV1e4
2017-03-16 14:06:35 +08:00
Cervantes Yu 8b1cde8577 Backed out changeset e91e04dadeb3 (bug 1320134) for crashing webgl on Windows. r=backout 2017-03-15 12:41:21 +08:00
David Major dc67bfc9a3 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Iris Hsiao 5cece96e1c Backed out 12 changesets (bug 1344629) for stylo build bustage
Backed out changeset cf4273d3ac30 (bug 1344629)
Backed out changeset a96390e044e0 (bug 1344629)
Backed out changeset d9b330f9bc24 (bug 1344629)
Backed out changeset 2b460fe020af (bug 1344629)
Backed out changeset 0ada91b0452e (bug 1344629)
Backed out changeset 083304fcd6bd (bug 1344629)
Backed out changeset 53d7d1ce2c97 (bug 1344629)
Backed out changeset 55eee7078ae4 (bug 1344629)
Backed out changeset 7d3c06b3eca9 (bug 1344629)
Backed out changeset e5df14c3db61 (bug 1344629)
Backed out changeset 636095ff2815 (bug 1344629)
Backed out changeset 0be052ad24c1 (bug 1344629)
2017-03-14 11:52:24 +08:00
David Major 40f4821701 Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron
There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo

--HG--
extra : rebase_source : c21a65694d6e1c42fd88f73632f7ac8f38d005ae
2017-03-14 15:26:27 +13:00
Cervantes Yu 7c8969a918 Bug 1320134 - Part 2: Initialize and shutdown the TLS allocation tracker in the content process. r=froydnj
MozReview-Commit-ID: 2Pu9r1MV1e4
2017-03-01 18:58:13 +08:00
Jim Chen 53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
Brad Lassey a5e07b93bf bug 1303096 - Stop sending sync messages soon after content process start-up r=billm 2017-02-05 00:52:38 -05:00
Sebastian Hengst 122ebc553b Backed out changeset e9d8a75a0dcc (bug 1303096) for failing various tests on Android 4.3 debug (e.g. test_saveHeapSnapshot_e10s_01.html). r=backout 2017-02-05 10:26:28 +01:00
Brad Lassey ecdf363246 bug 1303096 - Stop sending sync messages soon after content process start-up r=billm 2017-02-05 00:52:38 -05:00
Paul Adenot d4742485af Bug 1334132 - Allow attaching to a child process on Linux when MOZ_DEBUG_CHILD_PROCESS is set and YAMA is activated and ptrace_scope is > 0. r=jld
MozReview-Commit-ID: 245CIgIWila
2017-01-27 15:44:21 +01:00
Chris Pearce 701e1daf19 Bug 1332530 - Move GMPLoader code out of plugin-container and back into XUL. r=gerald
The GMPLoader code was in plugin-container so that it was covered by
Adobe's voucher of plugin-container, but that's no longer necessary.

MozReview-Commit-ID: 3VRBAohRI9I

--HG--
extra : rebase_source : 58a30855ade14af4c4b1420edabd3abb398f232e
2017-01-19 15:39:03 +13:00
Mike Hommey 35a7101bda Bug 1306327 - Use UniquePtr for CreateGMPLoader. r=cpearce
--HG--
extra : rebase_source : 9f363a194d63c531f37946d76103cb0ad830c1a3
2016-12-15 16:14:34 +09:00
Tomislav Jurin 348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Jed Davis f3cdcb35e5 Bug 1313808 - Part 2: Move SandboxEarlyInit call into libxul. r=glandium,tedd
MozReview-Commit-ID: 2EY0wadYhO0

--HG--
extra : rebase_source : 4773cbff758054863293d1fa239c3246eca6dc36
2016-11-08 14:40:44 -07:00
Jed Davis 8f3f056572 Bug 1313808 - Part 1: Move LinuxSandboxStarter back into libxul. r=cpearce,glandium,tedd
MozReview-Commit-ID: FAReOZX7Rvn

--HG--
extra : rebase_source : 01d0d1970822b5af6a37ff450ac01408f871237a
2016-11-08 14:23:47 -07:00
Randall Barker de17af98b5 Bug 1314466 - part 5, Add service process manager r=snorp 2016-11-14 16:45:23 -08:00
Tom Tromey 7bc8491bea Bug 1067547 - unify ScopedLogging implementations and use in nsEmbedFunctions; r=bsmedberg
MozReview-Commit-ID: 6hDZDaBsNFM

--HG--
extra : rebase_source : 9422c235ebdffd84e06137bb2c63ce106cb39f0b
2016-09-26 11:06:38 -06:00
Haik Aftandilian 9de1898bc2 Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regex's; r=jimm
Passes the profile dir to the content process as a -profile CLI
option so that the correct profile dir can be used in the OS X content
sandbox rules.  Only enabled on OS X for now.

On Nightly, profile directories will now be read/write protected
from the content process (apart from a few profile subdirectories) even
when they don't reside in ~/Library.

xpcshell tests invoke the content process without providing a
profile directory. In that case, we don't need to add filesystem
profile dir. read/write exclusion rules to the sandbox.

This patch adds two new macros to the content sandbox rule set:
|profileDir| holds the path to the profile or the emptry string;
|hasProfileDir| is a boolean (1 or 0) that indicates whether or
not the profile directory rules should be added. If |hasProfileDir|
is 0, profile directory exclusion rules don't need to be added
and |profileDir| is not used.

MozReview-Commit-ID: rrTcQwTNdT

--HG--
extra : rebase_source : 3d5b612c8eb3a1d0da028eba277cd9d6f0c9ac00
2016-08-30 13:32:21 -07:00
David Anderson 398cf04082 Switch the GPU process main thread to have an XPCOM event loop. (bug 1294350 part 6, r=froydnj) 2016-08-22 22:57:36 -07:00
Alexandre Lissy 0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Haik Aftandilian 8f7ffc84b7 Bug 1274540 - Record sandboxing status in crash reports; r=gcp
Adds content sandbox metadata to parent and child crash reports:
Includes the value of pref security.sandbox.content.level,
whether or not the system is capable of sandboxing, if the
sandbox was successfully turned on, and (on Linux systems)
the sandbox capabilities flags.

New crash report keys:
"ContentSandboxLevel" in parent and content
"ContentSandboxCapable" in parent
"ContentSandboxEnabled" in content
"ContentSandboxCapabilities" in content on Linux
2016-07-25 13:21:00 +02:00
Aaron Klotz cca20d7ddd Bug 1285356: Fix blocklist initialization regressions; r=bsmedberg
MozReview-Commit-ID: AlWyzVhtPLL

--HG--
extra : rebase_source : 865aff712f83a567c16b81f4512e072a04f7c6df
2016-07-07 17:00:23 -06:00
Nicholas Nethercote a913f99107 Bug 1285554 - Remove remnants of widget/qt. r=dougt,mshal.
Because bug 1282866 removed Qt support but missed a bunch of things.
* * *
Bug 1285554 - more

--HG--
extra : rebase_source : c48d2485f1fdf1c961e08d91651bbca41e3a1a53
2016-07-12 09:16:45 +10:00
Julian Seward 731eb09566 Bug 1279614 - 2,000 instances of "XPCOM objects created/destroyed from static ctor/dtor" emitted from xpcom/base/nsTraceRefcnt.cpp during linux64 debug testing. r=gfritzsche,jmathies. 2016-06-30 14:04:15 +02:00
Bill McCloskey e2d2de1ae8 Bug 1277705 - Remove chromium notification service (r=dvander) 2016-06-24 13:15:20 -07:00
David Anderson d3bb5cb316 Add skeletal code for launching a GPU process. (bug 1271180 part 4, r=billm,jrmuizel)
--HG--
extra : rebase_source : 456e4b94a93191f85d90209459c5189ea165670d
2016-06-10 22:27:24 -04:00
Phil Ringnalda 5e0adb7d56 Back out 5 changesets (bug 1271180) for static analysis bustage
CLOSED TREE

Backed out changeset cfb53b780b18 (bug 1271180)
Backed out changeset 204b084385f8 (bug 1271180)
Backed out changeset 353da876be33 (bug 1271180)
Backed out changeset 4472dfbc1dc6 (bug 1271180)
Backed out changeset 81079e787b8a (bug 1271180)

--HG--
rename : ipc/glue/TaskFactory.h => dom/plugins/ipc/TaskFactory.h
2016-06-11 00:46:09 -07:00
David Anderson d2678d4141 Add skeletal code for launching a GPU process. (bug 1271180 part 4, r=billm,jrmuizel)
--HG--
extra : rebase_source : 332f5cf6ca5e1f78fb2283a7e79b6b21654e9e59
2016-06-10 22:27:24 -04:00
Julian Seward e00ffcdc37 Bug 1258183 - TSan: data race toolkit/components/telemetry/Telemetry.cpp in CanRecordBase (part 2, derace). r=chutten.
--HG--
extra : rebase_source : 403c8ec419ee8ac2ece248a8395480dbd3018c74
2016-06-08 17:46:24 +02:00
Haik Aftandilian c95d552240 Bug 1275430 - Add telemetry and logging to record content process failures to start; r=billm
MozReview-Commit-ID: LWeZbDBwfX5
2016-06-01 15:13:59 -07:00
Karl Tomlinson 39cdd7f4f6 bug 1276086 set GLib prgname in child process r=glandium
MozReview-Commit-ID: 4Neb36zGScf

--HG--
extra : rebase_source : e9abe5b1fe76997efa5f0308cb53e22acdf33f9f
2016-05-27 11:50:26 +12:00
Nathan Froyd d1136fd7a9 Bug 1275548 - move OS X SharedMemoryBasic shutdown; r=billm
OS X shared memory is currently set up in XRE_InitChildProcess and torn
down in XRE_ShutdownChildProcess.  The current location of shared memory
shutdown is vulnerable to races from outstanding shared memory requests
from ImageBridge threads; if we request a new shared memory segment from
an image bridge thread after shared memory has been shutdown, we will
crash.

Despite its name, XRE_ShutdownChildProcess doesn't actually perform all
shutdown steps; it merely notifies the main run loop that it's OK to
exit, which eventually returns control to XRE_InitChildProcess.  Inside
XRE_InitChildProcess, then, is where cleanup of the content process
actually happens, and where shared memory shutdown needs to be.
2016-05-26 18:07:24 -04:00
L. David Baron d44da6b7d4 Bug 1274041 - Initialize jprof in child process. r=jesup
This makes a function call in XRE_InitChildProcess for the child process that
currently exists in XREMain::XRE_mainStartup for the parent process.

This allows signals that jprof uses to be sent to a child process to
profile that child process.

MozReview-Commit-ID: CeWnYl4LJyA
2016-05-20 19:57:31 -07:00
Bob Owen c43bf02cda Bug 1035125 Part 8: Pass sandboxing pointers through XRE_InitChildProcess instead of linking to more functions in xul. r=aklotz,glandium
MozReview-Commit-ID: 5AiktOArpfU

--HG--
extra : rebase_source : 1ba3be949e2bfeb3b67687ab05d43342852ab764
2016-05-15 16:35:22 +01:00
Kyle Huey 7311b10562 Bug 1268313: Part 2 - Replace some NewRunnableMethods with NS_NewNonOwningRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
Carsten "Tomcat" Book dfff02b90d Backed out changeset fd833da413ad (bug 1268313)
--HG--
extra : rebase_source : f857127091900871034f44d89095895abe9932dc
2016-04-29 14:21:25 +02:00