Commit Graph

4162 Commits

Author SHA1 Message Date
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
Bob Owen
e6bdfd5594 Bug 1339105 Part 3: Move NPAPI windows process sandbox file rules into SandboxBroker. r=jimm
This also removes a rule that was added for sandboxing the Java plugin,
which we never did and we now only allow Flash anyway.

MozReview-Commit-ID: Jn6pCkLoGNM

--HG--
extra : source : 431267ab28deabef6ed7c791d8dff79e3fe590c1
2017-05-22 20:41:28 +01:00
Bob Owen
035cf9bdc2 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe

--HG--
extra : source : c3fb60fbc32660719c1b8b06dc785abd4559d6c0
2017-05-22 20:41:27 +01:00
Wes Kocher
848c9aa744 Backed out 3 changesets (bug 1339105) for plugin process leaks a=backout
Backed out changeset 431267ab28de (bug 1339105)
Backed out changeset 445875fbf13b (bug 1339105)
Backed out changeset c3fb60fbc326 (bug 1339105)

MozReview-Commit-ID: 4HYUQbHHnox
2017-05-22 15:14:23 -07:00
Bob Owen
16a4871cdf Bug 1339105 Part 3: Move NPAPI windows process sandbox file rules into SandboxBroker. r=jimm
This also removes a rule that was added for sandboxing the Java plugin,
which we never did and we now only allow Flash anyway.
2017-05-22 20:41:28 +01:00
Bob Owen
edf3a239b1 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe
2017-05-22 20:41:27 +01:00
Sebastian Hengst
89e33081c6 Backed out changeset 50bf4c923818 (bug 1339105) for Windows bustage: calling protected constructor of class 'nsAString' at sandboxBroker.cpp(208,11). r=backout on a CLOSED TREE 2017-05-22 16:16:16 +02:00
Sebastian Hengst
2a69fd246c Backed out changeset 367734cc9370 (bug 1339105) 2017-05-22 16:14:27 +02:00
Bob Owen
62c455086d Bug 1339105 Part 3: Move NPAPI windows process sandbox file rules into SandboxBroker. r=jimm
This also removes a rule that was added for sandboxing the Java plugin,
which we never did and we now only allow Flash anyway.
2017-05-22 14:29:06 +01:00
Bob Owen
f24abd4ac3 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe
2017-05-22 14:29:06 +01:00
Sebastian Hengst
f61a4826a3 Backed out changeset 059bcee1ccda (bug 1347817) 2017-03-29 11:17:13 +02:00
Sebastian Hengst
a36b078649 Backed out changeset 054a0ab80767 (bug 1347817) 2017-03-29 11:17:09 +02:00
Andrea Marchesini
d99a7dac26 Bug 1340921 - Introduce PMemoryStream for having PBlob and Multi-e10s happy - part 2 - PMemoryStream actor, r=mrbkap 2017-03-29 10:40:38 +02:00
Andrea Marchesini
147ce1cc68 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
0c636438cd 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
Jonathan Watt
727b9c5fde Bug 1350641 - Fix MessageChannel::ShouldContinueFromTimeout to check MOZ_DEBUG_CHILD_PAUSE. r=jimm
MozReview-Commit-ID: IKqzrzoaOa9
2017-03-09 09:37:10 +00:00
Andrew McCreight
d18859f043 Bug 1350688 - Use a thread safe way to get the CPU count in the SpinEvent ctor. r=aklotz
Initializing nsSystemInfo can't be done off the main thread on
Windows, and we can't guarantee that it has been initialized before
calling this code.

MozReview-Commit-ID: DRNCrakNMmH

--HG--
extra : rebase_source : b711f37b169f3c93a39fc2af56a9c76c656a9c38
2017-03-26 06:56:01 -07:00
Kan-Ru Chen
8ba424eabb Bug 1194751 - Part 6. Use mozilla::widget::ScreenManager in content process. r=mconley
This is the most important part of the patch series. It removes the
PScreenManager protocol and use ScreenManager directly in the content
processes.

Initial and subsequent updates are sent via PContent::RefreshScreens.
struct ScreenDetails are kept to serialize Screen over IPC.

nsIScreenManager::ScreenForNativeWidget is removed because
nsIWidget::GetWidgetScreen can replace it. nsIScreen::GetId is removed
because it's not useful for the more general Screen class.

MozReview-Commit-ID: 5dJO3isgBuQ

--HG--
extra : rebase_source : 06aa4e4fd56e2b2af1e7483aee7c0cc7f35bdb97
2017-03-09 19:30:26 +08:00
Thinker K.F. Li
94cf2fab3d Bug 1323076 - Part 3: IPC with flag checking for TaskTracer. r=mstange 2017-03-22 21:46:00 +01:00
Chris Pearce
78f1197a59 Bug 1315850 - Add LaunchGMPForNodeId to allowed sync IPCs. r=kanru
This merges two existing off-main-thread sync IPCs into a single operation.  We
will change them into a single async operation in a follow up.

