Commit graph

1,328 commits

Author SHA1 Message Date
wolfbeast
a7680e43ed Revert "Increase purple limit triggers for CC."
This reverts commit babedf6c696f88734e59b63d0c6614962cc57519.
2019-02-16 00:28:13 +08:00
wolfbeast
183aae036f Get RefPtr to transaction before using it. (DiD)
Avoid potential use-after-free by getting a RefPtr to a transaction
before calling content code that could cause its de-allocation.
2019-02-16 00:28:07 +08:00
Andrew McCreight
7b5e5f85de Increase slice time for longer running CCs.
If a CC takes too long (around 50 slices) or gets interrupted by a GC,
we have to finish it synchronously, which can cause a big pause.
This patch tries to avoid that by eagerly increasing the slice budget
the longer a CC goes on. It linearly increases the slice time from 5ms
to 40ms as we approach the halfway point of a CC (1 second), matching
GC pauses, and then leaves it at 40ms.
2019-02-16 00:27:52 +08:00
wolfbeast
6cba36850f Increase purple limit triggers for CC.
Making these much larger to allow more purple buffer buildup
and prevent overzealous cycle collection on purple buffer pressure.
2019-02-16 00:27:50 +08:00
wolfbeast
39d5eb7759 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-02-16 00:27:49 +08:00
wolfbeast
e015efb999 Consolidate tracing and traversing. 2019-02-16 00:27:47 +08:00
wolfbeast
3cc2485e42 Properly camelCase dom.intersectionObserver.enabled pref. 2019-02-16 00:24:32 +08:00
wolfbeast
7798af3c14 Actually unlink targets from registered intersection observers.
When a node is released/removed, and it has an intersection observer
attached to it, that observer should be unlinked at the time of release.

This resolves #935.
2019-02-16 00:24:29 +08:00
wolfbeast
dc2cf8544d Rewrite IntersectionObserver list handling to be more robust.
Tag #935.
2019-02-16 00:24:21 +08:00
wolfbeast
9222116f26 Add isIntersecting property to IntersectionObserverEntry.
Per updated spec.

This resolves the issue raised in #249.
2019-02-16 00:24:20 +08:00
adeshkp
4c3713155e Remove unused telemetry timer from HTMLMediaElement.h 2019-02-16 00:24:06 +08:00
adeshkp
aea50f182f Telemetry: Remove stubs and related code 2019-02-16 00:24:04 +08:00
wolfbeast
14ea8bb121 Align Element.ScrollIntoView() with the spec.
This also removes the (unused) shadow alias from nsIDOMHTMLElement
which used the different calling convention.

This resolves #927
2019-02-16 00:24:00 +08:00
wolfbeast
a0d362b6e3 Remove proprietary constructor on AudioContext.
This is a B2G leftover, was proprietary, and is causing issues
because `AudioContext` can now have a parameter that is a property bag,
per spec (we do not do anything with the property bag now; the audio
back-end will use automatic values for everything).

