Bug 1278151 - Fix web-platform/meta/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html. r=rillian draft
authorbechen <bechen@mozilla.com>
Wed, 22 Jun 2016 16:03:46 +0800
changeset 380531 82ab267917ffaba159f3a18fe09435bda2b75591
parent 380530 d9ff2cb2843094e13be2cb17c92c99ffd1d4ba90
child 380789 29ae5a3354ddb1f71b3c9eeedddada5f6bd296e4
child 381390 c9c2eea92afa80767db27301b4a5b498f27a06d0
push id21241
push userbechen@mozilla.com
push dateWed, 22 Jun 2016 08:04:26 +0000
reviewersrillian
bugs1278151
milestone50.0a1
Bug 1278151 - Fix web-platform/meta/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html. r=rillian MozReview-Commit-ID: 7VuUfyegq2d
dom/html/TextTrackManager.cpp
testing/web-platform/tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues.html
--- 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(){