Commit Graph

532090 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
fc2b61e583 Merge mozilla-central to mozilla-inbound 2017-04-24 13:13:02 +02:00
Jan de Mooij
113e7692b5 Bug 1358047 - Move Baseline CacheIR code map from JitCompartment to JitZone. r=djvj 2017-04-24 12:41:04 +02:00
Paolo Amadini
2723e3cda4 Bug 1355585 - Streamline the format of "handlers.json", align the implementation, and reorganize tests. r=mak
This patch significantly improves the test coverage for both the JSON and RDF back-ends. There is a clearer separation between tests using predefined data and tests for the injection of default handlers. The predefined data includes more significant property combinations, and the JSON is now formatted. Helper functions are renamed for clarity.

Functions like "exists" that have different paths for MIME types and protocols are now tested with both, while behaviors that have a single path are now only tested with MIME types for efficiency.

The file format is redesigned to be more compact, and all the data is normalized when saving instead of when loading. Duplicates are now handled correctly when saving.

MozReview-Commit-ID: JI4I1M0N3lq

--HG--
extra : rebase_source : 06920d9be56830f81e3e01cbc97a02983f50c264
extra : source : 3c4b8028ac594ee24760feb96e93bfdab9704e98
2017-04-24 11:29:46 +01:00
Paolo Amadini
d457a3002d Bug 986975 - do_QueryInterface abuse in nsAndroidHandlerApp.cpp. r=mak
This change is tested in detail as part of bug 1355585.

MozReview-Commit-ID: 5z4evaUQDFI

--HG--
extra : rebase_source : 507fc823746667a27ff159d8347999eb2e007453
extra : source : 3e41ab5e66765a8955d77482d74c48db1255ee45
2017-04-24 11:29:35 +01:00
Carsten "Tomcat" Book
fbf32f4dad Backed out changeset 32ab1a3d736f (bug 1331742) for causing Bug 1358888 and help fixing a topcrash 2017-04-24 12:28:24 +02:00
Carsten "Tomcat" Book
4b8d8ef79f Backed out changeset c91b14d9ad2a (bug 1331742) 2017-04-24 12:27:55 +02:00
Carsten "Tomcat" Book
174c21f39f Backed out changeset 31f4919d1f6c (bug 1331742) 2017-04-24 12:27:51 +02:00
Carsten "Tomcat" Book
56de74382f Backed out changeset 753e71053540 (bug 1331742) 2017-04-24 12:27:49 +02:00
Carsten "Tomcat" Book
850b8f9b6d Backed out changeset 79579aab8851 (bug 1331742) 2017-04-24 12:27:45 +02:00
Andrea Marchesini
b48412eef0 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +02:00
Andrea Marchesini
45f5829cfd Bug 1358113 - Use IPCBlob in File.createFromNsIFile/createFromFileName, r=smaug 2017-04-24 12:16:50 +02:00
Andrea Marchesini
5046098373 Bug 1358114 - Use IPCBlob in BlobURL, r=smaug 2017-04-24 12:16:49 +02:00
Andrea Marchesini
7a681dccf6 Bug 1358111 - Use IPCBlob in Entries API - part 2 - Entries API, r=smaug 2017-04-24 12:16:49 +02:00
Andrea Marchesini
44a1314868 Bug 1358111 - Use IPCBlob in Entries API - part 1 - GetFilesHelper, r=smaug 2017-04-24 12:16:49 +02:00
Andrea Marchesini
25e4c65c6d Bug 1358109 - Use IPCBlob in PFilePicker, r=smaug 2017-04-24 12:16:49 +02:00
Andrea Marchesini
f8288de597 Bug 1353629 - PBlob refactoring - part 15 - FileMediaResource is used for in-process blobURL, r=jwwang 2017-04-24 12:09:41 +02:00
Andrea Marchesini
dca7c55a43 Bug 1353629 - PBlob refactoring - part 14 - tests, r=smaug
--HG--
rename : dom/base/test/browser_bug1307747.js => dom/file/ipc/tests/browser_ipcBlob.js
2017-04-24 12:09:41 +02:00
Andrea Marchesini
38a7f75f35 Bug 1353629 - PBlob refactoring - part 13 - IPCBlobInputStream should support remote nsIAsyncInputStream, r=smaug
If a child-to-parent IPCBlob is more than 1mb, we end up using a pipe stream.
If that ipcBlob is sent to a different process, we need to implement asyncWait
correctly: we need to call the remoteStream->AsyncWait().
2017-04-24 12:09:41 +02:00
Andrea Marchesini
70d3bbfdb9 Bug 1353629 - PBlob refactoring - part 12 - nsInputStreamPump should use BufferedStreams, r=smaug
nsInputStreamPump should use the stream as nsIAsyncInputStream if available.
In order to do so, we need to wrap a BufferedStream around it.

