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

62261 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez de9ddcaddd Bug 1355351: Add a node property to access the ::before and ::after pseudo-elements. r=heycam
MozReview-Commit-ID: FJxJp2U0Lxh

--HG--
extra : rebase_source : 062f952aafcda95ca3b0eba69389999c20cb4458
2017-04-16 17:29:49 +02:00
Sebastian Hengst 7349ffcf3d Backed out changeset 555b0322f776 (bug 1358662) for failing mda, crashtests and reftests. r=backout
Android 4.3: mda: test_EndedEvent.html, test_FrameSelection.html
OS X 10.10 debug: mda: test_BufferingWait.html

Linux x64 asan&pgo:
crashtest: video-replay-after-audio-end.html
reftest: bug686957.html
2017-04-25 22:36:21 +02:00
Sebastian Hengst 388d65b332 Backed out changeset 20e051241152 (bug 1358662) 2017-04-25 22:36:21 +02:00
Sebastian Hengst 7b18dee274 Backed out changeset a3284ad8a14c (bug 1358662) 2017-04-25 22:36:21 +02:00
Sebastian Hengst 22303ff8eb Backed out changeset 5da7e883ba70 (bug 1358662) 2017-04-25 22:36:20 +02:00
Sebastian Hengst 303542221f Backed out changeset 377615a0cf70 (bug 1358662) 2017-04-25 22:36:20 +02:00
Ralph Giles 9960954550 Bug 1358662 - Call VPXDecoder libvpx wrappers for WebM. r=jya
Use the new helper functions instead of calling libvpx directly.
This simplifies adding other codecs in the future.

MozReview-Commit-ID: 8VX0d5S50EE

--HG--
extra : rebase_source : c870b32bac6b924188dd722c052fb88156ad96c8
2017-04-24 15:08:50 -07:00
Ralph Giles 20c544fb86 Bug 1358662 - Implement keyframe and framesize VPXDecoder helpers. r=jya
Encapsulate code from WebMDemuxer to query keyframe and frame
resolution inside VPXDecoder, so we have a clean wrapper for
all the libvpx functions we use.

MozReview-Commit-ID: ASRRhNl0A41

--HG--
extra : rebase_source : a1421462f6fc66a2abd965782ec408a8bcf7fe1f
2017-04-24 15:05:01 -07:00
Ralph Giles ebeeb5aa45 Bug 1358662 - Add Span support to MediaRawData. r=jya
MozReview-Commit-ID: A3bHPlk0MQi

--HG--
extra : rebase_source : 7d6de44693c3de089800ecfd4ab6c00570311d30
2017-04-21 16:12:55 -07:00
Ralph Giles 83de6e82b7 Bug 1358662 - Store VPXDecoder codec as an enum. r=jya
Use the enum we already have here instead of converting
to an int when we pass it around, giving us better
type checking.

MozReview-Commit-ID: Gj4xmtQnzw2

--HG--
extra : rebase_source : 95f582e655f1a942dfb68cbba588c44afbb8a38f
2017-04-24 15:02:54 -07:00
Ralph Giles afff134a91 Bug 1358662 - Store LastSeenFrame dimensions as an nsIntSize. r=jya
This simplifies the comparison and update logic.

MozReview-Commit-ID: A6YII8tlEUn

--HG--
extra : rebase_source : ddf4304298209e515eb44962e8bc9ccd38c9956f
2017-04-21 18:05:46 -07:00
Zibi Braniecki 7ff88a7209 Bug 1348042 - Refactor LocaleService to operate in server-client mode. r=Ehsan,qdot
LocaleService serves two main functions. It is a central place for all code in the
engine to learn about locales, but it also does the language negotiation and selection.

The former is relevant in all processes, but the latter should only be performed
by the "main" process. In case of current Desktop Firefox, the parent process
is the one performing all the language negotiation, and content processes should
operate in the "client" mode.
In Fennec, there's a Java app on top of Gecko which should work as a "server"
and then all processes, including parent process of Gecko is merely a "client" for that.

This refactor finalizes this duality making it easily configurable to define in
which mode a given LocaleService operates.

The server-client model allows all clients to stay in sync with the server,
but operate transparently for all callers just returning the right values.

In order to initialize LocaleService in the client mode in child process with the
right locales I'm adding the list of app locales to the XPCOMInitData,
and then fire LocaleService::SetAppLocales in the child process initialization.

In order to keep the list up to date, I'm adding intl:app-locales-changed to
the list of observed topics, and when triggered, I send the updated list
to the child process, which updates LocaleService::SetAppLocales with the new
list.

MozReview-Commit-ID: K9X6berF3IO

