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

4312 Коммитов

Автор SHA1 Сообщение Дата
Aaron Klotz 230ddb60a5 Bug 1368571: Modify handler and interceptor marshaling code so that it strips out any handlers from proxies that are destined for non-Gecko processes; r=jimm
MozReview-Commit-ID: A1lCqvbQYAF

There is no clean API-based solution to this, so instead I went grovelling
through the DCOM wire protocol and was able to write a function that converts
handler OBJREFs into standard OBJREFs.

See also:
https://msdn.microsoft.com/en-us/library/cc226801

--HG--
extra : rebase_source : a650055c4adda3a1d99262e47f2b463074c6b935
2017-06-06 17:35:51 -06:00
Aaron Klotz b08f42f77d Bug 1367885: Follow-up - remove code that mistakenly landed as part of commit 09894b9ce473; r=backout
MozReview-Commit-ID: 3ORbwx6QFhR

--HG--
extra : rebase_source : a32c7f2b4a471495929b4055ba293826d07c6da2
2017-06-07 14:39:15 -06:00
Jan Varga 4cc459c1a1 Bug 1370519 - Part 2: Merge FileHandle base classes with IndexedDB specific classes (except parent actors); r=btseng 2017-06-07 12:36:42 +02:00
Kyle Machulis 13959a88ce Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg 2017-06-06 18:29:32 -07:00
Aaron Klotz 5e1f870e91 Bug 1367715: Back out 67e4f5e8a105 as it was not the correct fix; r=backout
--HG--
extra : rebase_source : be1fa414385c38d5a0f90b26dafa864771e9107f
2017-06-06 18:17:42 -06:00
Aaron Klotz 4a8e3690de Bug 1369111: Modify mscom interceptor to maintain a set of weak references to all interceptors that are currently live; r=jimm
MozReview-Commit-ID: 2pyAiw53rj7

Currently we wrap every outpointer interface with its own interceptor. Even two
identical interface outparams will get their own unique interceptors. Not only
does this violate COM object identity, but it is also inefficient; if an
interceptor already exists for a given interface, we should reuse it.

This patch adds a live set: when we create a new interceptor, we first check
the live set and reuse an existing interceptor if it is present. Otherwise we
create a new one and then insert it into the set.

The set uses thread-safe weak references to guard against races during
interceptor teardown.

--HG--
extra : rebase_source : fb3f11600fb368d169bd1164433e2d8780592146
2017-05-18 13:04:26 -06:00
Aaron Klotz e3fdd6169e Bug 1367885: Add a fast path to mscom Interceptor construction; r=jimm
MozReview-Commit-ID: AmS5oBNV7Po

When creating a new interceptor, we already have the correct target interface.
The interceptor ignores this and does a redundant inter-thread QI to resolve
an interface that we already have!

This patch adds a fast path to interceptor initialization that skips all of that
stuff and directly initializes itself using the given target interceptor.

--HG--
extra : rebase_source : dcfff7270efd5bda990e240bb06a9206656d5852
2017-06-06 18:30:19 -06:00
Wes Kocher 7faba1c580 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 81kvO3JCHf0
2017-06-05 17:43:44 -07:00
Wes Kocher 3c05a4998a Merge inbound to central, a=merge
MozReview-Commit-ID: Cb3YlCdVhQr
2017-06-05 17:34:09 -07:00
Ryan VanderMeulen 4b1082a507 Backed out changeset 0ff4ad45f99c (bug 1337058) for causing bug 1370237.
--HG--
extra : rebase_source : 3ed4d5a41898ead386f8a75b0d2f7be1899cf767
2017-06-05 20:14:55 -04:00
Stephen A Pohl 8692190b2e Bug 1367487: Change bundle name (CFBundleName) of content process on OSX/macOS to differentiate it from the Firefox bundle name. r=mstange,ted 2017-06-05 16:08:24 -04:00
Masayuki Nakano 94170bb269 Bug 1370198 Back out the patch for bug 1369419 because the patch couldn't fix bug 1361132 and causes new crash bugs r=jimm
MozReview-Commit-ID: Eq7Dkk6Ghwc

--HG--
extra : rebase_source : edc2d10f4e0359152927830a269f74b75daf5883
2017-06-05 21:52:16 +09:00
Aaron Klotz ec02e78c40 Bug 1367885: Backed out changeset 3f6e08c5233f for bc4 bustage on a CLOSED TREE; r=backout
MozReview-Commit-ID: 4CDliBImLR7
2017-06-05 12:51:52 -06:00
Aaron Klotz 0fdef67a82 Bug 1367885: Follow-up - fix missing explicit keyword on constructor on a CLOSED TREE; r=bustage
MozReview-Commit-ID: KvlrtJlUir8

--HG--
extra : rebase_source : 88b65dfdc34e2df79dec294f3828f1dc6b33ceeb
extra : histedit_source : 42f77c82bd86f54154df52d4fa58c6107771868b
2017-06-05 12:29:04 -06:00
Aaron Klotz 1f513d3180 Bug 1367885: Add a fast path to mscom Interceptor construction; r=jimm
MozReview-Commit-ID: AmS5oBNV7Po

When creating a new interceptor, we already have the correct target interface.
The interceptor ignores this and does a redundant inter-thread QI to resolve
an interface that we already have!

This patch adds a fast path to interceptor initialization that skips all of that
stuff and directly initializes itself using the given target interceptor.

--HG--
extra : rebase_source : bb017b8098b3d94c453d6be982a205ade36c772d
2017-05-17 16:38:45 -06:00
Kartikaya Gupta 8bd2880fc4 Bug 1369840 - Add new test IPDL message to sync-messages.ini. r=dvander
MozReview-Commit-ID: 51i94Gj0Mgq
2017-06-04 22:29:35 -04:00
Masayuki Nakano d3789d2d6b Bug 1369419 GetMessage() and PeekMessage() shouldn't be used directly as far as possible r=jimm
In TSF mode, application should retrieve messages with ITfMessagePump::GetMessage() or ITfMessagePump::PeekMessage() since TSF/TIP may handle the message before or after the host application handles it.

This patch rewrites the API users with WinUtils::(Get|Peek)Message() which use ITfMessagePump if it's available.

MozReview-Commit-ID: LwHIgp7SxLH

--HG--
extra : rebase_source : aa5750af9812f9b107c29546cbee6f9eede6ebfa
2017-06-02 12:02:35 +09:00
Sebastian Hengst ec19dce387 Backed out changeset 581ca67895db (bug 1369840) 2017-06-03 10:11:21 +02:00
Christoph Diehl b7e02bedbb Bug 1232119 - Add fuzzer for SharedMemory. r=billm
--HG--
extra : rebase_source : dbb29a3e40590555717db0de789ccb13dd0bfbf5
2017-05-23 22:36:28 +02:00
Carsten "Tomcat" Book bd7620cf36 Merge mozilla-central to mozilla-inbound 2017-06-13 12:11:42 +02:00
Nicholas Nethercote 0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Randell Jesup 450c4d90a1 Bug 1341285: rollup of changes for webrtc after applying webrtc.org v57 update r=ng,jesup,pehrsons,drno,dminor,cpearce,jya,glandium,dmajor
Includes re-importing gyp files removed from upstream in v56, and then
updating them to match the BUILD.gn file changes.

--HG--
rename : media/webrtc/trunk/webrtc/call/audio_send_stream.cc => media/webrtc/trunk/webrtc/call/audio_send_stream_call.cc
2017-06-13 01:54:13 -04:00
Kartikaya Gupta 5b65b917cd Bug 1369840 - Add new test IPDL message to sync-messages.ini. r=dvander
MozReview-Commit-ID: D6SDlNG9EIf

