Bug 1278151 - Fix web-platform/meta/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html. r=rillian
MozReview-Commit-ID: 7VuUfyegq2d
--- a/dom/html/TextTrackManager.cpp
+++ b/dom/html/TextTrackManager.cpp
@@ -140,32 +140,32 @@ TextTrackManager::AddTextTrack(TextTrack
return nullptr;
}
RefPtr<TextTrack> ttrack =
mTextTracks->AddTextTrack(aKind, aLabel, aLanguage, aMode, aReadyState,
aTextTrackSource, CompareTextTracks(mMediaElement));
AddCues(ttrack);
if (aTextTrackSource == Track) {
- HonorUserPreferencesForTrackSelection();
+ NS_DispatchToMainThread(NewRunnableMethod(this, &TextTrackManager::HonorUserPreferencesForTrackSelection));
}
return ttrack.forget();
}
void
TextTrackManager::AddTextTrack(TextTrack* aTextTrack)
{
if (!mMediaElement || !mTextTracks) {
return;
}
mTextTracks->AddTextTrack(aTextTrack, CompareTextTracks(mMediaElement));
AddCues(aTextTrack);
if (aTextTrack->GetTextTrackSource() == Track) {
- HonorUserPreferencesForTrackSelection();
+ NS_DispatchToMainThread(NewRunnableMethod(this, &TextTrackManager::HonorUserPreferencesForTrackSelection));
}
}
void
TextTrackManager::AddCues(TextTrack* aTextTrack)
{
if (!mNewCues) {
return;
--- a/testing/web-platform/tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html
+++ b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html
@@ -74,17 +74,17 @@ test(function(){
assert_equals(t1.cues[0].id, 'id');
assert_equals(t1.cues[1].id, 'id2');
}, document.title+', changing order');
async_test(function(){
var video = document.createElement('video');
var t1 = video.addTextTrack('subtitles');
var t1_cues = t1.cues;
- t1.mode = 'showing';
+ t1.mode = 'hidden';
var track = document.createElement('track');
track['default'] = true;
video.appendChild(track); // queues a task to "honor user preferences...", media element event task source
var t2 = track.track;
assert_equals(t2.cues, null, 't2.cues should be null');
// We need to wait until the "honor user preferences..." steps have run so we invoke play()
// which queues an event with the same task source.
video.onplay = this.step_func(function(){