Commit Graph

491 Commits

Author SHA1 Message Date
trav90 9c1bc30965 Suppress DispatchOnAudioSinkComplete() 2018-07-25 07:04:00 +08:00
trav90 65da7c8f73 Fix data race in AudioSink::mWritten 2018-07-25 07:03:58 +08:00
trav90 1a2fea0658 Re-land "Dispatch AudioSink notifications asynchronously"
This is needed by some new code that I am working on.
2018-07-25 07:03:56 +08:00
trav90 e11d949dfb Add missing ; 2018-07-25 07:03:52 +08:00
trav90 b0cb2c597c Update test 2018-07-25 07:03:50 +08:00
trav90 74f9310acf Don't spin the event loop by synchronously dispatching when we're already on the main thread 2018-07-25 07:03:46 +08:00
trav90 89abd8c051 Grab the tail dispatch each time in case the runnable spins the event loop
If the runnable spins the event loop, we may end up firing the tail dispatcher, which causes the AutoTaskDispatcher to be destroyed, after which point invoking methods on it will crash. We need to grab it each time so that it will be lazily instantiated as-needed.
2018-07-25 07:03:44 +08:00
trav90 df074df1ee Use state mirroring for NextFrameStatus 2018-07-25 07:03:42 +08:00
trav90 19fc3c759e Implement state mirroring machinery 2018-07-25 07:03:40 +08:00
trav90 1e249c36f8 Use state watching machinery for mReadyState updates 2018-07-25 07:03:38 +08:00
trav90 001221b5a2 Implement state watching machinery 2018-07-25 07:03:37 +08:00
trav90 1d17b3107d Implement direct tasks 2018-07-25 07:03:34 +08:00
trav90 04513e7957 Force state machine setting to go through a setter
This is needed so that we can hook up the state mirroring in a subsequent commit.
2018-07-25 07:03:32 +08:00
trav90 1c6e58aeb2 Fix SetDormant() handling in MediaOmxCommonDecoder 2018-07-25 07:03:30 +08:00
trav90 422ce43cbb Invoke SeekCompleted synchronously
The current behavior is a holdover from when this some of this stuff was happening on the decode thread. It's problematic because nothing guarantees that we don't call CheckIfSeekComplete twice, and queue up two SeekCompleted events.
2018-07-25 07:03:28 +08:00
trav90 e413aa107a Switch nsIThread implementation of AbstractThread::IsCurrentThreadIn() to use PRThreads 2018-07-25 07:03:26 +08:00
janekptacijarabaci ce2fdce2c0 PageMenu.jsm - Ci.nsIXULContextMenuBuilder no longer exists (throws an error), allow separator lines 2018-07-25 07:03:20 +08:00
trav90 006b6f1bfb Use nsRefPtr in nsSMILCompositor.cpp
Fixes Linux build bustage. Followup to commit 3d7fd80.
2018-07-25 07:03:16 +08:00
trav90 9227ffb4c9 Always seek audio to original seeking position
There's no guarantee that the audio stream will have the same buffered ranges as the video track; which could lead to a stall. It is up to the MediaDecoderStateMachine to ensure proper A/V sync following a sync.
2018-07-25 07:03:13 +08:00
trav90 f617b3a495 Seek to original seeking position should video seeked time not found 2018-07-25 07:03:11 +08:00
trav90 d42126a5e1 RemoveDecoder() when initialization is aborted 2018-07-25 07:03:10 +08:00
Pale Moon 751d6bc6cb Prevent performance pitfalls for SMIL/CSS animations on display:none elements. 2018-07-25 07:03:07 +08:00
trav90 9dcbebf1ca Don't skip audio samples with a negative presentation time
This makes WMF have the same decoding behavior as other platforms.
2018-07-25 07:02:59 +08:00
trav90 b90879402e Reset video frame geometry on each init 2018-07-25 07:02:57 +08:00
trav90 5643bfba66 Ensure mUseHwAccel is set appropriately when WMFVideoMFTManager::Init() is called after Shutdown() 2018-07-25 07:02:56 +08:00
trav90 9366d733b3 Remove a couple member variables from WMFVideoMFTManager
These shouldn't be used by anything.
2018-07-25 07:02:53 +08:00
janekptacijarabaci 1aff4b51b1 XMLHttpRequest: Loaded-as-data XML documents should not generate <parsererror> 2018-07-25 07:02:41 +08:00
trav90 76b511a3e5 Fix HTMLMediaElement::seekable attribute for Mediasource
Interval is to start from 0 when duration is +infinity
2018-07-25 07:02:07 +08:00
trav90 8b8219a3c1 Make it impossible for the MDSM frame calculation to overflow 2018-07-25 07:02:05 +08:00
trav90 9e3655912a Reduce chance of overflow 2018-07-25 07:00:11 +08:00
janekptacijarabaci 9c93564087 [Minor fix] Set forms to valid in their constructor 2018-07-25 07:00:07 +08:00
janekptacijarabaci 94f71d6b19 [Minor fix] XMLHttpRequest - GetAllResponseHeaders() should return an empty string (instead null) 2018-07-25 07:00:05 +08:00
janekptacijarabaci 356552a1ff [Minor fix] Invalid TYPE attribute makes UL look like OL 2018-07-25 06:59:58 +08:00
janekptacijarabaci 6266f6e4ba [Minor fix] The first letter - should behave according to specification 2018-07-25 06:59:57 +08:00
janekptacijarabaci f20d42357a The referrer policy specification where origin-when-crossorigin should actually be origin-when-cross-origin (fix typo) 2018-07-25 06:59:55 +08:00
trav90 d7c605fb56 [mse] Check for sidx box in ContainerParser 2018-07-25 06:59:53 +08:00
Pale Moon d874d04fd1 Make HTML Media Elements' preload attribute MSE-spec compliant.
MSE sourced elements should ignore the preload attribute.
See http://w3c.github.io/media-source/#mediasource-attach (First note in the draft at time of commit)
We're treating the attribute as if it was not defined (defaults to `auto`).
We're also ignoring the default action pref for MSE (was already special-cased).