--HG--
extra : rebase_source : df9cb70dcf3cdb26342a324c6292b0c3cb37de3d
2017-06-02 16:19:33 -04:00
Kyle Machulis 2902c3f037 Bug 1337058 - Remove FindPlugins IPC message; r=bsmedberg
MozReview-Commit-ID: GQVHEeQp1dx

--HG--
extra : rebase_source : d421a613434be2bcca1120cfffb92ed9f20ba9d4
2017-06-01 15:33:23 -07:00
Ryan VanderMeulen a185080885 Merge inbound to m-c. a=merge 2017-06-01 11:54:38 -04:00
Shih-Chiang Chien e7a014adc4 Bug 1015466 - Part 3, PHttpBackgroundChannel lifecycle management. r=mayhemer
PHttpBackgroundChannel is created by content process because PBackground IPDL
can only be initiated from content process. The background channel deletion is
controlled by chrome process while PHttpChannel is going to be closed or canceled.

BackgroundChannelRegistrar is introduced for pairing HttpChannelParent and
HttpBackgroundChannelParent since they are created over different IPDL
asynchronously.

nsIParentRedirectingChannel.continueVerification is introduced to asynchronously
wait for background channel to be established on the new channel during the
Redirect2Verify phase.

MozReview-Commit-ID: 41l8ivan8iA

--HG--
extra : rebase_source : b8b6d7e7c037efaa9fc13df14191205c603e833a
2017-04-24 11:09:35 +08:00
Shih-Chiang Chien c878e800ea Bug 1015466 - Part 1, skeleton of PHttpBackgroundChannel. r=mayhemer
PHttpBackgroundChannel is introduced to deliver OnStopRequest/OnTransportAndData/OnProgress/OnStatus on background thread.
FlushedForDiversion/DivertMessages is moved to PHttpBackgroundChannel to ensure no more channel event are delivered after these two messages on the background channel.
OnStartRequestSent is introduced to synchronize the execution order between OnStartRequest (main thread IPC) and all other messages on PHttpBackgroundChannel.

MozReview-Commit-ID: HfqvPML6EKw

--HG--
extra : rebase_source : 423709763e1abf1362347bc2d3141e2d33aed46a
2017-05-15 16:01:10 +08:00
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
Kearwood Gilbert eb3becc0b0 Bug 1362213 - Implement chrome-only API to manage VR sessions r=daoshengmu,kanru,smaug
- Added new chrome-only webidl methods to be used by browser UI and WebExtensions
- Implemented bitmasked group visibility for VR sessions to enable switching
  between chrome and regular content presentations.
- Implemented throttling mechanism to avoid runaway, unthrottled render loops
  for VR sessions that are hidden by group visibility bitmasks or due to
  lower level platform VR events, such as during the Oculus
  "Health and Safety Warning".
- Simplified the PVRManager IPC protocol while extending it to support
  VR session groups and later WebVR content performance profiling API's.
- Removed the last WebVR related sync IPC call.


MozReview-Commit-ID: BMEIPyYeEbq

--HG--
extra : rebase_source : 47d3682cad3d913504175b7d4c3e9d992236f097
2017-05-08 16:01:36 -07:00
Andrea Marchesini 6287e1d209 Bug 1366316 - Separate thread for IPCBlobInputStream actors - part 4 - monitoring child processes, r=smaug 2017-05-31 07:41:11 +02:00
Andrea Marchesini dd8eddb26f Bug 1366316 - Separate thread for IPCBlobInputStream actors - part 1 - actor migration, r=smaug 2017-05-31 07:41:10 +02:00
Kartikaya Gupta b7ee577f62 Merge m-c to graphics, a=merge
MozReview-Commit-ID: 8IWAJNO52ry
2017-05-29 08:28:04 -04:00
Kartikaya Gupta d5c99e4ebb Bug 1367837 - Implement some APZ test util APIs for webrender. r=botond,dvander
This implements some methods exposed on DOMWindowUtils and used by
reftests, for the WebRender codepath. The implementation is very similar
to the implementation in LayerTransactionParent.

MozReview-Commit-ID: HP8OxzIzS7P
2017-05-28 07:48:36 -04:00
Ryan VanderMeulen e38fed0cd1 Merge inbound to m-c. a=merge 2017-05-25 21:30:20 -04:00
Aaron Klotz f2c01f6b99 Bug 1354077: Fix some problems with RegGetValue call failing due to failed type checking; r=jimm
MozReview-Commit-ID: 5iTEAW9CyJS

--HG--
extra : rebase_source : 2a1d5b4684e2fba9913e7d185738c3f5d711da8f
2017-05-25 14:08:55 -06:00
Aaron Klotz 0c65052029 Bug 1367715: Convert IsProxy check to assertion to avoid unnecessary and potentially incorrect off-main-thread QIs on release builds; r=jimm
MozReview-Commit-ID: 9WYbiW7pBjh

--HG--
extra : rebase_source : 7b04e9959f1ba2c5dcfeff384f3e3cf32b445c39
2017-05-25 12:10:30 -06:00
Honza Bambas b852ed009a Backout of 7f28c1084c47 (bug 1319111) for security checks breakage, r=me 2017-05-25 18:16:02 +02:00
Ryan VanderMeulen d3f265330e Merge m-c to autoland. a=merge 2017-05-25 16:44:01 -04:00
Kan-Ru Chen e900659346 Bug 1367176 - Expose promise typedef to public so it can be used outside of actor. r=billm
MozReview-Commit-ID: JRlPR2rs3ij

--HG--
extra : rebase_source : 7e23178f678d0fffd99d21bbf4fdbb954792fa0e
2017-05-24 13:06:35 -04:00
Michael Layzell b0485183ce Bug 1365719 - Add a IPC_SYNC_RECEIVE_MS probe to record time taken to process sync IPC messages in the target process, dr=bsmedberg, r=ehsan
MozReview-Commit-ID: 4TOlSFX68Vn
2017-05-26 16:18:28 -04:00
Petr Sumbera 6e46696806 Bug 1368093 - Fix name collision between Solaris queue(9F) and C++ std::queue. r=billm 2017-05-26 09:10:59 -07:00
Thomas Nguyen 4fcb94e968 Bug 1351146 - P1 - Add more information to redirect chains. r=dragana
In order to provide more details context of how client arrived at the unsafe
page, particularly in redirect case, we may have to add more information to
redirect chains including:
- referrer (if any)
- remote address.
- URL

We may want to use an idl interface instead of nsIPrincipal to store these
information

MozReview-Commit-ID: 3Uh4r06w60C
2017-05-25 19:42:00 +02:00
David Parks f2774deb20 Bug 1363290 - Part 3: Proxy win32's SetCursorPos for plugins in chrome process. r=jimm, r=jed
SetCursorPos is used by Flash's relative cursor motion behavior.  It is blocked by the plugin sandbox.  This patch allows it to run by proxying it on the main process.