MozReview-Commit-ID: EfMozbRysGR

--HG--
extra : rebase_source : c7f5c395a719b9f3f13d398f8ca976b09f25ce49
2017-03-13 11:46:28 +13:00
Phil Ringnalda
f3c903b82e Backed out changeset f9ca413eb209 (bug 1348069) for Windows a11y assertions/crashes
CLOSED TREE
2017-03-23 18:46:31 -07:00
Wes Kocher
1d9dc01136 Merge m-c to inbound, a=merge
MozReview-Commit-ID: HwfVdTF9Np5
2017-03-23 16:55:48 -07:00
Andrew McCreight
8153ed878d Bug 1348838 - Pass in errfnSentinel in verify checkedRead. r=kanru
MozReview-Commit-ID: A40h9VEakBM

--HG--
extra : rebase_source : da708cb63228fa663a7ee472e821fb6b9798cb88
2017-03-20 09:55:52 -07:00
Aaron Klotz
fb38edbece Bug 1348069: Add comInterfaceExternalProxyStub entries for IAccessible to firefox and plugin-container manifests; r=jimm
MozReview-Commit-ID: 1X2kUghWP6Y

--HG--
extra : rebase_source : 963c15e702de4556ce6faccbb295403b32eb9a24
2017-03-16 15:02:35 -06:00
Carsten "Tomcat" Book
492970c342 merge mozilla-inbound to mozilla-central a=merge 2017-03-23 13:44:09 +01:00
Carsten "Tomcat" Book
9b6d088496 merge autoland to mozilla-central a=merge
--HG--
rename : browser/components/preferences/in-content/tests/browser_advanced_siteData.js => browser/components/preferences/in-content-old/tests/browser_advanced_siteData.js
rename : dom/media/mediasink/DecodedAudioDataSink.cpp => dom/media/mediasink/AudioSink.cpp
2017-03-23 13:42:40 +01:00
Carsten "Tomcat" Book
534f3aebc6 Merge mozilla-central to mozilla-inbound 2017-03-22 16:13:03 +01:00
Andrea Marchesini
507c00cb9f Bug 1343933 - Renaming Principal classes - part 4 - ContentPrincipal, r=qdot
--HG--
rename : caps/nsPrincipal.cpp => caps/ContentPrincipal.cpp
rename : caps/nsPrincipal.h => caps/ContentPrincipal.h
2017-03-22 11:39:31 +01:00
Andrea Marchesini
1fd1bc3935 Bug 1343933 - Renaming Principal classes - part 2 - NullPrincipal, r=qdot
--HG--
rename : caps/nsNullPrincipal.cpp => caps/NullPrincipal.cpp
rename : caps/nsNullPrincipal.h => caps/NullPrincipal.h
rename : caps/nsNullPrincipalURI.cpp => caps/NullPrincipalURI.cpp
rename : caps/nsNullPrincipalURI.h => caps/NullPrincipalURI.h
2017-03-22 11:38:40 +01:00
Andrea Marchesini
68207654f2 Bug 1343933 - Renaming Principal classes - part 1 - ExpandedPrincipal, r=qdot
--HG--
rename : caps/nsExpandedPrincipal.cpp => caps/ExpandedPrincipal.cpp
rename : caps/nsExpandedPrincipal.h => caps/ExpandedPrincipal.h
2017-03-22 11:38:17 +01:00
Eric Rahm
3693cc51e3 Bug 1349350 - Make IPDL checker sync IPC message errors fatal. r=ehsan
The IPDL sync IPC message error checker needs to actually return a result and
exit if it fails.

MozReview-Commit-ID: 1ZAuAWRlsvk
2017-03-22 15:01:50 -07:00
Eric Rahm
1ad9009da0 Bug 1347000 - Fix false-positive sync message not found errors on windows builds. r=billm
MozReview-Commit-ID: 6ZLCJKotqEE
2017-03-22 15:01:49 -07:00
Michael Layzell
b6012319a5 Bug 1337056 - Part 10: Remove ReadPermissions from the sync-messages list, r=billm
MozReview-Commit-ID: 8Ki4KEHKnQm
2017-03-21 11:08:03 -04:00
Ehsan Akhgari
566751834a Bug 1346583 - Remove the PContent::Msg_OpenAnonymousTemporaryFile sync IPC; r=billm 2017-03-21 09:27:48 -04:00
Andrea Marchesini
2e9d67bae0 Bug 1347557 - Move 2 static methods about the IPC serialization of streams into an helper class, r=qdot 2017-03-21 07:47:25 +01:00
Wes Kocher
4f5262444c Merge inbound to central, a=merge
MozReview-Commit-ID: 2omKclRg40c
2017-03-20 18:19:52 -07:00
Kearwood Gilbert
4e410934af Bug 1346923 - Remove PVRManager::GetDisplays sync IPC r=daoshengmu,kanru
- PVRManager::GetDisplays was a sync IPC that was part of an optimization
  for a use case that has been eliminated by changes to the WebVR spec.