MediaResource cannot use a simple sync nsIInputStream when BlobURL are involved
in the content process.
2017-04-24 12:09:41 +02:00
Andrea Marchesini
f29b1f76a9 Bug 1353629 - PBlob refactoring - part 11 - Comments, r=smaug 2017-04-24 12:09:41 +02:00
Andrea Marchesini
188d63f58b Bug 1353629 - PBlob refactoring - part 10 - Make nsFileInputStream cloneable, r=smaug
This is important to avoid extra copy when IPCInputStreamStorage::GetStream()
returns a file inputStream
2017-04-24 12:09:41 +02:00
Andrea Marchesini
794d21eaaf Bug 1353629 - PBlob refactoring - part 9 - PBlob should use IPCStream in case it is dealing with an IPCBlobInputStream, r=smaug
This patch will go away when I'll finishing the removing of PBlob.  Currently,
when a PBlob is sent from child to parent, we use PMemoryStream in order to
recreate the inputStream on the parent side. PMemoryStream sends the data in
chunks.

But if PBlob is dealing with a IPCBlobInputStream, it doesn't have access to
the real data. In this case, we must send data using IPCStream. In this way,
Note that thisIPCBlobInputStream will send its ID, and the parent will take the
real inputStream from the IPCBlobInputStreamStorage.  Note that I check the
size to be 1mb instead 0. No particular reasons, but better to avoid the use of
PMemoryStream for nothing.
2017-04-24 12:09:40 +02:00
Andrea Marchesini
7bbba02e9a Bug 1353629 - PBlob refactoring - part 8 - FileReader should use nsIAsyncInputStream if available, r=smaug
Currently FileReader API uses a nsITransport. This is not needed if the
inputStream is a nsIAsyncInputStream already, and IPCBlobInputStream is always
a nsIAsyncInputStream.

Note that, we must create a bufferedStream in order to use ReadSegments in case
the remote inputStream, received by IPCBlobInputStream, is a FileInputStream.
This was not needed with nsITransport.
2017-04-24 12:09:40 +02:00
Andrea Marchesini
d6659b61c0 Bug 1353629 - PBlob refactoring - part 7 - IPCBlobInputStream must implement nsIAsyncInputStream, r=smaug
In order to retrieve data from an IPCBlobInputStream, it must be used as
nsIAsyncInputStream.
2017-04-24 12:09:40 +02: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
b90e19e9d1 Bug 1353629 - PBlob refactoring - part 5 - IPCBlobInputStreamStorage, r=smaug
An IPCBlobInputStream can be sent back to the parent process (not implemented
in this patch). When this is done, we basically send only the internal ID.
From this ID, we can retrieve the original inputStream because any
IPCBlobInputStreamParent actor has previously registered it into a singleton:
IPCBlobInputStreamStorage.