--HG--
extra : histedit_source : 85515d398c0c107c2258185c0591a943b26e724a
2017-05-16 14:47:09 -07:00
Ehsan Akhgari b1a6df0904 Backout the experimental patch for bug 1366156 because it didn't help 2017-05-24 09:46:39 -04:00
Andrea Marchesini bf4efb28a8 Bug 1359718 - Get rid of PBlob - part 6 - removed unused inputStream params, r=smaug 2017-05-23 18:07:18 +02:00
Andrea Marchesini 281c7e8cdd Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini bc8f9a2827 Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Andrea Marchesini 28479706ea Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Ryan VanderMeulen 0bd37c1ea1 Merge inbound to m-c. a=merge 2017-05-23 18:12:57 -04:00
Ryan VanderMeulen 27fd4cc7e2 Merge inbound to m-c. a=merge 2017-05-23 18:11:35 -04:00
Ehsan Akhgari 1040ee9f65 Bug 1347035 - Store the maximum touch points for each tab child on the object instead of querying it synchronously from the parent actor when neeeded; r=smaug ipc-r=kanru 2017-05-23 17:00:09 -04:00
Honza Bambas 2dfe5d94b8 Bug 1319111 - Expose 'result principal URI' on LoadInfo as a source for NS_GetFinalChannelURI (removes some use of LOAD_REPLACE flag). r=bz 2017-05-23 08:09:00 -04:00
Ryan VanderMeulen e096678430 Merge m-c to autoland. a=merge UPGRADE_NSS_RELEASE
--HG--
rename : dom/security/test/sri/iframe_style_crossdomain.html => dom/security/test/sri/iframe_style_crossdomain_legacy.html
rename : mobile/android/themes/core/content.css => mobile/android/themes/geckoview/content.css
rename : mobile/android/themes/core/images/accessiblecaret-normal-hdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-normal-hdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-normal-xhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-normal-xhdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-normal-xxhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-normal-xxhdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-left-hdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-hdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-left-xhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xhdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-left-xxhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-left-xxhdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-right-hdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-hdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-right-xhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xhdpi.png
rename : mobile/android/themes/core/images/accessiblecaret-tilt-right-xxhdpi.png => mobile/android/themes/geckoview/images/accessiblecaret-tilt-right-xxhdpi.png
rename : mobile/android/themes/core/images/dropmarker-right.svg => mobile/android/themes/geckoview/images/dropmarker-right.svg
rename : mobile/android/themes/core/images/dropmarker.svg => mobile/android/themes/geckoview/images/dropmarker.svg
rename : mobile/android/themes/core/images/cast-active.svg => mobile/android/themes/geckoview/images/videocontrols-cast-active.svg
rename : mobile/android/themes/core/images/cast-ready.svg => mobile/android/themes/geckoview/images/videocontrols-cast-ready.svg
rename : mobile/android/themes/core/images/exitfullscreen.svg => mobile/android/themes/geckoview/images/videocontrols-exitfullscreen.svg
rename : mobile/android/themes/core/images/fullscreen.svg => mobile/android/themes/geckoview/images/videocontrols-fullscreen.svg
rename : mobile/android/themes/core/images/mute.svg => mobile/android/themes/geckoview/images/videocontrols-mute.svg
rename : mobile/android/themes/core/images/pause.svg => mobile/android/themes/geckoview/images/videocontrols-pause.svg
rename : mobile/android/themes/core/images/play.svg => mobile/android/themes/geckoview/images/videocontrols-play.svg
rename : mobile/android/themes/core/images/scrubber.svg => mobile/android/themes/geckoview/images/videocontrols-scrubber.svg
rename : mobile/android/themes/core/images/unmute.svg => mobile/android/themes/geckoview/images/videocontrols-unmute.svg
rename : mobile/android/themes/core/scrollbar-apz.css => mobile/android/themes/geckoview/scrollbar-apz.css
rename : mobile/android/themes/core/touchcontrols.css => mobile/android/themes/geckoview/videocontrols.css
extra : rebase_source : a5b4c2c75991990af25c4686ff96c199834ff317
2017-05-23 13:41:47 -04:00
rforbes 287d1a920b Bug 1365321 - remove warnings from faulty r=billm
MozReview-Commit-ID: C0ANd5Zpmes

--HG--
extra : rebase_source : fa6636ee90305f073c301980f9bd6d49c7123641
2017-05-23 08:54:46 -07:00
Bill McCloskey b71d032b99 Bug 1363877 - Label IPC shmem messages as SystemGroup (r=dvander)
MozReview-Commit-ID: 3I5ny0wxVHI
2017-05-19 16:38:12 -07:00
Wes Kocher 8b07ba2a07 Merge m-c to inbound a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:18:51 -07:00
Wes Kocher 15edcfd962 Merge inbound to central, a=merge
MozReview-Commit-ID: EI67EKp8ykS
2017-05-19 15:14:19 -07:00
Michael Layzell 7d8410d3a5 Bug 1348401 - Make the PPrinting::ShowProgress IPC message async, r=mconley, r=billm
MozReview-Commit-ID: 5pK08I3itYa
2017-05-19 16:16:13 -04:00
Kartikaya Gupta 5d656fab0f Merge m-c to graphics
MozReview-Commit-ID: HvsAeMjJAIA
2017-05-19 09:30:48 -04:00
Kartikaya Gupta aca076b94b Merge m-c to graphics
MozReview-Commit-ID: DFNbcj14mg9

--HG--
rename : memory/mozjemalloc/jemalloc.c => memory/mozjemalloc/mozjemalloc.cpp
rename : memory/mozjemalloc/jemalloc_types.h => memory/mozjemalloc/mozjemalloc_types.h
2017-05-18 08:34:15 -04:00
Jeff Muizelaar b9411eb4eb Bug 1364626. Ensure our transaction arrives at the compositor before asking the parent to paint. r=dvander
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:45:33 -04:00
Jeff Muizelaar 0ed20eff4a Revert "Ensure our transaction arrives at the compositor before asking the parent to paint"
This reverts commit e0ec2a72700f.
2017-05-17 10:44:33 -04:00
Jeff Muizelaar b2c7a3fec1 Ensure our transaction arrives at the compositor before asking the parent to paint
This makes UpdateLayerTree synchronous enough to ensure that the layer
transaction from the child reaches the compositor. Given the comment in
http://searchfox.org/mozilla-central/rev/484d2b7f51b7aed035147bbb4a565061659d9278/dom/interfaces/base/nsIDOMWindowUtils.idl#106
this seems to be the original intent of this function anyways. Without this, we
can have a race between the child talking to the compositor and the child
talking to the parent talking to the compositor.

This also changes GetCompositorBridgeChild to work even when the widget doesn't
have a CompositorBridge
2017-05-17 10:42:09 -04:00
Cervantes Yu 26a4bb3385 Bug 1365203 - Annotate name of base::Thread in the crash report. r=gsvelto
This adds the call NS_SetCurrentThreadName() to the thread created using
base::Thread (e.g. the Compositor thread) so that the name gets annotated in the
crash report and displayed on socorro.

MozReview-Commit-ID: 9bNeHlhbicA

--HG--
extra : amend_source : a7c0c09e7fa057df4c0e212e1579961c3f9617b1
extra : histedit_source : 8919f69bc68861858105efed12cc0a37404b38b0
2017-05-17 14:25:09 +08:00
Ehsan Akhgari f5567643a3 Bug 1366156 - Temporarily disable the collection of content js delay event telemetry probes to investigate whether they are the cause of child process INPUT_EVENT_RESPONSE_MS regressions; r=farre 2017-05-19 09:46:30 -04:00
Henry Chang 8091c86b7e Bug 1364857 - Reject pending promises for actor when it's going to be destroyed. r=kanru
The lifetime of async IPDL returned promise may be longer than its actor.
That is, the handler (receiver) may have not resolve/reject the promise when the actor
is destroyed. In this case, we have to reject all the pending promises before
ActorDestroy() is called on the "sender" side.

Besides, the handler (receiver) can reject with reason "ActorDestroyed" to silently
cancel the promise without trying to reply to the remote actor which may
have died. The sender-side promise is responsible for rejecting the pending promises,
which will be done in MessageChannel::RejectPendingPromisesForActor().

MozReview-Commit-ID: 4XjmquZzDBO

--HG--
extra : rebase_source : 48539e35e4587e09be1d66497b1ea32d1a95ee9a
2017-05-17 16:59:48 +08:00
Aaron Klotz d82e0194e8 Bug 1354077: Annotate crash reports with COM interface configuration information when marshaling fails; r=jimm
MozReview-Commit-ID: GCYLbtu1Nlb