This resolves #924.
2019-02-16 00:23:54 +08:00
trav90
e831ce0f5b Avoid redefined macro warning in MediaFormatReader 2019-02-16 00:23:14 +08:00
trav90
74ccd45360 [FFmpeg] Don't define AV_CODEC_ID_VPx with libavcodec 58 2019-02-16 00:23:11 +08:00
trav90
5949fc61dc [FFmpeg] Use new decode API with recent FFmpeg version.
In libavcodec 58 and later, the old avcodec_decode_video2 is broken and only return the first visible frame found after a VP9 super-frame.
2019-02-16 00:23:10 +08:00
wolfbeast
304984a6aa Fix crashiness of IntersectionObservers.
Mozilla hashtables -still- suck.
2019-02-16 00:23:05 +08:00
wolfbeast
d76f949502 [intersection-observer] Calculate areas using int64_t.
Tag #249
2019-02-16 00:23:00 +08:00
wolfbeast
f82da789c8 Fix singed/unsigned type confusion for intersection threshold.
Tag #249
2019-02-16 00:22:59 +08:00
wolfbeast
d3a8693d52 Use content area as the intersection rectangle ...
... for custom root with overflow clip.
Tag #249
2019-02-16 00:22:57 +08:00
wolfbeast
475d865c14 Map intersectionRect to the coordinate space of the target document.
Spec says: "Map intersectionRect to the coordinate space of the
viewport of the Document containing the target."
Tag #249
2019-02-16 00:22:56 +08:00
wolfbeast
52f04699c0 Use targetFrame->GetRectRelativeToSelf() as the initial intersection rect.
Tag #249.
2019-02-16 00:22:54 +08:00
wolfbeast
47f52cee1f Intersection ratio should be 1.0 for zero-area intersections.
Tag #249
2019-02-16 00:22:53 +08:00
wolfbeast
42d9f2ffb3 Revise lifetime management of IntersectionObservers.
Tag #249
2019-02-16 00:22:51 +08:00
trav90
129388e5e0 Remove AndroidMediaDecoder and friends
They are no longer supported and don't work with newer Android versions anyway.
2019-02-16 00:22:37 +08:00
wolfbeast
4aacec4782 Issue #910 part 3. Throw SyntaxError from Location::SetProtocol on URI parse failures. 2019-02-16 00:22:31 +08:00
wolfbeast
a6eab2d84e Issue #910 part 2. Strip ':' and anything following it from the string passed to the location.protocol setter. 2019-02-16 00:22:29 +08:00
wolfbeast
32eb361301 Issue #910 part 1. Don't navigate when location.protocol is set to anything other than http or https. 2019-02-16 00:22:28 +08:00
wolfbeast
a3386fbe38 Make HTMLOptionsCollection::mSelect into a strong reference.
The cycle collector makes weak references like this obsolete.
2019-02-16 00:22:20 +08:00
wolfbeast
27d88fc505 Do not report resource-timing subdocument loads triggered by that subdocument. 2019-02-16 00:22:18 +08:00
wolfbeast
391e7d295f Clear CanvasShutdownObserver::mCanvas when the canvas goes away.
This is fallout from Bug 1167235 - Use a fast method of double buffering for canvas.

It is possible for the CanvasRenderingContext2D to be destroyed while we're in the
middle of the call to nsObserverService::NotifyObservers() for shutdown.
This leaves the shutdown observer with a dangling pointer to the canvas, so this
patch explicitly clears the pointer when the context goes away.
2019-02-16 00:22:12 +08:00
wolfbeast
c2aa68fcd1 Root parameter dictionaries in AesTask::Init(). 2019-02-16 00:22:07 +08:00
wolfbeast
bb5e286644 Clear weak pointers in VTT shutdown observers. 2019-02-16 00:21:20 +08:00
trav90
9ddf94a187 Add missing #include 2019-02-16 00:21:17 +08:00
trav90
f7a2e36cbc Move the MP3 code to it's own directory 2019-02-16 00:21:16 +08:00
trav90
8cfddb6559 Remove separate MP3 name space
It is no longer needed.
2019-02-16 00:21:14 +08:00
trav90
eae0de2b3f Remove the old MP3FrameParser
All former users of the old MP3 parsing code are gone, so we can now just remove the parser itself as well.
2019-02-16 00:21:11 +08:00
trav90
0f8e1d95d0 Remove files and comments related to MP4Reader
The MP4Reader no longer exists in the tree.
2019-02-16 00:21:10 +08:00
trav90
ef2f6d6f28 Remove Rust files from media gtests 2019-02-16 00:21:08 +08:00
trav90
8290899faf Remove MediaTelemetryConstants 2019-02-16 00:21:01 +08:00
trav90
fa8d24c264 Remove DirectShowReader Part 4: Tests 2019-02-16 00:20:59 +08:00
trav90
f9d8a59a89 Remove DirectShowReader Part 3: Directories 2019-02-16 00:20:58 +08:00
trav90
f457d25da7 Remove DirectShowReader Part 2: Build system 2019-02-16 00:20:56 +08:00
trav90
93510088fb Remove DirectShowReader Part 1: Conditional code 2019-02-16 00:20:54 +08:00
wolfbeast
7cc01b1884 Remove VR Hardware input support (gamepad type)
This resolves #881
2019-02-16 00:20:29 +08:00
wolfbeast
9b1124ccbd Remove VR hardware support.
This resolves #881
2019-02-16 00:20:27 +08:00
trav90
f75592fd13 Remove OMX_PLATFORM_GONK 2019-02-16 00:20:25 +08:00
trav90
e99eefeb84 Remove remaining MOZ_GONK_MEDIACODEC code 2019-02-16 00:20:24 +08:00
trav90
33038b14f2 Add AV1 support to MP4Decoder. 2019-02-16 00:19:39 +08:00