--HG--
extra : rebase_source : ca5e502d064023fddfd63fe6fe5eccefce8dee52
2017-03-26 07:09:45 +02:00
Aryeh Gregor 1d730f1c5d Bug 1359371 - Update Selection.webidl to match spec r=smaug
Practical changes:

1) Some additional method arguments are nullable or optional, which
matches Chrome/WebKit.  They make more sense non-nullable and
non-optional, but Chrome is afraid of the compat impact of changing.

2) Added [CEReactions] to deleteFromDocument().

MozReview-Commit-ID: Kg9EDubnEui

--HG--
extra : rebase_source : 1d47ee0b12b0b719159c326f789dd6e6b6000c8e
2017-04-25 14:55:31 +03:00
Emilio Cobos Álvarez d2f3dc13ec Bug 1357142: Kill PresShell::RecreateFramesFor. r=bz
It's not only inefficient, but also prone to buggyness. Since styles may not be
up-to-date when it happens.

Post a reconstruct instead, which ensures a style flush happens before running
frame construction.

MozReview-Commit-ID: DrakHsJv5fY
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 11900af908654336cc2391ab9480542c5474e38f
2017-04-17 18:01:37 +02:00
Jan-Ivar Bruaroey aa0a07c837 Bug 1354642 - Add MakeRefPtr<> helper class. r=Ehsan
MozReview-Commit-ID: es34uMTZ00

--HG--
extra : rebase_source : 8738a70a47cceece1b56b66f741e29275c066d92
2017-04-07 15:08:42 -04:00
Aryeh Gregor af57d2df0f Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2

--HG--
extra : rebase_source : 199ab921acfc531b8b85e77f90fcd799b03c887b
2017-04-20 15:45:37 +03:00
Carsten "Tomcat" Book e7e00b58d2 Merge mozilla-central to autoland 2017-04-25 11:53:39 +02:00
Carsten "Tomcat" Book 9155c12847 merge autoland to mozilla-central a=merge 2017-04-25 11:23:43 +02:00
Munro Mengjue Chiang 699799aeb9 Bug 1358030 - add mochitest for webrtc android remote h/w encoder. r=jib
MozReview-Commit-ID: JCtWTNg89io

--HG--
extra : rebase_source : 8cd05b1b1fa270bf0fb9dbee9b899ee24d4b0d69
2017-04-20 14:54:55 +08:00
Iris Hsiao 3b17383f8d Merge mozilla-central to autoland 2017-04-25 11:28:40 +08:00
Iris Hsiao 1548482ea5 merge mozilla-inbound to mozilla-central a=merge 2017-04-25 11:21:30 +08:00
Wes Kocher 0c551a1721 Merge inbound to central, a=merge
MozReview-Commit-ID: 2tbIf1rfy0p
2017-04-24 15:53:30 -07:00
Sebastian Hengst 38b7615ab3 Backed out changeset df17c800d8f2 (bug 1358876) for crash test bustage. r=backout
"AndroidVersion is not defined"
2017-04-24 17:35:37 +02:00
Bob Clary 33ee94b632 Bug 1358876 - Autophone - disable perma orange tests on Android 5.1, r=jmaher. 2017-04-24 08:02:59 -07:00
Carsten "Tomcat" Book 8e84189916 Merge mozilla-central to mozilla-inbound 2017-04-24 16:07:21 +02:00
Sebastian Hengst 9a4acf2991 Backed out changeset dec83a85f824 (bug 1358109) for failing mochitest dom/indexedDB/test/test_blob_worker_xhr_read_slice.html. r=backout 2017-04-24 15:44:10 +02:00
Sebastian Hengst 64781f7444 Backed out changeset 50518d6aa0fc (bug 1358111) 2017-04-24 15:43:14 +02:00
Sebastian Hengst 894a9bd892 Backed out changeset 73f62ae76c08 (bug 1358111) 2017-04-24 15:43:10 +02:00
Sebastian Hengst d3da87ad97 Backed out changeset a180e3f4de16 (bug 1358114) 2017-04-24 15:43:05 +02:00
Sebastian Hengst 97cb53bd66 Backed out changeset 2577afd226ff (bug 1358113) 2017-04-24 15:43:00 +02:00
Shawn Huang 0a2239bee6 Bug 1358767 - Make PersistentStoragePermissionRequest a cycle collected object in StorageManager, r=janv,bevistseng 2017-04-24 21:41:01 +08:00
Sebastian Hengst d4b4629dd4 Backed out changeset a10d45c7d6de (bug 1358115) for failing mochitest test_blob_worker_xhr_read_slice.html. r=backout 2017-04-24 14:06:29 +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 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