--HG--
extra : rebase_source : 565c598dcba929cb1b774b3440180c60e78da9cd
extra : amend_source : dc0051579e0b005c89fd3835f0c2b0d4fd87a280
2017-05-04 15:41:35 -06:00
JW Wang f63d012078 Bug 1365517 - Remove the call to AbstractThread::GetCurrent() in TestAsyncReturns.cpp. r=kanru
See bug 1365483 for the rationale.

MozReview-Commit-ID: AGFtjTzRqvC

--HG--
extra : rebase_source : c8309d12fe8cbbc964f7bdf8b4e79683a1af6756
2017-05-17 15:34:20 +08:00
Nathan Froyd c1d1748428 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
Sebastian Hengst 484d2b7f51 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Jduo3F6TzgF
2017-05-14 18:04:29 +02:00
Botond Ballo 0f1863f7ac Bug 1349750 - Introduce a PlainOldDataSerializer utility class and use it for SimpleLayerAttributes. r=kats
MozReview-Commit-ID: 2tntLfnAINy

--HG--
extra : rebase_source : 2da85ab1c4695ef23a29f1289fa996d879cd8e7b
2017-05-03 20:21:11 -04:00
Bob Owen 4f4a6e0ef0 Bug 1336657: On Windows add a sandbox policy rule to allow read / write access to content temp dir. r=jimm 2017-05-13 21:37:28 +01:00
Patrick McManus eab0a004e6 Bug 1362388 - dont let File backed http requests find size on main thread r=nwgh
MozReview-Commit-ID: AFM4R0M7dmj

--HG--
extra : rebase_source : 01d3020eb952ec286be30b937476161a403215ff
2017-05-05 17:51:13 -04:00
Wes Kocher 8eaf64f920 Backed out 2 changesets (bug 1362388) for android build bustage in nsHttpChannel.cpp a=backout
Backed out changeset f5b4fbe31c01 (bug 1362388)
Backed out changeset 446ecc3f5715 (bug 1362388)

MozReview-Commit-ID: DI01cDPrgM7
2017-05-12 13:58:28 -07:00
Patrick McManus 3db60df302 Bug 1362388 - dont let File backed http requests find size on main thread r=nwgh
MozReview-Commit-ID: AFM4R0M7dmj

--HG--
extra : rebase_source : ad15d3aad5d0d271acd5cd35dbfbf72e432bcdd7
2017-05-05 17:51:13 -04:00
David Anderson 42e57ec6d3 Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson 27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
Ryan VanderMeulen 64fe0d9416 Bug 1360264 - Update libevent to 2.1.8-stable. r=billm
--HG--
extra : rebase_source : 82d7bf7e67e822cb8d09a30d52c89516673dcc55
2017-05-11 20:14:23 -04:00
Aaron Klotz 831876bb4f Bug 1363844: Add CHILD_PROCESSES_ONLY flag to Windows DLL blocklist; r=dmajor
MozReview-Commit-ID: f9ej2Hp0DF
2017-05-11 15:50:10 -06:00
Ryan VanderMeulen 6e88e0bfab Bug 1363127 - Include nsPrintfCString.h in ProxyStream.cpp to fix --disable-accessibility bustage. r=aklotz 2017-05-11 17:22:19 -04:00
Kan-Ru Chen 89fee9ade2 Bug 1362732 - Only delete AbstractThread wrapper when MessageLoop is about to destroy. r=billm
The wrapper should have the same liftime as the underlying
MessageLoop. This patch use the MessageLoop's DestructionObserver to
manage the lifetime of the wrapper.

MozReview-Commit-ID: 44ps4TKl3yQ
2017-05-11 12:22:47 +08:00
Iris Hsiao 84c8672878 Backed out changeset 690fcdc70b82 (bug 1362732) for build bustage at MessageChannel.cpp: bad implicit conversion constructor for 'AbstractThreadWrapperCleanup'
CLOSED TREE
2017-05-11 11:54:56 +08:00
Kan-Ru Chen 9fe44a8f68 Bug 1362732 - Only delete AbstractThread wrapper when MessageLoop is about to destroy. r=billm
The wrapper should have the same liftime as the underlying
MessageLoop. This patch use the MessageLoop's DestructionObserver to
manage the lifetime of the wrapper.

MozReview-Commit-ID: 44ps4TKl3yQ
2017-05-11 11:21:48 +08:00
Carsten "Tomcat" Book d66b9f27d5 merge mozilla-inbound to mozilla-central a=merge 2017-05-10 15:07:28 +02:00
Bill McCloskey c197e07ff2 Bug 1363560 - Name more runnables (r=mccr8)
MozReview-Commit-ID: 3hxZDA4JlTV
2017-05-09 21:53:25 -07:00
Wes Kocher e2902f93a3 Merge inbound to m-c a=merge
MozReview-Commit-ID: Fp2oBAcru51
2017-05-09 14:34:34 -07:00
Henry Chang 3f6c2504c6 Bug 1353159 - Use IPC_MESSAGE_SIZE2 to unify the expired IPC_MESSAGE_SIZE and MESSAGE_MANAGER_MESSAGE_SIZE2 r=billm
The new telemetry tag is for probing the best IPC message pre-allocate size to avoid
realloc overhead. We only count those message size which is greater than 4096.
This tag integrates IPC_MESSAGE_SIZE and MESSAGE_MANAGER_MESSAGE_SIZE2 which
have both expired.

MozReview-Commit-ID: GjvuidGJ7pz

--HG--
extra : rebase_source : 1da13b3f2b5b042d0445abd6051993e2fb317f93
2017-05-04 16:34:20 +08:00
Andrea Marchesini 242df9338b Bug 1359087 - Use IPCBlob in FileHandle - part 1 - PPendingIPCBlob protocol, r=janv 2017-05-09 22:35:27 +02:00
Kyle Machulis 4f61492d32 Bug 1323339 - Add U2FTokenManager class and support IPC Parent classes; r=jcj r=baku
Takes functionality that was in the WebAuthentication class that now
needs to be handled by the parent process, and moves it to the
U2FTokenManager singleton class. U2FTokenManager is created on the
PBackground thread during the first WebAuthn transaction, and manages
hardware access and transaction management for the lifetime of the
browser session. Patch also adds parent classes for WebAuthn IPC
protocol.

MozReview-Commit-ID: EnhgUTPdlMZ
2017-05-09 13:21:23 -07:00
Kyle Machulis e0c24a5abd Bug 1323339 - Add WebAuthnManager and support IPC Child classes; r=jcj r=baku
Takes functionality once in the WebAuthentication DOM class that needs
to be handled by the content process, and moves it to a
singleton (per-content-process) manager class. This allows the
WebAuthn API to centralize management of transactions and IPC
channels. Patch also creates the child (content-process) classes for
WebAuthn IPC channels.

MozReview-Commit-ID: 6ju2LK8lvNR
2017-05-09 13:21:23 -07:00
Kyle Machulis 2945d52cd5 Bug 1323339 - IPDL for WebAuthn Protocol and PBackground additions; r=jcj r=baku
MozReview-Commit-ID: 3WzTVZEdjia
2017-05-09 13:21:23 -07:00
Trevor Saunders 293bbaf3e9 bug 1361338 - disable atk in content processes r=jld
We proxy all accessibility information for the content through the main process
so its unnecessary and possibly confusing to expose accessibility information
from the content processes.  Further ATK's use of dbus uses syscalls that we
would like to disallow within sandboxed content processes.
2017-05-08 13:52:21 -04:00
David Anderson af30648746 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-05-05 10:53:17 -07:00
Carsten "Tomcat" Book fdc689ba16 merge mozilla-inbound to mozilla-central a=merge 2017-05-05 15:17:26 +02:00
Andreas Farre 7cd708c02f Bug 1322184 - Measure time spent in content JS that causes delay in paint. r=billm, data-r=bsmedberg
MozReview-Commit-ID: Iz31CKSnDdc