This resolves #981
2018-07-25 06:59:45 +08:00
janekptacijarabaci 219a491628 FormData - Implement manipulation methods, support in workers 2018-07-25 06:59:43 +08:00
JustOff 1396542939 Add documents to embed element capabilities 2018-07-25 06:59:27 +08:00
JustOff f944b442be Allow anchorObject.hash getters do unescape only if dom.url.getters_decode_hash is true 2018-07-25 06:58:54 +08:00
janekptacijarabaci 6fc5526b0e XMLHttpRequest: Expose mozAnon constructor js binding to system scopes 2018-07-25 06:58:30 +08:00
Pale Moon 00c0512ccb Make DOM selection addRange spec-compliant, take 2.
Because of the platform structure, we have to provide a way to add ranges to
Selection objects that aren't associated with a shell/nsFrameSelection.
This commit extends the original implementation with workarounds to add
these ranges by reaching into the internal implementation for adding ranges
and calling those functions directly.
2018-07-25 06:58:28 +08:00
Pale Moon 27b63aa0cc Add a way to prevent having to cast selections.
TODO: Needs a follow-up to convert existing static_cast<Selection*>(aSelection) occurrences to AsSelection().
2018-07-25 06:58:25 +08:00
Pale Moon 41720aeaac Add a way to "catch" an ErrorResult, and a way to safely convert an ErrorResult to an nsresult. 2018-07-25 06:58:23 +08:00
trav90 dc0c3e6be3 Remove a couple more instances of manually passing TaskDispatchers
Followup to 8446234.
2018-07-25 06:58:15 +08:00
trav90 c19a78e7c8 Fix racey test_error_in_video_document.html
This test assumes that the decoding machinery will have completed its work one event-loop-round-trip after the document loads (see the executeSoon call), which is a bogus assumption.
2018-07-25 06:58:14 +08:00
trav90 4c926cfb2f Implement tail dispatch on the main thread 2018-07-25 06:58:12 +08:00
trav90 dfc6198675 Tighten up a couple existing assertions 2018-07-25 06:58:04 +08:00
trav90 214afd47eb Assert against potential deadlocks between synchronous MediaTaskQueue operations and tail dispatchers 2018-07-25 06:58:00 +08:00
trav90 4a837c3711 Remove AbstractThread::InTailDispatch
This is unused and unnecessary now that we pass this explicitly during dispatch.
2018-07-25 06:57:58 +08:00