summaryrefslogtreecommitdiffstats
path: root/dom
Commit message (Collapse)AuthorAgeLines
* Fix canPlayType/isTypeSupported for AV1 contenttrav902018-10-20-33/+35
|
* Put AV1 codec behind a preftrav902018-10-20-3/+12
| | | | Disabled by default.
* Updates to AOMDecoder for aom v1.0.0trav902018-10-19-10/+3
| | | | This reflects the API changes to the aom_codec_decode function and the removal of I440. It also sets allow_lowbitdepth to give proper support for 8 bit video, and removes the git version from the mime type.
* Update aom to v1.0.0trav902018-10-19-1/+1
| | | | Update aom to commit id d14c5bb4f336ef1842046089849dee4a301fbbf0.
* Update aom to commit id e87fb2378f01103d5d6e477a4ef6892dc714e614trav902018-10-18-2/+2
|
* [aom] Don't resample 8-bit imagestrav902018-10-18-7/+16
| | | | | | The libaom av1 decoder will return 16 bit per channel aom_image_t structures with only 8 significant bits. Detect this case and use the mSkip fields of PlanarYCbCrImage to handle the extra data instead of allocating and performing an extra copy to obtain the necessary 8 bit representation.
* [aom] Resample high bit depth framestrav902018-10-18-1/+83
| | | | The libaom av1 decoder can return high bit depth frame data now. Handle those frames by downsampling them to 8 bits per channel so they can be passed to our normal playback pipeline.
* Update aom to commit id f5bdeac22930ff4c6b219be49c843db35970b918trav902018-10-18-1/+1
|
* Add missing includes to FFmpegLibWrappertrav902018-10-17-1/+3
|
* Fix typo (build bustage)trav902018-10-17-1/+1
|
* Update aom to slightly newer commit IDtrav902018-10-17-1/+1
|
* Add av1 to MediaSource.isTypeSupportedtrav902018-10-17-0/+24
| | | | | | When av1 video playback is enabled, declare it as supported in the webm container in MediaSource.IsTypeSupported. Also support special mime types of the form video/webm; codecs=vp9.experimental.<git-commit-id> so test sites can verify playback support of particular encodings while the av1 bitstream is under development.
* Remove aom_codec_stream_info_t sz field referencestrav902018-10-17-2/+0
| | | | Upstream has removed the requirement to set this when initializing the stream_info struct.
* Make AOMDecoder actually buildtrav902018-10-15-3/+3
|
* Add missing includes to WebMDemuxertrav902018-10-15-0/+4
|
* Recognize AV1 in WebMDemuxertrav902018-10-15-4/+25
| | | | Call AOMDecoder to handle AV1 video tracks from the WebM container. The new decoder is very similar to VPXDecoder so we can use parallel calls. This codec is still build-time conditional.
* Add AOMDecoder to AgnosticDecoderModuletrav902018-10-15-1/+14
|
* Add AOMDecodertrav902018-10-15-0/+314
| | | | Port the VPXDecoder interface to libaom which uses the same api with the names changed.
* [webm] Don't reject seeks with EOStrav902018-10-08-0/+4
| | | | The MediaDecoderStateMachine treat seek's EOS as fatal errors, so instead we always resolve the seek promise, and let the next GetSample return EOS.
* [webm] Treat demuxing errors differently than EOStrav902018-10-08-41/+75
| | | | Otherwise the WebM demuxer makes no difference between a genuine EOS and encountering an error.
* Call VPXDecoder libvpx wrappers for WebMtrav902018-10-08-13/+14
| | | | Use the new helper functions instead of calling libvpx directly. This simplifies adding other codecs in the future.
* Implement keyframe and framesize VPXDecoder helperstrav902018-10-08-10/+46
| | | | 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.
* Add Span support to MediaRawDatatrav902018-10-08-0/+3
|
* [vpx] Store VPXDecoder codec as an enumtrav902018-10-08-4/+5
| | | | Use the enum we already have here instead of converting to an int when we pass it around, giving us better type checking.
* [webm] Store LastSeenFrame dimensions as an nsIntSizetrav902018-10-08-8/+6
| | | | This simplifies the comparison and update logic.
* Make all arguments to init*Event() optional except the firstwolfbeast2018-10-04-169/+175
| | | | This resolves #810.
* [ffmpeg] Always allocate memory to pass extradatatrav902018-10-01-3/+15
| | | | Despite wording of the documentation to the contrary, we can't provide a static pointer to an immutable object.
* [ffvpx] Update ffvp9/ffvp8 to release 4.0.2trav902018-10-01-1/+1
|
* Revert "Update ffvpx code to 4.0.2"Moonchild2018-10-01-1/+1
|
* Merge pull request #801 from trav90/update-from-upstreamMoonchild2018-10-01-1/+1
|\ | | | | Update ffvpx code to 4.0.2
| * [ffvpx] Update ffvp9/ffvp8 to release 4.0.2trav902018-09-30-1/+1
| |
* | Remove telemetry reporting functions from CubebUtilswolfbeast2018-10-01-40/+0
|/ | | | Tag #21.
* Clean up a number of unused variables.wolfbeast2018-09-29-12/+0
| | | | Tag #21.
* Update test files for libnestegg updatetrav902018-09-29-3/+5
|
* Remove IndexedDB for content pref.wolfbeast2018-09-29-30/+0
| | | | Tag Issue #765
* backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across ↵Gaming4JC2018-09-25-1/+1
| | | | | | | | | | | | | | | origins Potential attack: session supercookie. [Moz Notes](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c5): "The problem is that for unknown header names we store the first one we see and then later we case-insensitively match against that name *globally*. That means you can track if a user agent has already seen a certain header name used (by using a different casing and observing whether it gets normalized). This would allow you to see if a user has used a sensitive service that uses custom header names, or allows you to track a user across sites, by teaching the browser about a certain header case once and then observing if different casings get normalized to that. What we should do instead is only store the casing for a header name for each header list and not globally. That way it only leaks where it's expected (and necessary) to leak." [Moz fix note](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c8): "nsHttpAtom now holds the old nsHttpAtom and a string that is case sensitive (only for not standard headers). So nsHttpAtom holds a pointer to a header name. (header names are store on a static structure). This is how it used to be. I left that part the same but added a nsCString which holds a string that was used to resoled the header name. So when we parse headers we call ResolveHeader with a char*. If it is a new header name the char* will be stored in a HttpHeapAtom, nsHttpAtom::_val will point to HttpHeapAtom::value and the same strings will be stored in mLocalCaseSensitiveHeader. For the first resolve request they will be the same but for the following maybe not. At the end this nsHttpAtom will be stored in nsHttpHeaderArray. For all operation we will used the old char* except when we are returning it to a script using VisitHeaders."
* Send worker-runnables destined for the main thread actually to the main thread.wolfbeast2018-09-16-9/+18
| | | | | | A case of "one queue too many" here. Instead of worker runnables being sent to the main thread where they are supposed to run, they are put in a task queue per-worker. This is devastating for performance if many workers are running.
* Stop using the worker MainThreadTaskQueue from dom/fetch.wolfbeast2018-09-16-9/+3
|
* Stop using the MainThreadTaskQueue from service workers.wolfbeast2018-09-16-36/+23
|
* Fix wrong SVG sizes with non-integer values for viewBox width/height.wolfbeast2018-09-14-0/+175
| | | | Includes a standalone reftest.
* Fix clang build bustage.wolfbeast2018-09-12-1/+1
| | | | Follow-up to 9830cd079d8306abc223461190553af64b6fd0ca
* Bug 1466991 - Part 2: Reparent nodes when they start being in the XBL scope.wolfbeast2018-09-11-0/+49
|
* Bug 1466991 - Part 1: Factor out ShouldUseXBLScope.wolfbeast2018-09-11-1/+17
|
* Bug 1472925 - Keep a strong reference to MediaStreamGraph from GraphDriver.wolfbeast2018-09-11-8/+9
|
* Fix build bustage in cbfef7fcdb853916ff04015f6ee2d4b86f424a08wolfbeast2018-09-11-2/+4
| | | | | - imageDetails.format() needs a cast to SurfaceFormat - style nit: wrap long lines.
* Release mapped surface memory on size check failure to plug a leak.wolfbeast2018-09-11-0/+2
|
* Move surface data checking to a separate function to make it less "totally nuts"wolfbeast2018-09-11-12/+47
|
* RTCCertificate.cpp: output truncated before the last format charactertrav902018-09-07-1/+1
| | | | Fixes compiler warnings when building with GCC 7+
* Bug 1357432 (#750)Moonchild2018-09-05-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite) `IsLocalRefURL` is originally designed to be used by URLValue only. Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function. * Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)" This reverts commit 19f010c62022e269f99066a8d90e3522fe31adaf. * Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function. `IsLocalRefURL` is originally designed to be used by URLValue only. Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function. This is a duplication because CSSValue uses stringbuffers and not nsStrings. While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function. * Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic. ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions. Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects. * Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef. * Part 4. Reftest for using local-ref as xlink:href value.
* Remove all C++ telemetry autotimerswolfbeast2018-09-04-43/+18
|