--HG--
extra : rebase_source : e0db2419ee2ef868d2f4d1b47d45547e55bd2036
2017-05-02 08:10:00 -04:00
Phil Ringnalda 6b129efd40 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson d7a1f66c55 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-04-30 17:22:56 -07:00
Aaron Klotz 7803842b0a Bug 1360371: Follow-up: remove files that were not correctly deleted by previous backout patch; r=backout
--HG--
extra : rebase_source : 7921021a8dfac2b6cde57a6416b617dab2b6a4fe
2017-04-28 13:56:00 -06:00
Iris Hsiao 5822a99946 Backed out changeset f7685ecd789d (bug 1350634) for marionette crashes 2017-04-28 10:43:34 +08:00
Aaron Klotz 4841c23410 Bug 1360371: Backed out changesets c39e811e3a09 and d4e6fb6fb40a as they are no longer necessary; r=backout
MozReview-Commit-ID: 7QSHmDn828Y

--HG--
rename : browser/app/firefox.exe.64.manifest => browser/app/firefox.exe.manifest
rename : ipc/app/plugin-container.exe.64.manifest => ipc/app/plugin-container.exe.manifest
extra : rebase_source : efded7e1b6cb0cd5875ca53bdddae6e18eff7ce9
2017-04-27 16:27:45 -06:00
David Anderson 689908c568 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.

