Bug 1350852 P2 - use mozvideoonlyseekcompleted to cancel throbber while resuming video decoder; r?jwwang,jaws draft
authorKaku Kuo <kaku@mozilla.com>
Mon, 27 Mar 2017 18:22:55 +0800
changeset 552913 4cc838de49ab9cb55cd2a0cb370eb1c07e4b1248
parent 552912 cc17432d2496f765ee0f9369c58a13323a224a05
child 621946 bc4559240eb0ddeac89349729666ffc020ac31c1
push id51507
push userbmo:kaku@mozilla.com
push dateWed, 29 Mar 2017 07:32:24 +0000
reviewersjwwang, jaws
bugs1350852
milestone55.0a1
Bug 1350852 P2 - use mozvideoonlyseekcompleted to cancel throbber while resuming video decoder; r?jwwang,jaws MozReview-Commit-ID: CV3LsfA6s1O
toolkit/content/widgets/videocontrols.xml
--- a/toolkit/content/widgets/videocontrols.xml
+++ b/toolkit/content/widgets/videocontrols.xml
@@ -217,17 +217,17 @@
 
       textTracksCount: 0,
       randomID: 0,
       videoEvents: ["play", "pause", "ended", "volumechange", "loadeddata",
                     "loadstart", "timeupdate", "progress",
                     "playing", "waiting", "canplay", "canplaythrough",
                     "seeking", "seeked", "emptied", "loadedmetadata",
                     "error", "suspend", "stalled",
-                    "mozexitvideosuspend"],
+                    "mozexitvideosuspend", "mozvideoonlyseekcompleted"],
 
       showHours: false,
       firstFrameShown: false,
       timeUpdateCount: 0,
       maxCurrentTimeSeen: 0,
       isPausedByDragging: false,
       _isAudioOnly: false,
 
@@ -669,17 +669,16 @@
             break;
           case "waiting":
             this.statusIcon.setAttribute("type", "throbber");
             this.setupStatusFader();
             break;
           case "seeked":
           case "playing":
           case "canplay":
-            this._cancelShowThrobberWhileResumingVideoDecoder();
           case "canplaythrough":
             this.setupStatusFader();
             break;
           case "error":
             // We'll show the error status icon when we receive an error event
             // under either of the following conditions:
             // 1. The video has its error attribute set; this means we're loading
             //    from our src attribute, and the load failed, or we we're loading
@@ -699,16 +698,20 @@
                 this.startFadeOut(this.controlBar);
               }
               this.controlsSpacer.removeAttribute("hideCursor");
             }
             break;
           case "mozexitvideosuspend":
             this._delayShowThrobberWhileResumingVideoDecoder();
             break;
+          case "mozvideoonlyseekcompleted":
+            this._cancelShowThrobberWhileResumingVideoDecoder();
+            this.setupStatusFader();
+            break;
           default:
             this.log("!!! event " + aEvent.type + " not handled!");
         }
       },
 
       terminateEventListeners() {
         if (this.videoEvents) {
           for (let event of this.videoEvents) {