So, if we have a IPCBlobInputStreamParent, we have an inputStream, and this
inputStream is known by IPCBlobInputStreamStorage. This will be useful in the
next patches.
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
03ffca06a1 Bug 1353629 - PBlob refactoring - part 3 - IPCBlob in ClonedMessageData, r=smaug
This is the first use of IPCBlob: ClonedMessageData.
ClonedMessageData is used for BroadcastChannel, MessagePort and any
postMessage() communication. This patch changes StructuredCloneData in order to
use IPCBlob instead of PBlob.
BroadcastChannel has a custom way to manage Blobs because when the parent
receives them from a content process, it must send them to any other
BroadcastChild actor duplicating the serialization.
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
cf7edf5874 Bug 1353629 - PBlob refactoring - part 0 - IPCBlob, r=smaug
This first patch introduces the basic idea of the refactoring. Instead of
having a PBlob protocol, here we have a simple IPC struct: IPCBlob.
When a Blob is sent to a different process, we move an IPCBlob struct with
type, size, some specific File properties, and an inputStream as IPCStream.
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
Iris Hsiao
0adc572c43 merge mozilla-inbound to mozilla-central a=merge 2017-04-24 11:35:45 +08:00
Iris Hsiao
e4c286152b merge autoland to mozilla-central a=merge 2017-04-24 11:32:28 +08:00
Hiroyuki Ikezoe
f5f3c939eb Bug 1354998 - Update reftest expectations for contain property. r=me
It seems that these three test cases are affetced by scrollbar.

MozReview-Commit-ID: JnPw8EfEyVl
2017-04-24 07:05:53 +09:00
Hiroyuki Ikezoe
17de48f2d1 Bug 1067360 - Skip test-image-layers-multiple-displayitem.html on stylo too. r=jmaher
MozReview-Commit-ID: IkkDNeuksQo
2017-04-24 06:48:10 +09:00
Sebastian Hengst
02a48038d1 Backed out changeset 9c407d9e588b (bug 1356828) for failing xpcshell's test_shutdown.js. r=backout 2017-04-23 22:57:34 +02:00
ffxbld
313e5199bf No bug, Automated HPKP preload list update from host bld-linux64-spot-304 - a=hpkp-update 2017-04-23 07:58:17 -07:00
ffxbld
16b68f30f8 No bug, Automated HSTS preload list update from host bld-linux64-spot-304 - a=hsts-update 2017-04-23 07:58:14 -07:00
Sebastian Hengst
8f6b13e209 Backed out changeset 41d155de1019 (bug 1254355) on suspicion of breaking Android L10n nightlies. r=backout a=backout
MozReview-Commit-ID: 4VnZVlHUYUA
2017-04-23 10:41:09 +02:00
Sebastian Hengst
eaf61dee27 Backed out changeset 6a0e9a3f2673 (bug 1254355)
MozReview-Commit-ID: 4Xr3OibxQMU
2017-04-23 10:40:28 +02:00
Sebastian Hengst
244671826a Backed out changeset 5cc1ea46d811 (bug 1254355)
MozReview-Commit-ID: CgHTCsciaCL
2017-04-23 10:40:28 +02:00
Sebastian Hengst
72222922b8 Backed out changeset 33d4c8885613 (bug 1254355)
MozReview-Commit-ID: HleVV7ZhIuj
2017-04-23 10:40:27 +02:00
Daniel Holbert
7513e3217b Bug 1358200: Initialize member vars in nsRootBoxFrame init list. r=mats
MozReview-Commit-ID: HqKksokYNrD
2017-04-22 12:07:03 -07:00
Jan de Mooij
7e95b8fabe Bug 1358504 - Add a 1-entry cache to ObjectGroup::defaultNewGroup. r=bhackett 2017-04-22 13:51:57 +02:00
Sebastian Hengst
f225dbcb15 Backed out changeset ccf614bcd296 (bug 1357465) for breaking gecko decision tasks for nightly-code-coverage and nightly-mochitest-valgrind. r=backout a=backout
MozReview-Commit-ID: LpexSmhHEFh
2017-04-22 11:21:21 +02:00
Florian Queze
012fd2ffcb Bug 1358173 - Removing a non-existent panelUI notification shouldn't be expensive, r=Gijs. 2017-04-22 11:20:20 +02:00
Sebastian Hengst
473a1509ea merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 289I7nCINwK
2017-04-22 10:48:16 +02:00
Manish Goregaokar
419b142c52 Bug 1356275 - Decrease allowed write hazard threshhold; r=bholley
MozReview-Commit-ID: 9cGPj1Hahed
2017-04-21 18:27:47 -07:00