--HG--
extra : rebase_source : 4b29b859aa5745fabe3db0fe68742328fc0af175
2017-04-26 10:32:57 -07:00
Michael Layzell 8b7ba021a4 Bug 1339537 - Part 6: Pass std::function values tree by const reference instead of by value, r=ehsan
MozReview-Commit-ID: PVAqU2DPs2
2017-04-27 12:44:57 -04:00
Sebastian Hengst 3743249da2 Backed out changeset 3ac94ff745fc (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 19:13:14 +02:00
Sebastian Hengst b34db7c9fe Backed out changeset 48ed92a3d18a (bug 1359718) 2017-05-23 19:12:31 +02:00
Sebastian Hengst 4ac10ab053 Backed out changeset c3251f5022dd (bug 1359718) 2017-05-23 19:12:25 +02:00
Sebastian Hengst 9d3833dde4 Backed out changeset e56d1ca34efd (bug 1359718) 2017-05-23 19:12:05 +02:00
Aaron Klotz b1cd01ad50 Bug 1354077: Fix missing interface registration annotations for CoGetInterfaceAndReleaseStream failures; r=jimm
MozReview-Commit-ID: b7R8yGDe44

--HG--
extra : rebase_source : 1994776a889602f8ea4ac380098a38b37e1c6a2b
2017-05-19 13:59:49 -06:00
Andrea Marchesini 9281504883 Bug 1359718 - Get rid of PBlob - part 6 - removed unused inputStream params, r=smaug 2017-05-23 18:07:18 +02:00
Andrea Marchesini f512688b0b Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini 7c4d305b8f Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Andrea Marchesini 9106ae7b59 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Sebastian Hengst 2ac2023c15 Backed out changeset c92612ac17d3 (bug 1359718) for bustage in IPCBlobInputStreamChild.cpp. r=backout on a CLOSED TREE 2017-05-23 18:35:24 +02:00
Sebastian Hengst 77897ad1e3 Backed out changeset 3b7d055b4207 (bug 1359718) 2017-05-23 18:34:45 +02:00
Sebastian Hengst 89e8ea64b1 Backed out changeset 537abc431472 (bug 1359718) 2017-05-23 18:34:40 +02:00
Sebastian Hengst a2acce7311 Backed out changeset 089b1233b9a3 (bug 1359718) 2017-05-23 18:34:19 +02:00
Andrea Marchesini a2951f6a91 Bug 1359718 - Get rid of PBlob - part 6 - removed unused inputStream params, r=smaug 2017-05-23 18:07:18 +02:00
Andrea Marchesini 7db3365daf Bug 1359718 - Get rid of PBlob - part 2 - PBlob, r=smaug, r=kanru 2017-05-23 18:05:19 +02:00
Andrea Marchesini ed95a3adde Bug 1359718 - Get rid of PBlob - part 1 - Remove PBlobStream, r=smaug, r=kanru 2017-05-23 18:04:27 +02:00
Andrea Marchesini af2f7fcbf5 Bug 1359718 - Get rid of PBlob - part 0 - remove PMemoryStream, r=smaug 2017-05-23 18:00:30 +02:00
Kevin Chen aa4fe616d0 Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 2ae5e2aa2e54cb2c368310ebdb1fdcbcae3092f4
2017-03-21 03:57:56 +00:00
Sebastian Hengst 0d8a182804 Backed out changeset 25f2e9e2068d (bug 1343754) for crashing e.g. in dom/workers/test/serviceworkers/test_fetch_integrity.html. r=backout 2017-05-03 12:59:36 +02:00
Kevin Chen bdb02a828a Bug 1343754 - Add a function for replacing event target for actor and label PTexture; r=bevistseng,billm,nical
MozReview-Commit-ID: KGVBWsexkqC

--HG--
extra : rebase_source : 5ac2edced51462fd013f0efba0e434d6a2fc7863
2017-03-21 03:57:56 +00:00
Sebastian Hengst e0ebdc22e8 Backed out changeset c569c8ed68bc (bug 1323339) for bustage at dom/webauthn/WebAuthnManager.cpp:433. r=backout on a CLOSED TREE 2017-05-08 21:18:55 +02:00
Sebastian Hengst 44140b7e15 Backed out changeset 09ca3b67a359 (bug 1323339) 2017-05-08 21:17:24 +02:00
Sebastian Hengst a03d774c23 Backed out changeset cdc1a8372229 (bug 1323339) 2017-05-08 21:17:19 +02:00
Kyle Machulis bb8558f7a2 Bug 1323339 - Add U2FTokenManager class and support IPC Parent classes; r=baku,jcj
Takes functionality that was in the WebAuthentication class that now
needs to be handled by the parent process, and moves it to the
U2FTokenManager singleton class. U2FTokenManager is created on the
PBackground thread during the first WebAuthn transaction, and manages
hardware access and transaction management for the lifetime of the
browser session. Patch also adds parent classes for WebAuthn IPC
protocol.

MozReview-Commit-ID: EnhgUTPdlMZ

--HG--
extra : rebase_source : e035b488ef4fc7a87e5038ed98db2abde05dc2db
2017-05-04 17:48:34 -07:00
Kyle Machulis 29df95101e Bug 1323339 - Add WebAuthnManager and support IPC Child classes; r=baku,jcj
Takes functionality once in the WebAuthentication DOM class that needs
to be handled by the content process, and moves it to a
singleton (per-content-process) manager class. This allows the
WebAuthn API to centralize management of transactions and IPC
channels. Patch also creates the child (content-process) classes for
WebAuthn IPC channels.

MozReview-Commit-ID: 6ju2LK8lvNR

--HG--
extra : rebase_source : 3d800902631ee88e3702c978e9d8ed9c6f88601f
2017-04-19 17:46:08 -07:00
Kyle Machulis 8593770864 Bug 1323339 - IPDL for WebAuthn Protocol and PBackground additions; r=baku,jcj
MozReview-Commit-ID: 3WzTVZEdjia

--HG--
extra : rebase_source : 44a15e75d115189e2ceec03e995be862bb5dd23a
2017-04-19 16:19:28 -07:00
Petr Sumbera 274de19ad9 Bug 1364865 - process_util.h should use _POSIX_PATH_MAX instead of NAME_MAX. r=billm 2017-05-15 04:31:55 -07:00
Wes Kocher c90904f9bf Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00
Nathan Froyd 8bbd081c88 Bug 1359415 - move threadsafety checks inside nsAutoOwningThread; r=erahm
This change moves most of the logic for the threadsafety check into
nsAutoOwningThread, rather than having part of the logic live in
nsAutoOwningThread and part of the logic live in nsDebug.h.  Changing
this also forces us to clean up a couple of places that replicated the
logic that lived in nsDebug.h as well.
2017-04-26 11:41:32 -04:00
Nicholas Nethercote bc1d6a21a2 Bug 1358320 - Make TimeStamp::ProcessCreation()'s outparam optional. r=gsvelto.
TimeStamp::ProcessCreations()'s aIsInconsistent outparam is ignored by the
majority of its caller. This patch makes it optional. Notably, this makes
ProcessCreation() easier to use in a constructor's initializer list.
2017-04-26 14:55:54 +10:00
Bill McCloskey 001f17e543 Bug 1334097 - Avoid busy waiting caused by MaybeUndeferIncall (r=aklotz)
In order to avoid a busy wait where we defer and then immediately un-defer a message,
we need to ensure that we only un-defer a message if it's actually ready to be processed.
This patch uses the same condition in MaybeUndeferIncall as we use in
DispatchInterruptMessage.

MozReview-Commit-ID: L2xZfSO0Yrk
2017-04-25 15:45:58 -07:00
Ehsan Akhgari fff6e310e9 Bug 1356836 - Reduce the hashtable lookup cost in principal serialization/deserialization; r=billm 2017-04-25 11:04:13 -04:00
Kan-Ru Chen 6c2259f717 Bug 1358697 - Don't capture the Promise raw pointer and make static analysis happy. r=billm
MozReview-Commit-ID: 7lMVMcNBDHJ

--HG--
extra : rebase_source : 3526408144e9d0486e0c212151682bc98275c8e5
2017-04-22 10:38:52 +08:00
David Parks 532fe74f04 Bug 1347710 - Enable sandbox protections for the Windows GPU process. r=bobowen
The sandbox works with levels.  The GPU sandbox level defaults to 1 in all builds.  It is controlled by security.sandbox.gpu.level.
2017-04-24 09:46:09 -07:00
Andrea Marchesini db52df9bd7 Bug 1353629 - PBlob refactoring - part 6 - IPCBlobInputStream serialization, r=smaug
IPCBlobInputStream must implement nsIIPCSerializableInputStream interface.
When this is done, the child sends the internal ID of the IPCBlobInputStream to
the parent.
2017-04-24 12:09:40 +02:00
Andrea Marchesini db0019c058 Bug 1353629 - PBlob refactoring - part 4 - IPCBlobInputStream, r=smaug
IPCBlobInputStream is a new type of nsIInputStream that is used only in content
process when a Blob is sent from parent to child. This inputStream is for now,
just cloneable.

When the parent process sends a Blob to a content process, it has the Blob and
its inputStream. With its inputStream it creates a IPCBlobInputStreamParent
actor. This actor keeps the inputStream alive for following uses (not part of
this patch).

On the child side we will have, of course, a IPCBlobInputStreamChild actor.
This actor is able to create a IPCBlobInputStream when CreateStream() is
called.  This means that 1 IPCBlobInputStreamChild can manage multiple
IPCBlobInputStreams each time one of them is cloned. When the last one of this
stream is released, the child actor sends a __delete__ request to the parent
side; the parent will be deleted, and the original inputStream, on the parent
side, will be released as well.

IPCBlobInputStream is a special inputStream because each method, except for
Available() fails. Basically, this inputStream cannot be used on the content
process for nothing else than knowing the size of the original stream.

In the following patches, I'll introduce an async way to use it.
2017-04-24 12:09:40 +02:00
Andrea Marchesini 4f87431fb2 Bug 1353629 - PBlob refactoring - part 2 - IPCStream must be available on PBackground, r=smaug
In order to use IPCBlob in any IPC protocol, IPCStream must be available also
on PBackground.
2017-04-24 12:09:40 +02:00
Andrea Marchesini f3bd4e6da7 Bug 1353629 - PBlob refactoring - part 1 - AutoIPCStream should not have a copy CTOR, r=smaug 2017-04-24 12:09:40 +02:00
Andrea Marchesini 774e894f0c Bug 1353475 - Implement AutoIPCStream with delayed start - part 2 - delayed start, r=smaug 2017-04-24 12:09:39 +02:00
Andrea Marchesini 1e2c2d6d29 Bug 1353475 - Implement AutoIPCStream with delayed start - part 1 - changing the IPDL dictionaries for streams, r=smaug 2017-04-24 12:09:39 +02:00
Tom Tromey 99f4608655 Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa

--HG--
extra : rebase_source : ab4a11b4d2e758099bd0794d5c25d799a7e42680
2017-03-03 08:17:27 -07:00
Carsten "Tomcat" Book 3b4328e578 Merge mozilla-central to autoland
--HG--
extra : rebase_source : bc4cd926477775ac802f400a79f553034d569a18
2017-04-26 09:08:31 +02:00
Samael Wang d5dd0ed263 Bug 1337064 - Remove sync protocol PContent::AllocateTabId. r=kanru
Remove sync protocol AllocateTabId. Instead we generate tabId in
each process with nsContentUtils::GenerateTabId, and register
RemoteFrameInfo in parent process. If the tab id was generated from
a content process, it's sent parent through either PBrowserConstructor
or PContent::CreateChildProcess.

MozReview-Commit-ID: D3W2fK9eCNH

--HG--
extra : rebase_source : 1913f8f586537be1c82a70a19cc8c6351671d0df
2017-04-05 18:42:00 +08:00
Wes Kocher cb8ce82cca Merge inbound to m-c a=merge 2017-04-19 17:10:04 -07:00
Bill McCloskey f55aa04abd Bug 1355178 - Don't call MessageChannel::ProcessPendingRequests if we don't expect it to do anything (r=kanru)
MozReview-Commit-ID: BJBBkhaNKki
2017-04-19 11:51:14 -07:00
Bill McCloskey fb57ac5b38 Bug 1355178 - Remove unnecessary refcounting from MessageChannel::mPending (r=froydnj)
MozReview-Commit-ID: DWEF1ObNmMa
2017-04-19 11:51:14 -07:00
Petr Sumbera df0c2aae53 Bug 1357451 - Add OS_SOLARIS ifdefs to various IPC code. r=kchen
--HG--
extra : rebase_source : 2720ac11f122f267408c2d01ab13ffe0a8181df2
2017-04-18 08:53:59 -07:00
Matt Woodrow d2f04fbaa8 Bug 1341496 - Part 3: Make CrossProcessSemaphore allocation fallible. r=billm
--HG--
extra : rebase_source : 318d2c835675547acf667ecfb20bb595ea86e59f
2017-04-19 15:39:11 +12: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
Carsten "Tomcat" Book 7bcdfe36bc Merge mozilla-central to autoland 2017-04-19 10:57:24 +02:00
Bill McCloskey a5aa8f775e Bug 1356365 - Make MessageChannel::WillDestroyCurrentMessageLoop assertion DEBUG-only (r=mccr8)
MozReview-Commit-ID: CDFEu08a9mv
2017-04-18 15:12:39 -07:00
Mike Hommey 33a7e408ce Bug 1357323 - Remove the gonk code that was referenced by the build system. r=gps
--HG--
extra : rebase_source : 1d30ebcbdbcf596c944e1eec981f85db341485e5
2017-04-18 17:46:39 +09:00
Mike Hommey 34e619d1c1 Bug 1357323 - Remove support for gonk in the build system. r=gps
Everything depending on the widget being gonk can go away, as well as
everything depending on MOZ_AUDIO_CHANNEL_MANAGER, which was only
defined on gonk builds under b2g/ (which goes away in bug 1357326).

--HG--
extra : rebase_source : 9f0aeeb7eea8417fa4e06d662d566d67ecaf2a24
2017-04-18 16:56:09 +09:00
Andrew Osmond 5c88ddfaa2 Bug 1356289 - Part 1. Make SharedMemory::SetHandle accept an access rights parameter. r=billm 2017-04-18 12:24:58 -04:00
Aaron Klotz 4978c3cc95 Bug 1322532: Platform a11y changes to enable handler-based live regions; r=tbsaunde
MozReview-Commit-ID: nNPvBy3ZGO

--HG--
extra : rebase_source : 8c9f9e7a07e1e2268d922574273a3d65919513a7
2017-04-13 20:35:32 -06:00
Aaron Klotz 6302f1af4a Bug 1322532: Add sync text event to PDocAccessible; r=tbsaunde, r=billm
MozReview-Commit-ID: AFZMYghoOHe

--HG--
extra : rebase_source : 2364cf4a5ecaaceda151e16df170aebb77ae55e9
2017-04-13 17:08:42 -06:00
Masatoshi Kimura ea4c0cc826 Bug 1354020 - Use per-monitor v2 on Creators Update. r=jfkthame
MozReview-Commit-ID: FiO3DupULFu

--HG--
extra : rebase_source : f2d2018cb549a07f89e18a42f842886a7ef9c063
2017-04-07 07:14:14 +09:00
Masatoshi Kimura be8a77b3bf Bug 1354785 - Add dependency on manifest files to res files. r=gps
Before bug 1348069, MS manifest tool was used to embed manifest files.[1]

The Makefile used to use EXTRA_DEPS to invoke the manifest tool when a manifest files is changed. But it is no longer effective because the manifest file namepattern is no longer $@.exe.manifest.

Now manifest files will be embedded via .res files. So we have to rebuild .res files to update embedded manifests.

[1] https://dxr.mozilla.org/mozilla-central/rev/35c7be9c2db288d1d449e3cc586c4164d642c5fd/config/rules.mk#642-655

MozReview-Commit-ID: 5QiXVeImZdY

--HG--
extra : rebase_source : 9e321e30ecd389ef0aa21e438d321e79edf0a009
2017-04-08 16:59:08 +09:00
raouldc b4261cfb61 Bug 1352576 - Removed all instances of NPN_GetAuthenticationInfo from the codebase r=bsmedberg
NPN_GetAuthenticationInfo is an NPAPI API we implemented for Java and since we only support Flash we no longer need it.

MozReview-Commit-ID: HxNn91QeaMB

--HG--
extra : rebase_source : 016320ce93bde525dbf1b74f50f8b60d141d31cd
2017-04-13 23:57:08 +12:00
Wes Kocher 20dd5f52c2 Merge m-c to autoland, a=merge 2017-04-13 17:35:34 -07:00
Bill McCloskey 5c609727dc Bug 1354249 - Use same TabGroup as original tab for print preview (r=mystor)
MozReview-Commit-ID: 5wmjLgq2j5m
2017-04-12 20:17:50 -07:00
Wes Kocher 2986c817dc Merge autoland to central, a=merge CLOSED TREE 2017-04-12 15:13:30 -07:00
Petr Sumbera 0e17adee7c Bug 1354510 - Firefox build should recognize Solaris. r=glandium
--HG--
extra : rebase_source : 2bec2709a26a5295e723b0ecc424b0d648715bb7
2017-04-11 00:01:32 -07:00
Bill McCloskey 80a625cd1d Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)
MozReview-Commit-ID: I7HyjVanlxJ
2017-04-11 13:15:09 -07:00
Bill McCloskey cd7be5521e Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-11 13:15:07 -07:00
Bill McCloskey 5203251704 Bug 1333968 - Add GetSpecificMessageEventTarget method to change the event target for specific IPC messages (r=dvander)
MozReview-Commit-ID: EIyfNgKWCRo
2017-04-11 12:59:13 -07:00
Eric Rahm b99305007f Bug 1351910 - Build more files as unified in ipc/glue. r=billm
One file was excluded for using plarena which it did not. The other was
excluded for "clashes with strdup," it does not use strdup.