- This was an optimization for Navigator.activeVRDisplays that would allow
  enumeration of displays active in any content process without powering
  on any additional VR hardware.  This will no longer be necessary as the
  activeVRDisplays has been restricted to returning only the displays
  active in the current javascript context.

MozReview-Commit-ID: F6sOtM9nups

--HG--
extra : rebase_source : bd8967fab9677206d998eea922c8d1640551de1c
2017-03-15 16:40:57 -07:00
Andrea Marchesini
50f7937e84 Bug 1340163 - Introducing originNoSuffix as attribute in ContentPrincipalInfo, r=smaug 2017-03-20 16:03:45 +01:00
Sebastian Hengst
a472d9b04f Backed out changeset 54a1f0cb64d9 (bug 1340163) for crashing e.g. in browser/components/originattributes/test/browser/browser_cacheAPI.js. r=backout 2017-03-20 15:38:19 +01:00
Andrea Marchesini
38c6ab4035 Bug 1340163 - Introducing originNoSuffix as attribute in ContentPrincipalInfo, r=smaug 2017-03-20 14:51:54 +01:00
Andrew McCreight
042b6e5ca4 Bug 1347527, part 2 - Fix incorrect protocol name. r=kanru
This was causing the wrong error.

MozReview-Commit-ID: GQmuOOH55Ta

--HG--
extra : rebase_source : 1689af838857a9f08571fe3fc0a43c822abf242c
2017-03-15 06:24:53 -07:00
Andrew McCreight
04d2052106 Bug 1347527, part 1 - "can't use compression" IPDL error message doesn't have a closing paren. r=kanru
MozReview-Commit-ID: CONYxlOB2sP

--HG--
extra : rebase_source : 3c0784e9fd25c9bf2a67ec6fca9cb6d61730a9b9
2017-03-15 06:03:56 -07:00
Andrea Marchesini
a628be7b36 Bug 1344415 - Introduce a security check about which files can be opened by a content process, r=ehsan
Entries API gives access to the filesystem. With this patch we allow that only
to patches, previously shared by a FilePicker or a DataTransfer event.
2017-03-16 08:53:49 +01:00
Wes Kocher
9a54a919a0 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2LT2oEKZno8
2017-03-21 16:20:49 -07:00
Kearwood Gilbert
b38d859652 Bug 1346926 - Make PVRManager::SetHaveEventListener async r=kanru
- There appears to be no issues with simply changing
  SetHaveEventListener from sync to async.

MozReview-Commit-ID: 3LKgDx9AZnm

--HG--
extra : rebase_source : 6c706f592f71a8c967a58f6906861fcff2525ebf
2017-03-21 13:21:17 -07:00
Andrew McCreight
d64b9bd504 Bug 1319620 - Check that IPDL unit tests in error/ fail for the right reason. r=billm
An IPDL unit test that is intended to fail should check that the
reason the test fails matches the expected reason for failure. We have
had a number of cases where some change, like renaming a keyword,
causes tests to start failing for the wrong reason, which means they
are no longer testing anything useful.

To support this, each file in error/ must contain one or more error
annotations. An error annotation is a line starting with "//error:",
followed by whatever the rest of the expected error is. For every one
of these annotations that a file has, the stderr output of compiling
the test must contain the specified string, including the "error:". It
is also an error for an error/ file to not contain an error
annotation.

To generate the initial set of annotations, I just copied and pasted
the error that each test produced. I did some light auditing to check
that the errors are reasonable, which did turn up one minor error
which I fixed as part of bug 1347527.

This patch does not check that every error produced by compiling the
file is in the list of expected errors. I think that's less of a
problem if it does occur.

MozReview-Commit-ID: BrePLGPPRil

--HG--
extra : rebase_source : 0ddb2f866c4b4ab74b7e975ce5877568c8cc3b62
2017-03-15 10:43:51 -07:00
Aaron Klotz
45cba5a03b Bug 1325834: Make mscom::ProxyStream use CreateStreamOnHGlobal instead of SHCreateMemStream on Windows 7; r=jimm
MozReview-Commit-ID: FAlPgS6iJL
2017-03-14 18:42:24 -06:00
Wes Kocher
a7c590aa9c Merge inbound to central, a=merge
MozReview-Commit-ID: KWDF34vWlBx
2017-03-14 17:18:59 -07:00
Aaron Klotz
518de5dc75 Bug 1346910: Ensure that the interface output by IServiceProvider::QueryService is correctly wrapped by the mscom interceptor; r=jimm
MozReview-Commit-ID: 40fF7cS0Mpx

--HG--
extra : rebase_source : 79573a2b845c65164dac35a5ad2b99fe7af13ac7
2017-03-14 11:04:46 -06:00
Carsten "Tomcat" Book
fb74131fe7 Merge mozilla-central to mozilla-inbound 2017-03-14 14:26:07 +01:00
Carsten "Tomcat" Book
dba578960e merge mozilla-inbound to mozilla-central a=merge 2017-03-14 14:23:03 +01:00