MozReview-Commit-ID: 5X5H9S4j903
2017-04-10 14:50:00 -07:00
Kartikaya Gupta 5e82717849 Bug 1350638 - Remove the GetCompositorOptions IPC message as it is no longer used. r=dvander
MozReview-Commit-ID: 18uiWGA9eJy

--HG--
extra : rebase_source : 217697a0e63d8c02d78de894ff7f33850924e50c
2017-04-09 17:31:59 -04:00
Ryan VanderMeulen 3b1ac29a33 Backed out changeset 6933cdfb5186 (bug 1351910) for OSX bustage. 2017-04-05 21:26:47 -04:00
Eric Rahm 3b034fca72 Bug 1351910 - Build more files as unified in ipc/glue. r=billm
One file was excluded for using plarena which it did not. The other was
excluded for "clashes with strdup," it does not use strdup.

MozReview-Commit-ID: 5X5H9S4j903
2017-04-05 18:01:45 -07:00
Andrew McCreight 09e3d93838 Bug 1356392 - Use a release assert in EnumSerializer::Write. r=kanru
MozReview-Commit-ID: JqnwuT3nn9q

--HG--
extra : rebase_source : ddee6c5cb6eb2db2260f946441aed10af341c966
2017-04-13 13:55:10 -07:00
Aaron Klotz b836337e81 Bug 1303060: Changes to a11y to enable the serving of a COM handler; r=tbsaunde
MozReview-Commit-ID: GTQF3x1pBtX

A general outline of the COM handler (a.k.a. the "smart proxy"):

COM handlers are pieces of code that are loaded by the COM runtime along with
a proxy and are layered above that proxy. This enables the COM handler to
interpose itself between the caller and the proxy, thus providing the
opportunity for the handler to manipulate an interface's method calls before
those calls reach the proxy.

Handlers are regular COM components that live in DLLs and are declared in the
Windows registry. In order to allow for the specifying of a handler (and an
optional payload to be sent with the proxy), the mscom library allows its
clients to specify an implementation of the IHandlerProvider interface.

IHandlerProvider consists of 5 functions:

* GetHandler returns the CLSID of the component that should be loaded into
  the COM client's process. If GetHandler returns a failure code, then no
  handler is loaded.
* GetHandlerPayloadSize and WriteHandlerPayload are for obtaining the payload
  data. These calls are made on a background thread but need to do their work
  on the main thread. We declare the payload struct in IDL. MIDL generates two
  functions, IA2Payload_Encode and IA2Payload_Decode, which are used by
  mscom::StructToStream to read and write that struct to and from buffers.
* The a11y payload struct also includes an interface, IGeckoBackChannel, that
  allows the handler to communicate directly with Gecko. IGeckoBackChannel
  currently provides two methods: one to allow the handler to request fresh
  cache information, and the other to provide Gecko with its IHandlerControl
  interface.
* MarshalAs accepts an IID that specifies the interface that is about to be
  proxied. We may want to send a more sophisticated proxy than the one that
  is requested. The desired IID is returned by this function. In the case of
  a11y interfaces, we should always return IAccessible2_3 if we are asked for
  one of its parent interfaces. This allows us to eliminate round trips to
  resolve more sophisticated interfaces later on.
* NewInstance, which is needed to ensure that all descendent proxies are also
  imbued with the same handler code.

The main focus of this patch is as follows:

1. Provide an implementation of the IHandlerProvider interface;
2. Populate the handler payload (ie, the cache) with data;
3. Modify CreateHolderFromAccessible to specify the HandlerPayload object;
4. Receive the IHandlerControl interface from the handler DLL and move it
   into the chrome process.

Some more information about IHandlerControl:

There is one IHandlerControl per handler DLL instance. It is the interface that
we call in Gecko when we need to dispatch an event to the handler. In order to
ensure that events are dispatched in the correct order, we need to dispatch
those events from the chrome main thread so that they occur in sequential order
with calls to NotifyWinEvent.

--HG--
extra : rebase_source : acb44dead7cc5488424720e1bf58862b7b30374f
2017-04-04 15:23:55 -06:00
Aaron Klotz bf041cb767 Bug 1303060: Simplifications to mscom handler code; r=jimm
MozReview-Commit-ID: 5YEVtL8gw6S

--HG--
rename : ipc/mscom/IHandlerPayload.h => ipc/mscom/IHandlerProvider.h
extra : rebase_source : 167f69b591f55228859f3941903f776208f22067
2017-03-27 18:41:06 -06:00
Petr Sumbera 3a967bed69 Bug 1353332 - sys_info_posix.cc should declare correctly struct utsname (r=billm)
MozReview-Commit-ID: IwJlsEhfyiw
2017-04-04 14:02:47 -07:00
Petr Sumbera 96aad64ae4 Bug 1345102 - ipc_channel_posix.cc should use OS defined IOV_MAX macro (r=billm)
MozReview-Commit-ID: BmTTbIX6dCx
2017-04-04 12:57:47 -07:00
Bill McCloskey 3e10c05748 Revert "Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)"
This reverts commit dbf3655b7bbb724f3dbcd015f97fee730ddfe970.
2017-04-04 11:49:34 -07:00
Bill McCloskey 88812bc890 Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)
MozReview-Commit-ID: I7HyjVanlxJ
2017-04-04 11:24:09 -07:00
Bill McCloskey e12549c6fa Back out bug 1356836 for test failures.
This reverts commit f8aea16b4c540717ecf69be970fe5c18044b4312.
2017-04-18 16:58:10 -07:00
Ehsan Akhgari 1d318b601c Bug 1356836 - Reduce the hashtable lookup cost in principal serialization/deserialization; r=billm 2017-04-18 19:04:10 -04:00
Phil Ringnalda 3c97553fda Backed out 2 changesets (bug 1349699) for Win8 opt xpcshell crashes at mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop
Backed out changeset 5cc766c0864e (bug 1349699)
Backed out changeset 13f1d3918fe5 (bug 1349699)
2017-04-03 22:54:59 -07:00
Bill McCloskey 48196dd880 Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)
MozReview-Commit-ID: I7HyjVanlxJ
2017-04-03 21:54:49 -07:00
Bill McCloskey 754aae1913 Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-03 21:54:19 -07:00
Phil Ringnalda 884bc64271 Backed out 3 changesets (bug 1349699) for Android mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop crashes
Backed out changeset 8a50c2d76afc (bug 1349699)
Backed out changeset 3b9eadd61e26 (bug 1349699)
Backed out changeset 16e000b3fe0c (bug 1349699)
2017-04-03 21:07:49 -07:00
Bill McCloskey e83663c320 Bug 1349699 - Fix ASAN builds
MozReview-Commit-ID: 9tsL7nzjbpS
2017-04-03 20:08:02 -07:00
Bill McCloskey 4d6c01074f Bug 1349699 - Assert that the Chromium channel is closed when MessageLoop is destroyed (r=dvander)
MozReview-Commit-ID: I7HyjVanlxJ
2017-04-03 19:41:13 -07:00
Bill McCloskey c3bd8c6e5b Bug 1349699 - Assert when destroying a MessageLoop that a live MessageChannel is attached to (r=dvander)
MozReview-Commit-ID: GGr5UqJl3ui
2017-04-03 19:41:13 -07:00
David Anderson 0f3b97ed9c When using the GPU process, combine layer ownership and window mapping into a single IPC message. (bug 1350660 part 1, r=rhunt, r=billm) 2017-04-03 15:13:37 -07:00
Alessio Placitelli 013042b1a7 Bug 1352496 - Enable sending other child processes crash pings from the CrashManager. r=bsmedberg,ted
MozReview-Commit-ID: bG5iphe9Bc

--HG--
extra : rebase_source : 78867b4924984443debbe0dbb7938784c403fdb0
2017-04-03 14:43:47 +02:00
Aaron Klotz 3510b35c9c Bug 1348069: Add comInterfaceExternalProxyStub entries for IAccessible to 32-bit firefox and plugin-container manifests; r=jimm, gps
MozReview-Commit-ID: 6G3zm2jrrMx

This patch needs to use different manifests depending on whether we are building
32-bit or 64-bit Firefox. In order to distinguish between them, I am using
checking for HAVE_64BIT_BUILD in the resource file and embedding the manifests
there.

--HG--
rename : browser/app/firefox.exe.manifest => browser/app/firefox.exe.32.manifest
rename : browser/app/firefox.exe.manifest => browser/app/firefox.exe.64.manifest
rename : ipc/app/plugin-container.exe.manifest => ipc/app/plugin-container.exe.32.manifest
rename : ipc/app/plugin-container.exe.manifest => ipc/app/plugin-container.exe.64.manifest
extra : rebase_source : 2d937f47c7b79a4f29a2c2001dec5ed8f00e54bc
2017-03-29 12:30:37 -06:00
Andrea Marchesini aa6ba86865 Bug 1347817 - Principal must always have a valid origin - part 5 - fixing a comment in ContentPrincipalInfo, r=ehsan 2017-03-29 08:26:30 +02:00
Andrea Marchesini 3c0ea7282d Bug 1347817 - Principal must always have a valid origin - part 4 - origin passed as argument when a principal is created, r=bholley 2017-03-29 08:24:01 +02:00
Carsten "Tomcat" Book ec17d16219 Merge mozilla-central to mozilla-inbound 2017-06-01 13:56:11 +02:00
Gabriele Svelto 3148018ed7 Bug 1359326 - Run the minidump analyzer directly from the CrashService code; r=bsmedberg
This patch removes the C++ code used to run the minidump analyzer when a
content process crashes, and replaces it with JS code within the CrashService
object. This removes the need for a separate shutdown blocker in C++ code and
allows end-to-end testing of the crash service functionality. Additionally
the exception handler code can be simplified since it's now only used to run
the crash reporter client.

The test added to test_crash_service.js covers computing the minidump SHA256
hash (bug 1322611) and of the minidump analyzer itself (bug 1280477).

MozReview-Commit-ID: LO5w839NHev
2017-05-11 14:03:50 +02:00
Kan-Ru Chen 2813dde8a6 Bug 1368031 - Pass resolver function to Recv methods instead of a MozPromise r=billm
Added new typedef for the Resolve function. The Resolve function is a
std::function accepting corresponding parameters. When it's invoked it
will send the reply immediately. Users can still wrap it in a
MozPromise if they want promise chaining.

The original typedef of the Promise type is repurposed as the Send*
functions' return type.

MozReview-Commit-ID: JZ4IsgJ87M1
2017-06-01 15:57:21 +08:00
Kan-Ru Chen fc620b75af Bug 1368031 - Do not send reply if actor is dead r=billm
Actors with async returns methods will automatically implement
WeakPtr so we can check in the resolving function whether it's safe to
send messages.

MozReview-Commit-ID: IyDwIYSShlS
2017-06-01 15:57:20 +08:00
Andrea Marchesini b69ca32006 Bug 1359005 - Cleanup the use of PBlob in StructuredCloneHolder - part 1 - protocols, r=smaug 2017-05-23 07:49:40 +02:00