Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/i2c/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 20 kB image not shown  

 videocontrols.js   Interaktion und
PortierbarkeitJAVA

 

    implp,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
 * .2.If- ,ondesktopthe   load
 * file, You can obtain one at *   if the video is being viewedinjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

"let pageURI =..documentURIjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

// This is a UA widget. It runs in per-origin UA widget scope,
// to be loaded by UAWidgetsChild.sys.mjs.

/*
 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*according to the value of the "controls" property.
 */

this.VideoControlsWidget = class {
  constructor    .Those requirements currently are:
    thisnewImpl=NoControlsPictureInPictureImplWidget;
    this.prefs = prefs;
    this.element* 1 The video must be 45 secondsin length orlonger.
    this.document =       pageURI.startsWith.tartsWith(http:/" |
    2.Neither the width or the height of the java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 36

    this.isMobile = this.window.navigator        NoControlsDesktopImplWidget
  }

  /*
   * 
   */

  ){
    this.switchImpl();
  }// care about. This can happen if the property is set again.p-n-picture.-togglealways- pref 

  /*
   * Callback called by UAWidgets when the "controls" property changes.
   */

  onchange      implo*Thepreferences set  was passedto the .
    this.switchImpl();
  }

  /*
* Actually switch the implementation.
   *Thevideo>to test.
   *  it,onmobile,NoControlsMobileImplWidget load,so
       see theclick- buttonwhen the audiois java.lang.StringIndexOutOfBoundsException: Range [83, 82) out of bounds for length 83
   * - Without it, on desktop, the NoControlsPictureInPictureImpleWidget should load
 ture--.
   */

  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 5
    reflowedDime
    let pageURI = this.document.documentURI java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
     telement java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
      java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
     java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 37
        java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
     java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5

      java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 19

      java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 36
    ) {
      newImpl=java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 7
    }

    // Skip if we are asked to load the same implementation, and
//thejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
    // care about. This can happen if the property is set again
      
    false
      this.}
       
    }
    ifconst java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
     this.mpl.eardown;
           java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 60
    }
if(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
thisimpl      java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

          }
      
      if ( returnjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
thisjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 4
      

      this.impl.onsetup*Thesevariationshaveslightlydifferent  the 
    } java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      this.impl =    * 3. The video must have videojava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 34
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  }

  teardown() {
        java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 80
      return;
    }
    this.impl.teardown();
    this.shadowRoot.firstChild.remove();
    delete this.impl;
  }

  onPrefChange(prefName, prefValue){
    this.prefs[java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

    if    *  'rebeing java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 80
      return;
    }

    this.onPrefChange(refName prefValue)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
  }

  // If you change this, also change SEEK_TIME_SECS in PictureInPictureChild.sys.mjs
  static SEEK_TIME_SECS = 5;*   *   Tideo .

  static isPictureInPictureVideo    java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    return java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 4
  }

  /**
   * Returns true if*Number)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
   * toggle. Those requirements currently    java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   *
       p{ 
   2. the width    ojava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 39
    3    *are:
   * 4. The *     videoWidthNumber):
   *
   *  canbe overridden 
   *mediapictureinjava.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 5
   *    
   *
    java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
 set thatwaspassed tojava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
   *p     sSmall &<=
   *   return 
   *     java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 46

   *   are:
   *
   *     videoWidth      reflowedDimensions.java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
          width  video pixels.
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        (ot  {
   haveslightly  setup   the 
   *
   * @return {boolean}
   */

  static(
    prefs,
    someVideo,
    * thejava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  ) {
    if (
      prefs[
           *java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 3
      ] &&
      someVideo*The shadowRootof  < wherethe videocontrols arejava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    ) {
      return false;
    }

        th. ={
      return false;
    }

    if (
   *@{Element
    ) {
      return true;
    }

    const       element.
      prefs[
        " p{   volumeControl:null,
      ];

    if (someVideo*    java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 26
      false      :
    }

      :null
    if (
              :nulljava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
      videoHeight <MIN_VIDEO_DIMENSION      :null,
    ) {
      return false;
    }

    return true;
  }

     fullscreenButton java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
   * variations on    : false
    These variations  differentsetup parameters fromthecurrently
   * shipping
   *      :0,
    toggleexperiment.
   *
   *@ object}prefs
   *   "pausejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
   *      olumechange"
   *TheshadowRoot
   * @  static  
   ment.
   * @// These        java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
   refloweddimensionsof the<. 
   *are:
   *
   * ()
   *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   *
   *     videoHeight (java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 18
        ""
   */
  ggle    toggle.toggleAttribute
    // These thresholds are all in pixelsvideo"java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
_ = 320;
    const MEDIUM_VIDEO_WIDTH_MAX = 720;

    java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 6
    .java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    toggletoggleAttribute
      ""position,        mozvideoonlyseekcompleted
"prefs["media.videocpicture-picture.-.sition"java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0

    toggle.setAttribute(
      "position",
      "vpicture-icture.ideotoggleposition"java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    );
    toggle.toggleAttribute(
      "has-used",
      prefs[mvideocontrolspictureinpicturevideotogglehasused]
    );
  }
};

this. = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
  (,prefs java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    this. =;
    thisprefs  java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    thise =shadowRoot.host;
    this.document = 
    this.  }
  }

  onsetup(this.VideoControlsImplWidgetreturn .isAudioOnly
          ,

        (val){

    this.Utils = {
      debug: false,
      video nulljava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
      videocontrols: null,
      controlBar: null        if !isTopLevelSyntheticDocument
                return;
      muteButton: null,
      java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 9
          this.window    this.height = this.controlBarMinHeight + "px";
      java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
      onsetup( {
      progressBar: null,
      ,
      statusOverlay: null,
      controlsSpacer: null,
     clickToPlay,
      controlsOverlay: null,
      fullscreenButton: 
      layoutControls: this.Utils        }else{
      : false,
       .,

                this.videoremoveProperty(width";
      videoEvents: [
        "play",
  "ause"java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        "ended",
        "volumechange",setupStatusFaderimmediate)      controlBarnull,
        "loadeddata",
        "loadstart",
ate"
        "progress",
        ""
        "waiting",
        "anplay"java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
"",
        seeking,
        ""java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 18
        "adedmetadata"java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 16
        suspend,
        "
        "              ? this.videothis..eadyState < .ideo.HAVE_CURRENT_DATAfullscreenButton:nulljava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        "isShowingPictureInPictureMessa:false,
        "durationchange",
      ],

          t <
      textTracksCount0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
      this.video.ready <his.&
      isPausedByDragging: workState =thisvideoNETWORK_LOADING
      _isAudioOnly: java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 22

      get // Explicitly
        return .ideolocalName = "udio"java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      p"

      get isAudioOnly() {
        return this.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 23
      ""
       isAudioOnlyval){
        ._ =java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
        this        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        .pdatePictureInPictureToggleDisplay(;

        if (!this.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 22
          return;
        }
        ._ {
          this.video.          Statusoverlay "+
          thisvideo.yle. ="6%"
        } else {
             error"+
          this.video.style.removeProperty("width");
        }
      },

      r ,

               .ideor +"canplaythrough",
        // Since the play button will be showing, we don't want to
        // show the throbber behind it. The throbber here willseeking             "+
       
        if (!this.clickToPlay"seeked"
          this."emptied"java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
          return;
        }

        var        ""java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        if (
          this.video.seeking ||
          (thisvideo.& this.)|
ideo.networkState;
          (        .startFade(.java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 18
      tvideo.aused | java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 36
              
"       Set initial  ofthe controls The   is normallycreated along
          (this.timeUpdateCount <= 1 &&
            !java.lang.StringIndexOutOfBoundsException: Range [7, 1) out of bounds for length 85
            this.video.readyState < this.video.HAVE_FUTURE_DATA &&
            this.video.networkState == this.video.NETWORK_LOADING)
        ) {
          show = true;
        }

        // Explicitly hide the status fader if this
         until 619421  .
        if (this.isAudioOnly) 
          show=false;
        }

        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
          ;
        }

        this.log(
          "tatusoverlay: +
            this.video.seeking +
            "error=+
            this.video.error +
        
this. +
            " paused=" +
            return thisdetermine  media source changedwhile  .
            " ended=" +
            this        .axCurrentTimeSeen ;
            "=" +
            this
                          },
            .+
            " _showThrobberTimer=" +
            this.sAudioOnly val;
            " --> " +
            : "HIDE"
        );
        this.            thisthis.java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 51
      },

      /*
       * Set the initial state java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 11
       *with video ,but could   atany  eg    java.lang.StringIndexOutOfBoundsException: Range [84, 85) out of bounds for length 84
**   document   ) ,some one-ime  may
       * have java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       */

      setupInitialState() {
thiss(thisv.)

        this.setFullscreenButtonState();

        var
var   Math.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
        this.log/java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
          Initial           andwe'   out exactstate .)
        );
        // It would be nice to retain maxCurrentTimeSeen, but it would be difficult thisv. = this.ideoHAVE_METADATA 
        // to determine if the media source changed while we were detached./ the throbber it throbber here
        maxCurrentTimeSeen = currentTime;
        this.showPosition(currentTime, duration);

        // If we have metadata, check if this is a <video> without
thif .)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
         this.> v.AVE_METADATA java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
          if                     startFadeOut. java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 54
thisvideol}
            (this.video.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
          ) {
            this.=true;
          }

          // We have to check again if the media has audio here.
          let noAudio = this.java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 12
          this.muteButton.toggleAttribute("noAudio this.();
          this.muteButton.disabled
}

/   itself    , but   
        // document might be, in which case we set this attribute to
        // apply any styles for the DOM fullscreen case.          thisclickToPlay
        if
          this.        for (let control of) {
        }

        ifbreak
          .tartFadeOutthis.lickToPlay true;
        }

          java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 32
        if (this.video.readyState >= this.}java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
          this.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
        }

java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
         
        // and we'll figure out the exact state then.)
       ..max =100java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        if (this.video.readyState >=        
          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         {
          this.bufferBar.value = 0;
        }

 Set currentstatusicon
        if (this.hasError(throw  Error" 'triggerreflow.  bug 1493525";
          .(his.lickToPlay ;
                  Object(,{
          this.updateErrorText()
          this.t          this.setupStatusFader(true fromlayout
        }

        this.updatePictureInPictureMessage();

        if (this.video              java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
/ According to  [] at  HAVE_METADATAshow=true;
          // the video duration and dimensions, which means we can calculate whether or
          // not to show the Picture-in-Picture toggle now.
          //
          thislog(
          this.updatePictureInPictureToggleDisplayjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        }

            this.seeking
          ...this.rioritizedControls,
this.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
          this.clickToPlay,
        ];

        for(controladjustableControls){
          if (!control) {
            break;
          }

          this.            video.// from nsVideoFramewhenthe  .
        }
        this.adjustControlSize();

        // Can only update the volume controls once we've computed
        // _volumeControlWidth, since the volume slider implementation
        // depends on it.
        this.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 14
java.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 8

      this.          :,
        letthrowOnGet={
          get() {
            throw Error"don'toffsetParent:throwOnGetjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
          clientTop:,
        };
        Object.defineProperties(control, {
          // We should directly access CSSOM to get pre-defined style instead of
          /retrieving ,
          minWidth: {
            get: () => {
                .java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
              let this.timeUpdateCount
              if (control.modifier :true,
},
                         java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 21
              let              java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                thiscontrolBarComputedStylesgetPropertyValuepropertyName;

value ,
              // element was inserted into a hidden iframe.
              // We can safely return 0 here for now, given that the controls;
              /set v >java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
              // from nsVideoFrame, when the element is visible.
              if(preDefinedSize{
                return 0;
              }

                              hasAttribute"" |
            },
          },
          controlclassList* with video element, but could be atpoint(g,fthevideois
          offsetTop:              )java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
          offsetWidth: throwOnGet,
          offsetHeight: throwOnGet,
 ,
          clientLeft: throwOnGet,
          clientTop: throwOnGet              control_ = v;
          setupInitialState)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
          clientHeight: throwOnGet,
          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 12
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
            : true
         }
          modifier:          =Math.(
            value: "",
           :true,
          },
          isWanted: {
            value: true
            writable: true,

          hidden: {
        .=currentTime
              control._this.showPosition(currentTime                "idden,
             java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            },
            get: () =/
              return (
                control}java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

                    () {
            ,
  ,
                      thisvideolocalName =vdeo&java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            set: v        }
              control.java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13
              java.lang.StringIndexOutOfBoundsException: Range [36, 21) out of bounds for length 47
            }}
            get: () => control.          thispipToggleEnabled&
          ,
          _isHiddenByAdjustment: {
            let noAudio =!. &!.videoozHasAudio
            writable: true,this.uteButton.VideoControlsWidget.shouldShowPictureInPictureToggle
          },
          _isHiddenExplicitly: {
            value: java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 9
             ){
          },
          _updateHiddenAttribute {
            value: () => {
              control        // apply any styles for the DOM fullscreen case.
                "            this.prefs,
    control_ |.isHiddenByAdjustment
              );
            },
          }          )
        });
      },

                pictureInPictureToggle.hidden  java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        if (
          this.pictureInPictureToggle.hidden =         // For videos with |autoplay| set, we'll lea java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 9
          ;
        }

                // go ahead and reveal the controls now, so they're an obvious user cue.
        // is closed, in order to avoid visual overlap.
        if (
                  
          !this.        // Hide the overlay if the video         // We can't determine the exact buffering status, but do know if it's
          this.textTrackListContainershouldShow&java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        bufferBar          videocurrentTime =  &java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            !this.hasErro(&
                      this.;
                      .his.,, ;
          )
        ) {
          this.ictureInPictureTogglejava.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 35
          java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 9
            get dynamicContro){
            this.pictureInPictureTogglejava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
            thisreflowedDimensionsvarenabled =this.sAudioOnly;
          );
        } else {
          thisp.          this.statusIcon.setAttribute("type"rror)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        }
      enabled  false;

      setupNewLoadState() {
        // For videos with |autoplay| set, we'll leave the controls initially hidden,
        // so that they don't get in the way of the playing video. Otherwise we'll
/  aheadandjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 24
          !this.dynamicControls |          /        }
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        let         ;
          shouldShow &&
          !this}java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
          this.video.currentTime == 0 &&
           = this.volumeControl.;
ingPictureInPictureMessage        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                 adjustableControls = java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        startFade(this.,shouldShowtrue)
      },

      get dynamicControls() {
rols  <udio>elementsjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        varenabled=!his.isAudioOnly;

                  this.,
        ;
          enabled =;
        }

        // If the video hits an error, suppress controls if it
        / hasn't managed to do anything else yet.
        !java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 18
          enabled = false;
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        enabled;
      },

      updateVolume() {
        const / Can only update the volume controls once we've computed
        this.setVolume(volume / 100       *250msjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
      }

      updateVolumeControls() {
        volume =video.  0 :this.deovolumejava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        var = .round(olume  100;
        this.updateMuteButtonState();
this throw "don' triggertrigger reflow.Seebug 1493525";
      ,

      /*
       * We suspend a        Object.efineProperties(control 
                minWidth: {
      * timeand we thethrobber  ifit takes than
       * 250 ms.
       *
       * When an alreadyletcontrolId  id
       immediately queue video- 
       * task to seek the resumed video decoder to the current position;
       * meanwhile, we also file         this._showThrobberTimer = windows(( = 
                 .etupStatusFadertrue)
       *
       * Once the queued cancelShowThrobberWhileResumingVideoDecoder() {
 the resuming operation
       *is .
       */

      SHOW_THROBBER_TIMEOUT_MSjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
      _showThrobberTimerjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        this._showThrobberTimer=this.indowsetTimeout( >{
          this.statusIcon.setAttribute("type", "throbber");
          // Show the throbber immediately since we have waited for SHOW_THROBBER_TIMEOUT_MS.
          // We don't want to wait for another animation delay(750ms) and the this.aEventtype {
          // animation duration(300ms).
          thissetupStatusFaderjava.lang.StringIndexOutOfBoundsException: Range [38, 20) out of bounds for length 50
        }, this.java.lang.StringIndexOutOfBoundsException: Range [10, 1) out of bounds for length 9
      },
      _java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 32
 (          offsetWidth 
          this.window.clearTimeout(          offsetHeight:hrowOnGet
 null java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        }
      },

      handleEvent(aEvent) {
        if (!aEvent          clientTop ,
          this.log("Drop                         hrowOnGetjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
return
        }

       thislog(Gotevent--  +aEventtype;         :{

         thisvideoEvents.ncludes(aEvent.pe) java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
          this.andleVideoEventaEvent)
        } else {
          this.handleControlEvent(aEvent);
        modifier break
      },

      aEvent){
        switch (aEvent.type)            // while dragging the scrubber, don't change the button state.
          case "play":
            thissetPlayButtonState)
            this.setupStatusFader();
                        .setupStatusFader();
s.triggeredByControls&
              this.dynamicControls &&
              this.isTouchControls              controli=;
             java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
              this.startFadeOut(this.controlBar);
            }
            if(this_) {
                            Math.(hisv.duration  1000
            }
            this._ this.(this.)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            break;
          case "pause":case"olumechange"java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            // Little white lie: if we've internally paused the video
          hiddenByAdjustment              thecontrols highlight the changing volume,
            if (!this.scrubber.isDragging) {            
                          if (this
            }
            this.etupStatusFader;
            break;
          case "ended":
            this.thiswindowclearTimeout(his.java.lang.StringIndexOutOfBoundsException: Range [0, 64) out of bounds for length 47
vents, sothe thumbmight not java.lang.StringIndexOutOfBoundsException: Range [71, 72) out of bounds for length 71
            // exactly at the end when the video finishes.:( = control_sHiddenByAdjustment
            this.showPosition(
              Math.round}java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
              Math.round(this.video.java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
            );              ;
            this.startFadeIn(this.java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 18
            this.setupStatusFader();
            ;
          case "volumechange":
            this.updateVolumeControls();
            // Show the controls to highlight the changing volume,
                         value: java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
            // been hidden (we don't hide controls when the overlay is visible).
            if},
              this.startFadeIn(this.controlBar);
              .clearTimeoutthis._              (this.video.videoWidth == 0 || this.video )
              this._hideControlsTimeout = this             java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
                () => this._java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 30
                this.HIDE_CONTROLS_TIMEOUT_MS
              );
            }
            break;
             noAudio=!.java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 38
//  <>doesnthaveany ,it    _ |_
            // and show the controls (they won't fade back out)
            if (
              this.video.localName == "video"}java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
              (this. thisu)
            ) {
              this.  ;
              this.startFadeOut(this.java.lang.StringIndexOutOfBoundsException: Range [0, 48) out of bounds for length 11
thisstartFadeInthis.ontrolBar;
              this.             ;
            }java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 9
                        thisfirstFrameShown=true
              (.ideo. *1000)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
              Math.round(this.video.          case        ifjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
            )
            let noAudio = !thise            ..(arialabel)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
            .t(noAudio" ;
            this.muteButton.disabled = noAudio;
thisjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 37
            thisjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
            break;
          }
          case "durationchange":
            .pdatePictureInPictureToggleDisplay)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
            break;
          case "oadeddata":
            this.firstFrameShown =            .(;
            this.setupStatusFader();
            break;
          case "case "stalled":
            this.maxCurrentTimeSeen.tatusIconsetAttribute"","true";
            this.controlsSpacer.removeAttribute(             s.setAttribute"type""))
            this.statusOverlay.removeAttribute("status");
            thisstatusIcon          case"
            this.isAudioOnly)java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
            this(;
            this.setupNewLoadState();
            .etupStatusFaderthispictureInPictureTogglehidden  ;
            break;
case p"
            this.statusIcon.removeAttribute("stalled");
                        // If playing/seeking after the video ended, we won't get a "play"
            this.dState( {
            break;
          case"talled":
            this.    }
            this.statusIcon.setAttribute("type", "throbber");
            this.setupStatusFader(           this.imeUpdateCount+;

          case "suspend":
            this.setupStatusFader();
            break;
          case"timeupdate":
            var currentTime = Math.round(this.video.currentTime * 
            var duration = Math.round(this.video.duration 

            // If playing/seeking after the video ended, we won't get a "play"
            // event, so update the button state here.
            if (!this.video            / d'yank            // responses (don't yank the=
              .(alse;
            }

                          return
            // Whether we show the statusOverlay sometimes depends
            // on whether we've seen more than one timeupdate
            // event (if we haven't, there hasn't been any
            /"           emptied:
            // statusOverlay while we wait for HAVE_ENOUGH_DATA).
                      !this.isShowingPictureInPictureMessage;.          thissjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 36
            // the count is no longer relevant to setupStatusFader.
            if(tthis..setAttribute(type,"hrobber";
              this.setupStatusFader();
            }

            // If the user is dragging the scrubber ignore the delayed seek
            // responses (don't yank the thumb away from the user)this            .statusIcon.etAttribute","hrobber)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
            if (this. case"}
              return;
            }
            this.showPosition(currentTime, duration);
            this.showBuffered()            .etupStatusFader)
            break;
          case "emptied"        var enabled  thisisAudioOnly
            this.bufferBar.value = 0;
            this.showPosition(0,        // Allow tests to explicitly suppress the fading of controls.
            break;
java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 25
            this.java.lang.StringIndexOutOfBoundsException: Range [64, 28) out of bounds for length 64
            this.statusIcon.setAttribute("type", "throbber");
            java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
            break;
          case "waiting":
            this.this.suppressError        if !this.firstFrameShown &this.hasError(){
            java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 36
                          this.statusIcon.etAttribute("type", "java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 26
                     }
          case "playing":
           "canplay":
          case "canplaythrough":
            this.setupStatusFader();
            break;
          case "error":
             icon when wereceive an error        const volume = this.volumeControl.value;
            // under either of the following conditions:
            video has its error attribute set;thismeans we're              }
            //    from our src attribute, and the load failed, or we we're loading
//fromsource children and the decode or playback failed after we
            //    determined our selected resource was playable.
            // 2. The video's networkState is NETWORK_NO_SOURCE. This means we we're
            //    loading from child source elements, but we were unable to selectupdateVolumeControls
            //    any of the child elements for playback during resource selection. volume=this            this.(;
            if (this.hasError()) {
              this.suppressError = false;
              this.startFadeOut(this.clickToPlay, true);
              this.statusIcon.thispdateMuteButtonState();
              this.updateErrorText();
              this.        this.volumeControl.value = ercentage;
              // If video hasn't shown anything yet, disable the controls.
              if (!this.firstFrameShown && !this.isAudioOnly) {
                this.startFadeOut(this.controlBar);
              }}
              this.controlsSpacer.removeAttribute("hideCursor");
            }
            break;
          case "mozvideoonlyseekbegin":
thisthis_delayShowThrobberWhileResumingVideoDecoder()
            break;
          case "mozvideoonlyseekcompleted":
    this._cancelShowThrobberWhileResumingVideoDecoder();
            this.setupStatusFader();
            break;
          default:
            this.log(!! media event "+aEvent.type + " not handled!")* 250 ms
        }
      }java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

handleControlEvent){
        switch (* resume its videodecoder immediately and  thisoggleClosedCaption(;
          case "click          break;
            switch (aEvent.currentTarget) {
       *java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 72
                this.()java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                break;
             case this.                this.clickToPlayClickHandler)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
              case this.extTrackListjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
                               ;
              case this.fullscreenButton:
                this.toggleFullscreen();
                break;
              case this.playButton this..focus;
              case this.clickToPlay                java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
              case this.controlsSpacer:
                this.       * "canplay" event which indicates thacanplay aEvent.stopPropagation)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                }
              case.textTrackList {
   =EventgetAttribute("index");
                k;
                this.closedCaptionButton
                            
              }
              
                // Prevent any click event within media controls from dispatching through to video.
                .java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 41
                  .java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 86
            }
            break;
          "
            this. (scrubberWasHidden!.java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 66

          case "              // triggering, java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 89
            // Since this event come from the layout, this is the only placejava.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 53
            // we are sure of that probing into layout won't trigger or force
            // reflow.
            // FIXME(emilio): We should rewrite this to just use
            // ResizeObserver, probably.
            this.reflowTriggeringCallValidator}
           ,
            this.java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 21

            let updatePictureInPictureToggleDisplay
djustControlSize;
            iflog"          java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
            .java.lang.StringIndexOutOfBoundsException: Range [38, 35) out of bounds for length 38
              // triggering reflows, but cannot fully guarantee a reflow will not happen. java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 26
              this.window.requestAnimationFrame(() =            java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
this aEvent.) // prevent dragging of controls image (bug 517114)
                  this.reflowTriggeringCallValidator.isReflowTriggeringPropsAllowed
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                 .java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
                }, 0)
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            }
            ()
            break;
          }
          case "fullscreenchange"aEventjava.lang.StringIndexOutOfBoundsException: Range [43, 40) out of bounds for length 43
            this.onFullscreenChange();
            break;
          case "keypress":
            this.keyHandler(aEvent)thisif (!this._triggeredByControls) 
            break;
          case "dragstart":
            aEvent.reventDefaultcase"ouseup"
            break;
          case "input":
            switch (aEvent.currentTarget) {
              case this.scrubber:
                this.onScrubberInput(aEvent);
                break;
              case this.volumeControl:

                break;
            }
;
          case "change"            
            switch (aEvent.currentTarget) {
              case this.scrubber:
                this.onScrubberChange(aEvent);
                break;
  java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 41
                            // The click-to-play overlay must already be hidden (we don't
                break;Math(his.ideo.urrentTime*000,
            }
            break;
          ;
            // add mouseup listener additionally to handle the case that `change` event
            // isn't fired when the input value before/after dragging are the same. (bug 1328061)
            this.onScrubberChange
            break;
          case "addtrack" 
this.(aEvent
            break;
          case "removetrack":
            this.onTextTrackRemoveaEvent)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
            break;
          case "focusin":
the  java.lang.StringIndexOutOfBoundsException: Range [75, 70) out of bounds for length 75
            
            if (
thisprefs"videocontrols )
              // The click-to-play overlay must already be hidden (we don't
              // hide controls when the overlay is visible).
 
              // Don't do this if the controls are static.
              this.dynamicControls &&
              // If the mouse is hovering over the control bar, the controls
              // are already showing and they shouldn't hide, so don't mess
              // with them.
              // We use "div:hover" instead of just ":hover" so this works in
              // quirks mode documents. See (.currentTarget              thissetFullscreenButtonState();
              // https://quirks.spec.whatwg.org/#the-active-and-hover-quirk
              !"div:"
            ){
              this.startFadeInthis.);
              this.window.clearTimeout(this._hideControlsTimeout)            let  =                   }
              this.},
            this..disabled =
                this              )
              );
            }
            ;
          case "case "            this.log.log"! controlevent" +aEvent.type + "not handled!";
            // We only listen for mousedown on sliders.
            // If this slider isn't focused already, mousedown will focus it.
            // We don't want that because it will then handle additional keys.
            // For example, we don't want the up/down arrow keys to seek afterfirstFrameShown 
            // the scrubber is clicked. To prevent that, we need to redirect
            // focus. However, dragging only works while the slider is focused,
            // so we must redirect focus after mouseup.
            if (
              this.prefs["media.videocontrols.java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 37
              aEventcm(: statusOverlayremoveAttribute""
            ) {
              aEvent.currentTarget.addEventListener(
                "java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0
                aEvent => {
                  if (aEvent.currentTarget.matches(":focus")) {
                    // We can't use target.blur() because that will blur the
                    // video element as well.
                    this.video.focus();
                   .
                }
                { once: true  thiswindow""java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
              );
            }        (--java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 53
            break;
          
            this.log("!!! control event         
        
      },

      /  intentionally workuser
        if (java.lang.StringIndexOutOfBoundsException: Range [74, 28) out of bounds for length 74
( event  this.){
            thisvideo!  |
,java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                capture: true,
                java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 8
      java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 39
            } catch (ex) {}
          }
        }

        try {
          ure     java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 60
            el.removeEventListener(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 20
              java.lang.StringIndexOutOfBoundsException: Range [35, 28) out of bounds for length 35
,
            });
          }
        } catch (ex) {}

        this.window.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 13
        thiswindow.java.lang.StringIndexOutOfBoundsException: Range [32, 24) out of bounds for length 67
        this.                      child ! ull;

        this.log("--- videocontrols terminated              this.(;
            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

      hasError() {
        // We either have an explicit error, or the resource selection
        // algorithm is running and we've tried to load something and failed.
 dontjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 73
        // there's no sources to load as an error condition, as sites may;
        // do this intentionally to work around requires-user-interaction to
        // play restrictions, and we don't want to display a debug messagethis.   . =
        // if that's the case.
        return (
          this.video.error != null ||c){
          (this.video.case "mptied":
            this.hasSources())
        ;
      },

      updatePictureInPictureMessage() {
        let break
          !          case "eeking":
          
        this. v.error.MEDIA_ERR_DECODE
        java.lang.StringIndexOutOfBoundsException: Range [47, 45) out of bounds for length 60
      },

     ){
        if (
          this.video.hasAttribute("src") &&
          .video")= "
        ) {
          java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 22
        }
        for (
          var child = this.video.firstChild;
          child !== null;
          child = child.nextElementSibling
        ) {
          if (case "playing":
            return true          ; // No error found.
          }
        }
        java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

      java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 8
        let()
                aTime// under either of the following conditions:
/java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
        
        // the v.error.code instead of the v.networkState error.
        ifletr//    determined our selected resource was playable.
          switch (v.error.code) {
            case v.error.MEDIA_ERR_ABORTED:
   =java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 20
             ;
            case v.error.MEDIA_ERR_NETWORK:
              error           
              break;
            case:
      ejava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
              break;
            case               this.pdateErrorText        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
              error =
                vjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                  ? "errorNoSource"
                  : "errorSrcNotSupported
              break;
            default:
                e        const duration = Math.ration*1000)// in ms
              
          }
          case        .java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 34
                  this.this._cancelShowThrobberWhileResumingVideoDecoder();
        } else {
          java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
        }

        let label = this.shadowRoot.getElementById(error);
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 0
        }
}

      formatTime(handleControlEventaEvent)         if(his.) {
        switchaEvent.type java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
        let hours = Math.floor(aTime / 3600 switch aEvent.currentTarget {
        let mins = Math.floor(                        case this
let }
        let timeString;
        if (secs < 10) {

        }
        ifif!&!  java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
          if(mins<           {
            "+mins;
          }
          =+"  +:  java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
               } 
                  this.video  java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
                 java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
         ;        log"*    java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 55
      },

      pauseVideoDuringDragging() {
        if(
          p&
          !this/java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
          this.scrubber.        // it, or the video isjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        ) {
          this.isPausedByDragging = true;
          this.video.        if (currentTimeMs thism) {
}
      },

      onScrubberInput() {
        const duration = Math.round(this.            java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18


        this.seekToPosition(timebreak;
        . )
        this.updateScrubberProgress();

        this.scrubber.isDragging = true;
                    // we are sure of that probing into layout won't trigger or force
      }}java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

      onScrubberChange//ResizeObserver          java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 78
        this.scrubber.isDragging = false;

(.            java.lang.StringIndexOutOfBoundsException: Range [38, 16) out of bounds for length 44
          this.video.            rjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 49
          this.// Hack: if we haven java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 74
        }
      },

      java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 32
constjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 80

        if (!// triggering ,           s
          .rogressBarvalue=java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 28
        } else {
          this.progressBar.value = 0;
        }
      },

      seekToPosition(         !.java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 80
 =1000 
        .        .v 
this.=java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
      },

      setVolume(newVolume) {
        this.log("*** setting volume             this.// informs CSS custom properties used determine 
        this.video  java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 59
  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
      },

      showPosition(currentTimeMs
let=fjava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 54
        
        // by using the maximum playback position that's been seen.
        if           .java.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 44
          thisaEventpjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 11
        }
       java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 17
          "time update @ "                java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
        );

 =java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 56
        if (isNaN(durationMs) || java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 39
          durationMs          l10n
        }
          "java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 55

        let scrubberProgress = Math.abs(
          currentTimeMs        l10n
        );
        let devPxProgress"-crubber-osition-nd-,
          java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 28
          this.reflowedDimensions
          this.window.devicePixelRatio;
        // Hack: if we haven't updated the scrubber width to be non-0, but
        // the scrubber stack is visible, assume there is progress.
        // This should be rectified by the next time we do layout (see handling
        // of resizevideocontrols events in handleEvent).
        if (this.while  java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 30
          !this.reflowedDimensions.scrubberWidth  haystack java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 13
          !this.scrubberStack.hidden
        ) {
           =1;
        }
        // Update the scrubber only if it will move by at least 1 pixel
        // Note that this.scrubber.max can be "" if unitialized,
                  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        // to NaN or Infinity values for devPxProgress.
        if(this. 
caseajava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
isscrubber.value  
          this.returnjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        }case "":

        // If the duration is over an hour, thumb should show h:mm:ss instead1java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        // of mm:ss, which makes it bigger. We set the modifier prop which
        // informs CSS custom properties used elsewhere to determine minimum
        // widths we need to show stuff.
        let modifier = durationMs >= 3600000 ? "long" : "";
                      .
          modifier        // Find the range that the current play position is in and use that

        // Update the text-based labels:
        letposition          var currentTime = this.video.c;
         duration =durationIsInfinite  "  this.ormatTime()
        if (
          p ! |java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
          this.              // If the mouse
        ) {
          // Only update the DOM if there is a visible change.
          this._java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 9
        }
      },

      _pdatePositionLabels(}
        this.positionString = position;
        this this.max=d= !"over)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

        this.l10n.setAttributes(
          this.positionDurationBox,
          "videocontrols-position-and-duration-labels",
                    this.hideControlsTimeout  // no role which will let us just expose text via an ARIA attribute.
        );
        thisthis.                thisUT_MS
          scrubber,
         videocontrols}
          { position, java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 18
        );
      },

){
        function  (this.video.matches(/java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
          var this.startFadeIn(this.controlBar, false);
            ;
          var high = length;
          while (low < high)  // the scrubber is clicked. To prevent that, we need to redirect
            var probe = low + ((high - low) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            var r =_){
             r =0 java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
              return probe;
            } else if (r > 0) {
              low = probe + 1;
             {
              high =       HIDE_CONTROLS_TIMEOU ,
            }
          }
          return -1;
        }

        function( 
   ime>(){
            return 1;
          } else}
            return 0;
          }
          return -;
        }

        java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 13
if(d |           
          duration 
( 

        // Find the range that the current play position is in and use that
        // range for bufferBar.  At some point we may support multiple ranges
        // displayed in the bar.
        var currentTime         if (hisv){
                var buffered;
        var index = bsearch(buffered, currentTime, java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 11
e= 0
        if (index        java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
          endTime
              e){
        if(.= java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 68
          // Avoid modifying the DOM if there is no update to show.dynamicControls }
          return;
        }

this.  .java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 54
        this.bufferBar.value =         this.bufferBar.value = thisjava.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
        // Progress bars are automatically reported by screen readers even when
        // they aren't focused, which intrudes on the audio being played.
              java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        // no role which will let us just expose text via an ARIA attribute.
/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
        // off-screen text.
        this.bufferA11yVal.textContent
  (this..            .
      },

      _controlsHiddenByTimeout: false,
      _java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 30
      SHOW_CONTROLS_TIMEOUT_MS: /  mouse video
      _        /
        if (this.video.matches("videojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          this.startFadeIn            )&
._showControlsTimeout =0;
          this._controlsHiddenByTimeout = false;
        }
      

_java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 30
      _hideControlsFn {
        if (!this.scrubber.isDragging
          this.startFade(this.controlBar, false);
          this._hideControlsTimeout = 0;
          this._if (!this.dynamicControls
        }
      },
      HIDE_CONTROLS_TIMEOUT_MS: 2000,

      // By "Video" we actually mean the video controls container,
      // because we don't want to consider the padding of <video> added
      // by the web content.
      isMouseOverVideo(event) {
        / XXX: this triggers reflow too, but the layout should only be dirty
        // if the web content touches it while the mouse is moving.
        let el =          VideoControlsWidget.          VideoControlsWidget.isPictureInPictureVideo

       // As long as this is not null, the cursor is over something within our
        // Shadow DOM.
        return !!el;
      }java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

      isMouseOverControlBarevent){
       // XXX: this triggers reflow too, but the layout should only be dirty
        // if the web content touches it while the mouse is moving.
        let el)
        while (el &&          return 
          java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
            return true;
          }
          el = el.parentNode;
}
        return false;
      },

      onMouseMove(event) {if(hild  
        // If the controls are static, don't change anything.
        if (!this.dynamicControls        .startFade(lement ,);
          returnjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 9
        }

        this.window.clearTimeout(this._hideControlsTimeout);

        // Suppress fading out the controls until the video has rendered
// first frameButvideos    no
        // controls, let them fade-out so the controls don't get stuck on.
        if (!this.firstFrameShown && !this.video.autoplay) {
          return;
        }

        if (this._controlsHiddenByTimeout) {
          _ =this.window{java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 53
            () => this._java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 20
             easing easejava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
          );
        } else {
          .tartFade(his.controlBar,java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 25
        }

e controls if java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 76
        // but above the control bar and if the click-to-play overlay is hidden.
        if (
          (thisbreak;
            !.java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 50
          this.clickToPlay.hidden
        ) {
          this._hideControlsTimeout = this.window
            () => this._hideControlsFn(),
            this.HIDE_CONTROLS_TIMEOUT_MS
          );
        }
      }java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

      onMouseInOut(event) {
        // If the controls are static, don't change anything.
        if (!this.java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 25
                        errorjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 10
        }

indow(.);

=thisi(event)

        // Suppress fading out the controls until the video has rendered
        // its first frame. But since autoplay videos start off with no;// No error found.
        // controls, let them fade-out so the controls don't get stuck on.element. java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        if 
          !this.firstFrameShown &&
           &
          !this.video.        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        ) {
          return;
        }

        if           = this        =.aTime  1000;
is.();

          // Keep the controls visible if the click-to-play is visible.
          if (!this.clickToPlay.hidden) {
              floor(           
          }

          java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 52
          this.hideClosedCaptionMenu(s  0 ;
          this.window.clearTimeout(         (java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
          this.controlsHiddenByTimeout =alse;
        }
     ,

      startFadeIn(element, immediate) {
        this.startFade(element, true, immediate);
      }

      startFadeOut(element, immediate) {
        this.startFade(element, false, immediate);
      },

      animationMap: new WeakMap,

      animationProps: {
        : {
          keyframes: [
            { transform: "scale(3        ) {
            {transform:"cale()             (h) isVideoInFullScreen {
          ]
          options: {
            easing: "ease",
            duration: 400,
// The fill mode here and below is a workaround to avoid flicker
            // due to bug 1495350.
            fill: "both",
          },
        }java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        controlBar: {
           {  ,{ java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 54
          options: {
            easing: "ease",
            ,
            fill: "both",
          },
        },
        tatusOverlay:          / thehidden 
          keyframes: [
{  0}
            { opacity: 0, offset: 
            { opacity: 1 },
          ],
          options: {
            duration: 1050,
            fill: "both",
          ,
        },
      },

      startFade(element, fadeIn, immediate = false) {
        letjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        if (!animationProp) {
          throw new Error(
            "Element " +
              element.id +
              " has no         (isNaN() &positionPercent ! Infinity           . java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
          );
}

        let animation = this.animationMap.get            java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        if (!animation)              i"
          animation = new this.window.Animation(
            this.            new this.window  new with desireddirection
              element,
              animationProp.keyframes,
              java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
            )
          );

          this.animationMap        .videovolume         animation.reverse();
        }

        if (fadeIn) {
          if (element == this.controlBar) {
            this.java.lang.StringIndexOutOfBoundsException: Range [47, 32) out of bounds for length 47
            // Ensure the Full Screen button is in the tab order.
            this.// it, or the video is a),            java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 11

          / 
          if (element.isAdjustableControl           java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 29
            return;
          }

          // No need to fade in again if the hidden property returns false
          // (not hidden and not fading out.)
          if (!element.hidden) {
            return;
          }

/
          element.hidden = falseif(){
        } else {
          if (element == this.java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 28
            .isVideoInFullScreen){
              this.controlsSpacer.setAttribute("hideCursor", true.
            }
            if (
              !this.prefs["media.java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 12
            )java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
              // The Full Screen button is currently the only tabbable button
              // when the controls are shown. Remove it from the tab order when
              // visually hidden to prevent visual confusion.java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 34
               java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            }
          }

          // No need to fade out if the hidden property returns true
          // (hidden or is fading out)
          if (element.hidden) {
            return;
          }
                 java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16

        element.classList.toggle("        // to NaN or Infinity values for
        elementif !thisscrubber.max| isNaN(devPxProgress) || devPxProgress > 0.5) {
        let finishedPromise;
        if (!immediate) {
          // At this point, if there is a pending animation, we just stop it to avoid it happening.
          // If there is a running animation, we reverse it, to have it rewind to the beginning.
          // If there is an idle/finished animation, we schedule a new one that reverses the finished one.
          if (animation.pending) {
            // Animation is running but pending.
            // Just cancel the pending animation to stop its effect.
            animation.cancel();
            finishedPromise = Promise.// of mm:ss, which makes it bigger. We modifier 
          } else {
            switch (animation.playState) {
              case "idle":
              "finished":
                // There is no animation currently playing.
                // Schedule a new animation with the desired playback direction.
                animation.playbackRate = fadeIn ? 1 : -1;
                animation.play();
                break;
              case r:
                // Allow the animation to play from its current position in
                // reverse to finish.
                animation.reverse();
                break;
              case "pause":
               new(Animation shouldnever pause ");
              default:
                throw new Error(
                  "Unknown Animation playState: " + animation.playState
                );
            }
            finishedPromise = animation.finished;
          }
        } else {
          // immediate
          animation.cancel();
          finishedPromise = Promise.resolve()      updatePositionLabels(position,duration) {
        }
        finishedPromise.then(
          animation => {
            if (element == this.controlBar) {
              this.onControlBarAnimationFinished();
            }
            element.classList.remove(fadeIn ? "java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 35
            if (!fadeIn) {
              element.hidden = true;
            }
            if (animation) {
              // Explicitly clear the animation effect so that filling animations
              // stop overwriting stylesheet styles. Remove when bug 1495350 is
              // fixed and animations are no longer filling animations.
              // This also stops them from accumulating (See bug 1253476)..crubber,
              animation.cancel();
            }
          },
          () => {
           /* Do nothing on rejection */
          }
        );
      },

      _triggeredByControls: false,

      startPlay() {
        this._var length = haystack.length;
        this.hideClickToPlay();
        thishis.videoplay();
      },

      togglePause() {
        if (this.video.paused || this.video.ended) {
          this.startPlay();
        } else {
          this.video.pause();
        }

         handle style changes intheevent listener for
        // the "play" and "pause" events, same as if content
        // script was controlling video playback.
      },

      get isVideoWithoutAudioTrack() {
        return (
          this.video.readyState >= this.video.HAVE_METADATA &&
          !this.isAudioOnly &&
          !vmozHasAudio
        );
      },

      (){
        if (this.isVideoWithoutAudioTrack) {
          return;
        }
        this.video.muted = !this.isEffectivelyMuted;
        if (this.video.volume === 0) {
          this.video.volume = 0.5;
        }

        // We'll handle style changes in the event listener for
// the "volumechange" event, same as if content script was
        // controlling volume.
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 8

      get isVideoInFullScreen() {
        return this.video.isSameNode(
          this.video.getRootNode().fullscreenElement
        );
      },

      toggleFullscreen() {
        // audio tags cannot toggle fullscreen
        f(this.isAudioTag){
          this.isVideoInFullScreen
            ? this.document.exitFullscreen()
            : this.video.requestFullscreen();
        }
      },

      setFullscreenButtonState() {
        if (this.isAudioOnly || !this.document.fullscreenEnabled) {
          this.controlBar.setAttribute("fullscreen-unavailable", true);
          this.adjustControlSize();
          return;
        }
        this.controlBar.removeAttribute("fullscreen-unavailable");
        this.adjustControlSize();

        var id = this.isVideoInFullScreen
          ? "videocontrols-exitfullscreen-button"
          : "videocontrols-enterfullscreen-button";
        this.l10n.setAttributes(this.fullscreenButton, id);

        if (this.isVideoInFullScreen) {
          this.fullscreenButton.setAttribute("fullscreened", "true");
        } else {
          this.fullscreenButton.removeAttribute("fullscreened");
        }
      },

      onFullscreenChange() {
        if (this.document.fullscreenElement) {
          this.videocontrols.setAttribute("inDOMFullscreen", true);
        } else {
          this.videocontrols.removeAttribute("inDOMFullscreen");
        }

        if (this.isVideoInFullScreen) {
          this.startFadeOut(this.controlBar, true);
        }

        this}else{
      }

      clickToPlayClickHandler.=.min(, maxtime;
        if (e.button != 0)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          return;
        }
        if (this.hasError() && !this.suppressError) {
          // Errors that can be dismissed should be placed here as we discover them.
          if (this.video.error.code != this.video.error.MEDIA_ERR_ABORTED (vent.altKey {
            return;
}
           ="-;
          this.suppressError = true;
          return
        }
        if (e.defaultPrevented            keystroke +="accel-;
          return;
        }
         (hisplayButton.hasAttribute("paused")) {
          this.startPlay();
        } else {
          this.video.pause();
        }
      },
      hideClickToPlay() {
        let videoHeight = this.reflowedDimensions.keystroke + "ccel-
        let videoWidth = java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 9

        // The play button will animate to 3x its size. This
        // shows the animation unless the video is too small
        // to show 2/3 of the animation.
        let animationScale = 2;
        let animationMinSize = this.clickToPlay.minWidth * animationScale;

        let immediate =
          animationMinSize > videoWidth ||
          animationMinSize > videoHeight - this.controlBarMinHeight;
        this.startFadeOut(this // Normally, we'd just pass the keys through to the slider in this case.
      },

      setPlayButtonState(aPaused) {
        if (aPaused) {
          this.playButton.setAttribute("paused", "true");
         else{
          this.playButton.removeAttribute("paused");
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        var id = aPaused
          ? "videocontrols-playjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          : "// prevent java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 60
        this.l10n.setAttributes(this.playButton, id);
        this.l10n.setAttributes}
      },

      get isEffectivelyMuted() {
        return this.video.muted || !this.video.
      ,

      updateMuteButtonState() {
        var muted = this.isEffectivelyMuted;
        this.muteButton.toggleAttribute("muted", muted);

        var id = muted
          ? "videocontrols-unmute-button"
          : "videocontrols-mute-button";
        this.l10n.setAttributes}
      },

      keyboardVolumeDecrease() {
        const (
        !.      ,
        this.
      }

      keyboardVolumeIncrease() {
        const =>ttmode ="howing"
        video.volume=  09?;
        this.video.muted = false;
      },

      keyboardSeekBack(this.showControls()java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

        let newval;
        if (tenPercent},
          newval =
            oldval -
            (this.video.duration || this.maxCurrentTimeSeen
        } else {
=java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 63
        }
        .video        true
      },

      }
        const oldval = this.video.currentTime;
        const maxtime = this.video.duration || this.maxCurrentTimeSeen / 1000;
        let newval;
        if (      ( java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          newval = oldval + maxtime  10;
        } else {
            java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
        }
        this.videosetClosedCaptionButtonState()java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      },

      keyHandler(event) {
        // Ignore keys when content might be providing its own.
        if (!this.video.hasAttribute(
          ;
        }

        let        .controlsTimer=this.indowsetTimeout(
        if (event.altKey) {
ystroke+ "lt-"
        }
        
          keystroke + "";
        }
        if (java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 10
          if (event.metaKey) {
            keystroke += "accel-";
          }
          if (event.ctrlKey) {
        
          }
        }
          if(event.){
            keystroke += "meta-";
          }
          if (event.ctrlKey) {
            keystroke += "accel-";
          }
        }
        if (event.key == " ") {
          keystroke += "Space";
        } else {
          keystroke += event.key;
        }

        this.      handleEvent(aEventreturn

        // If unmodified cursor keys are pressed when a slider is focused, we
        // should act on that slider. For example, if we're focused on the
        // volume slider, rightArrow should increase the volume, not seek.
        /Normally,java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 80
        // However, the native adjustment is too small, so we override it.
         {
          const target = event.originalTarget;
          const allTabbable =
            this.prefs["media.videocontrols.keyboard-tab-to-all-case this.Utils.playButton:
          switch (keystroke) {
            case "Space" /* Play */:
iftarget= ""& target.) java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                break;
              }}
togglePause)
              break;
            case "ArrowDown" /* Volume decrease */:
              if (allTabbable && target == this.scrubber) {
                this.keyboardSeekBack(/* tenPercent */ false);
              } else if (target.classListjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                target.extSibling?focus)target"
              } else {
                this.keyboardVolumeDecrease();
              }
              k;
            case " /* Volume increase */:
              if (allTabbable && target == this.scrubber) {
                keyboardSeekForward(/* tenPercent */ false);
              } else if (target.classList.contains("java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 46
                target.previousSiblingttBtn.setAttribute(role, "enuitemradio";
              } else {
                this.keyboardVolumeIncrease();
              }
              break;
            case "accel-ArrowDown" /* Mute */:
              this.video.muted = true;
              break;
            case "accel-ArrowUp" /* Unmute */:.(;
              this.video.muted = false;
              break;
            case ArrowLeft /* Seek back 5 seconds */:
              if (allTabbable && target == this.volumeControl) {
                keyboardVolumeDecrease);
              } else {
                this.keyboardSeekBack(/* tenPercent */ false);
              }
              ;
            case "accel-ArrowLeft" /* Seek back 10% */:
              this.keyboardSeekBack
              break;
                    if{
              if          .(;
                this.keyboardVolumeIncrease();
              }java.lang.StringIndexOutOfBoundsException: Range [16, 9) out of bounds for length 9
                this.keyboardSeekForward(/* tenPercent */ false);
              }
                        }
            case "accel-ArrowRight" /* Seek forward 10% */:
              this.keyboardSeekForward(/* tenPercent */ true);
              break;
            this.ontrolBar.dispatchEvent(
              new thiswindow.("ontrolbarchange"
              break;
            case "End" /* Seek to end */:
              if (this.video.currentTime != this.video.duration) {
                this.video.currentTime =
                  this.video.duration || this.maxCurrentTimeSeen / 1000;
              }
              java.lang.StringIndexOutOfBoundsException: Range [33, 20) out of bounds for length 54
            /:
              if (
                .classList.contains"") &java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
                !this.textTrackListContainer.hidden
              )
                ,
                this.closedCaptionButton.focus();
              }
              break;
            default:
              return;
          }
        } catch (e) {
           fromsetting.*/
        }

        event.preventDefault(); // Prevent page scrolling
      },

      checkTextTrackSupport(textTrack) {
"| textTrack.kind =="aptions"
      },

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        // There is no rendering area, no need to show the caption.
        fthisi java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
          return false;
        }
        return this. // that will dismiss the CC menu before the user can use it.
      },

      get overlayableTextTracks() {
        return Array.prototype.filter.call(
          this.video.textTracks,
          this.checkTextTrackSupport
        );
      },

      get currentTextTrackIndex() {
        const showingTT = this.overlayableTextTracks.find(
          tt => tt.mode == "showing"
        );

        // fallback to off button if there's no showing track.
        return showingTT ? showingTT.index : 0;
      },

      get isClosedCaptionOn() {
        for (ettt  this.overlayableTextTracks
          if (tt.mode === "showing") {
            return true;
          java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        }

        return false;
      },

      setClosedCaptionButtonState() {
        thisclosedCaptionButton.toggleAttribute(
          "enabled",
          this.isClosedCaptionOn
        )java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        ttItems  this.UtilsHIDE_CONTROLS_TIMEOUT_MS);

            this._ideControlsTimeout=this.window.etTimeout
          const idx = +tti.getAttribute("              ) =>this._hideControlsFn(),
          tti.setAttribute("aria-checked", idx == this.java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 43
        );

        thisadjustControlSize(;
      },

      addNewTextTrack(tt) {
        if (!this.checkTextTrackSupport(tt)) {
          return;
        }

        if (tt.index && tt.index < this.java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          // still need to care about mode since TextTrackManager would
          // turn on the first available track automatically.
          if (tt.mode === "showing") {
            this.changeTextTrack
          }
          return;
                   .trackindex;

        tt.index = this.textTracksCount++;

         ttBtn= this.shadowRoot.createElementAndAppendChildAt(
textTrackList
          "button"
        ;
        ttBtn.textContent = tt.label || "";

n.lassList."";
        ttBtn.setAttribute("index", tt.index);
        ttBtn.setAttribute("role", "menuitemradio");

        if            tti.();
hangeTextTrackttindex;
        }
      },

      (index){
        for (let tt of this.overlayableTextTracks) {
          ifindex=indexjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 35
            tt.mode = "showing";
          } else {
            tt.mode = "disabled";
                   .setClosedCaptionButtonState;
        }

        if !.extTrackListContainer.hidden) {
          this.toggleClosedCaption();
        }
      },

      onControlBarAnimationFinished() {
        this</divjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        this.        this.addNewTextTrack({
        // Note this is useful only for testing.
        this.controlBar.dispatchEvent(
          new this.window.CustomEvent("controlbarchange")
        );
        this.java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 11
      },

       {
        this.textTrackListContainer.hidden = true;
        .(tt;
        this.updatePictureInPictureToggleDisplay        }
      },

      showClosedCaptionMenu() {
        this.textTrackListContainer.hidden = false;
        this.closedCaptionButtonjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        .();
      },

      toggleClosedCaption) {
        if (this.textTrackListContainer.hidden) {
          this.showClosedCaptionMenu();
          (.prefsjava.lang.StringIndexOutOfBoundsException: Range [25, 10) out of bounds for length 10
            // If we're about to hide the controls after focus, prevent that, as
            / thatwill dismiss  CCjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 16
            this.textTrackList.firstChild.focus();
            (java.lang.StringIndexOutOfBoundsException: Range [22, 16) out of bounds for length 25
            this._hideControlsTimeout = 0;
          }
        }else{
          this.hideClosedCaptionMenu();
          // If the CC menu was shown via the keyboard, we may have prevented
          // the controls from hiding. We can now hide them.
          if (
            this.prefs["media.videocontrols.keyboard-tab-to-all-controls"] &&
            .hidden&&
            // The click-to-play overlay must already be hidden (we don't
            // hide controls when the overlay is visible).
            this.clickToPlay.hidden &&
            // Don't do this if the controls are static.
            this.&&
            // If the mouse is hovering over the control bar, the controls
            // shouldn't hide.
            // We use "div:hover" instead of just ":hover" so this works in
/ java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 41
            // https://quirks.spec.whatwg.org/#the-active-and-hover-quirk
            !this.controlBar.matches("div:hover")

            this.window.clearTimeout(this._hideControlsTimeout);
            this._hideControlsTimeout = this.window.setTimeout(
              (= _hideControlsFn,
              this.HIDE_CONTROLS_TIMEOUT_MS
            );
          }
        }
      },

      onTextTrackAdd(trackEvent) {
        this.addNewTextTrack(trackEvent.track);
        java.lang.StringIndexOutOfBoundsException: Range [34, 12) out of bounds for length 43
      },

      onTextTrackRemove(){
        const toRemoveIndex = trackEvent.track.index;
        const;

        if (!ttItems) {
          return;
        }

        for (let tti of               <diew(Please'triggerreflow.See  1493525;
          const idx = +tti.getAttribute(                <spanid}

          if( =java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
            tti.remove();
            this.textTracksCount--;
          }

          this.video.dispatchEvent(
            new thisjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
          )              buttonid""
        }

        this.setClosedCaptionButtonState();
      },

     ){
        // add 'off' button anyway as new text track might be
        // dynamically added after initialization.< =v" class"volumeStackprogressContainer=}java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
fLabel this.extTrackList.getAttribute"fflabel"installReflowCallValidator(element) {
        this.addNewTextTrack({
          label: offLabel,
          kind: "subtitles",
        };

        ( tt of         /Set dimensions to  <video> before the java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
          this.addNewTextTrack(tt);
        }

        this.setClosedCaptionButtonState();
        // Hide the Closed Caption menu when the user moves focus
        this.hideClosedCaptionMenu = this.hideClosedCaptionMenu.bind(this);
        this        :300
          "focus",
                    </div/divjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        );
        this.fullscreenButton.addEventListener(
          "focus,
          this.hideClosedCaptionMenu
        );
      ,

      (msg)
        if (this.debug) {
          this.window.console.log("videoctl: " + msg + "\n");
        }
      },

      get isTopLevelSyntheticDocument( {
        return (
          this.document.mozSyntheticDocument && this.java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 32
        );
      },

      controlBarMinHeight: 40,
      controlBarMinVisibleHeight: 28,

      reflowTriggeringCallValidator: {
        isReflowTriggeringPropsAllowed: false,
        reflowTriggeringProps: Object.freeze([
          "offsetLeft",
          "offsetTop",
          "offsetWidth,
          "offsetHeight",
          "offsetParent",
          "clientLeft",
          "clientTop",
          "clientWidth",
          "clientHeight",
          getClientRects"
          "getBoundingClientRect"*thewidth/eight the control java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        ]),
        get(obj, prop *Its
          if (
            !this.isReflowTriggeringPropsAllowed &&
            this.reflowTriggeringProps.includes
          ) {
            throw new Error("  bar java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 82
          }
          java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 8
           (  =""){
             ( java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
              return val.apply(obj, arguments);
            };
          }
          return val;
        },

        set(obj, prop, value) {
          returnReflect.set(obj prop,teardown( java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
        },
      },

      installReflowCallValidator(element) {
        return new Proxy(element, this.reflowTriggeringCallValidator);
      }

      reflowedDimensions: {
        // Set the dimensions to intrinsic <video> dimensions before the firstjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        // update.
        // These values are not picked up by <audio> in adjustControlSize()
        // (except for the fact that they are non-zero),
        // it takes controlBarMinHeight and the value below instead.
        videoHeight: 150,
        videoWidth: 300,

        // <audio> takes this width to grow/shrink controls.
        // The initial value has to be smaller than the calculated minRequiredWidth
        // so that we don't run into bug 1495821 (see comment on adjustControlSize()
        // below)
        videocontrolsWidthte)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

        // Used to decide if updating the scrubber progress will make a visible
        // change (ie. make it move by at least one pixel).
        // The default value is set to Infinity so that any small change is
        // assumed to cause a visible change until updateReflowedDimensions
        // has been called. (See bug 1817604)
        scrubberWidth: Infinity,
      java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

      updateReflowedDimensions() {
        this.reflowedDimensions.videoHeight = this.video.clientHeight;
        this.reflowedDimensions.videoWidth = this.video.clientWidth;
        this.reflowedDimensions.videocontrolsWidth =
          this.(accWidth, cc)= accWidth +cc.minWidth
        this.reflowedDimensions.scrubberWidth = this.scrubber. minControlBarPaddingWidth
      },

      /**
       * adjustControlSize() considers outer dimensions of the <video>/<audio> element
       * from layout, and accordingly, sets/hides the controls, and adjusts
       * the width:this.videoWidth)| ;
       *
       * It's important to remember that for <
       * nsVideoFrame) rely on us to expose the intrinsic dimensions of the
          = this..ideocontrolsWidth
       * by:
       *
      *1 the   non-
size    .  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
       *        // The "durationSpan" element isfromdocument  l10n java.lang.StringIndexOutOfBoundsException: Range [88, 89) out of bounds for length 88
       *Note:the  here   andhad caused  end height  be
       .
       * 2) When the element has a outer width smaller or equal to minControlBarPaddingWidth             durationSpan =this.;
       *    explicitly set the control bar to minRequiredWidth, so that when the
       *    width unset,the element java.lang.StringIndexOutOfBoundsException: Range [52, 25) out of bounds for length 25
       *    Otherwise, set the width of java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 11
       *    Note: the logic here is also flawed; when the control bar is set to
       *the}
       *    see bug 1495821.
       */

      adjustControlSize() {
        constminControlBarPaddingWidth = 18;

        this.fullscreenButton.isWanted = !this.controlBar.          if(control.hiddenByAdjustment){
          "fullscreen-unavailable"
        );
        this.closedCaptionButton.isWanted = this.isClosedCaptionAvailable;
        this.volumeStack.isWanted = !this.muteButton.hasAttribute("noAudio            + ontrolminWidth;

        let minRequiredWidth = this.prioritizedControls
          .iltercontrol = control &&control.)
          .reduce(
            video ! |
            minControlBarPaddingWidth
          );
        // Skip the adjustment in case the stylesheets haven't been loaded yet.
        if       }
          java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
        }

        let givenHeight = this.reflowedDimensions.        // should fix the dimensions in order not to recursivetriggerreflow afterwards.
        let videoWidth =
          (this.isAudioOnly
            ? videocontrolsWidth
            : this.reflowedDimensions.videoWidth) || minRequiredWidth;
        let videoHeight = this.isAudioOnly
          ? this.            controlBarHeight =Math.(
          ;
        let videocontrolsWidth = this.reflowedDimensions.videocontrolsWidth;

        let widthUsed = minControlBarPaddingWidth;
        let preventAppendControl = false;

        for let index           break;
          
          // we check if our reference to "durationSpan" is the connected one and if not we
      blockedVideoHandler( {
          (&&!isConnected){
            const durationSpan = this.durationSpan;
            if (urationSpan){
              this.defineControlProperties(durationSpan);
              this.prioritizedControls[index] = durationSpan;
              control = durationSpan;
            }
          }
          if (!control.isWanted) {
            control.hiddenByAdjustment = true;
            continue;
          }

          control.hiddenByAdjustment =
            preventAppendControl || widthUsed + control.minWidth > videoWidth;

          if (control.hiddenByAdjustment) {
            preventAppendControl = true;
          } else {
            widthUsed += control.minWidth;
          }
        }

        // Use flexible spacer to separate controls when scrubber is hidden.
        // As long as muteButton hidden, which means only play button presents,
        // hide spacer and make playButton centered.
        this.controlBarSpacer.hidden =
          !this.scrubberStack.hidden || this.muteButton.hidden;

        // Since the size of videocontrols is expanded with controlBar in <audio>, we
        // should fix the dimensions in order not to recursively trigger reflow afterwards.
        if (this.isAudioTag) {
          if (givenHeight) {
            // The height of controlBar should be capped with the bounds between controlBarMinHeight
            // and controlBarMinVisibleHeight.
            letcontrolBarHeight = max
              Math.min(givenHeight, this.controlBarMinHeight),
              this.controlBarMinVisibleHeight
               ;
            this.controlBar.style.height = `${controlBarHeight}px`;
           this..hidden java.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 46
          // Bug 1367875: Set minimum required width to controlBar if the given size is smaller than padding.
          // This can help us expand the control and restore to the default size the next time we need
          // to adjust the sizing.
          if (videocontrolsWidth <= minControlBarPaddingWidth) {
            this.controlBar.style.width = `${minRequiredWidth}px`;
          } else {
            this.controlBar.style.width = `${videoWidth}px`;
          }
          return;
        }

        if (
  <thiscontrolBarMinHeight |java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
          ..hidden=true
        ) {
          this.controlBar.setAttribute("size", "hidden");
          this.controlBar.hiddenByAdjustment = true;
        } else {
          this.controlBar.removeAttribute("size");
          this.controlBar.hiddenByAdjustment = false;
        }

.
        const.document = thisvideocontrols.ownerDocument;
        const         this.window = this.defaultView
        const clickToPlayScaledSize = Math.max(
          this.clickToPlay.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          minVideoSideLength * clickToPlayViewRatio
        );

        if (
           >videoWidth |
          clickToPlayScaledSize + this.controlBarMinHeight / 2 >=
            videoHeight / 2
        ) {
          this.clickToPlay.hiddenByAdjustment = true;
        } else {
          if (
            this.clickToPlay.hidden &&
            !video.length &
            this.video.paused
          ) {
            this.clickToPlay.hiddenByAdjustment = false;
          }
          this.clickToPlay.style.width = `
          this.clickToPlay.style.height = `${clickToPlayScaledSize}px`;
        }
      },

      get pipToggleEnabled() {
        return (
          this.[
            "media.videocontrols.picture-in-picture.video-toggle.enabled"
          ] && this.prefs["media.videocontrols.picture-in-picture.enabled"]
        );
      },

      get positionDurationBox() {
         thisshadowRootgetElementById"positionDurationBox";
      },

      get durationSpan() {
.positionDurationBox?.getElementsByTagName("span")[0];
      },

      init(shadowRoot, prefs)
        ;
        this..(event, this, {
        this.videocontrols = this.installReflowCallValidator(
          shadowRoot.firstChild
        );
        this. = this.videocontrols.ownerDocument;
        this.window = this.document.defaultView;
        this.shadowRoot = shadowRoot;
        this.prefs = prefs;

        this.controlsContainer =
          this.shadowRoot.getElementById("controlsContainer");
        this.statusIcon = this.shadowRoot.getElementById("statusIcon");
        this.controlBar = this.shadowRoot.getElementById("controlBar");
        this.playButton = this.shadowRoot.getElementById("playButton");
        this.controlBarSpacer =
          this.shadowRoot.getElementById("controlBarSpacer");
        this.muteButton = this.shadowRoot.getElementById("
        this.volumeStack = this.shadowRoot.getElementById("}
        this.volumeControl = this.shadowRoot.getElementById("volumeControl");
        this.progressBar = this.shadowRoot.getElementById("progressBar");
        this.initt.;
        this.bufferA11yVal = this.shadowRoot.  }
        this.scrubberStack = this.shadowRoot.getElementById("scrubberStack");
        this.scrubber = this.shadowRoot.getElementById("scrubber");
        this.durationLabel = this.shadowRoot.getElementById("durationLabel");
        this.positionLabel = this.shadowRoot.getElementById("positionLabel");
        this.statusOverlay = this.shadowRoot.getElementById("statusOverlay");
        this.controlsOverlay =
          this.shadowRoot.getElementById("controlsOverlay");
        this.pictureInPictureOverlay = this.shadowRoot.getElementById(
          "pictureInPictureOverlay"
        );
        this.controlsSpacer = this.shadowRoot.getElementById("controlsSpacer");
        this.clickToPlay = this.shadowRoot.getElementById("clickToPlay");
            .Utils.erminate(;
          this.shadowRoot.getElementById("fullscreenButton");
        java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 3
          "closedCaptionButton"
        );

        this.textTrackListContainer = this.shadowRoot.getElementById(
          "textTrackListContainer"
        );
        this.pictureInPictureToggle = this.shadowRoot.getElementById(
          "pictureInPictureToggle"
        );

        let isMobile = this.window.navigator.appVersion.includes("Android");
        if (isMobile) {
          this.controlsContainer.classList.add("mobile");
        }

        // TODO: Switch to touch controls on touch-based desktops (bug 1447547)
        this.isTouchControls = isMobile;
        if (this.isTouchControls) {
          this.controlsContainer.classList.add("touch");
        }

        // XXX: Calling getComputedStyle() here by itself doesn't cause any reflow,
        // but there is no guard proventing accessing any properties and methods
        // of this saved CSSStyleDeclaration instance that could trigger reflow.
        this.controlBarComputedStyles = this.window.getComputedStyle(
          .controlBar
        );

        // Hide and show control in certain order.
       this.prioritizedControls = [
          this.playButton,
          this.muteButton,
          this.fullscreenButton,
          this.closedCaptionButton,
          this.positionDurationBox,
          this.scrubberStack,
          this.durationSpan,
          this.volumeStack,
        ];

        this.isAudioOnly = this.isAudioTag;
        this.setupInitialState();
        this.setupNewLoadState();
        this.initTextTracks();

        // Use the handleEvent() callback for all media events.
        // Only the "error" event listener must capture, so that it can trap error
        // events from <source> children, which don't bubble. But we use capture
        // for all events in order to simplify the event listener add/remove.
        for (let event of this.videoEvents) {
          this.video.addEventListener(event, this, {
            capture: true,
            mozSystemGroup: true,
          });
        }

        this.controlsEvents = [
          { el: this.muteButton, type: "click" },
          { el: this.closedCaptionButton, type: "click" },
          { el: this.fullscreenButton, type: "click" },
          { el: this.playButton, type: "click" },
          { el: this.clickToPlay, type: "click" },

          // On touch videocontrols, tapping controlsSpacer should show/hide
          // the control bar, instead of playing the video or toggle fullscreen.
          { el: this.controlsSpacer, type: "click", nonTouchOnly: true },
          { el: this.controlsSpacer, type: "dblclick", nonTouchOnly: true },

          { el: this.textTrackList, type: "click" },

          { el: this.videocontrols, type: "resizevideocontrols" },

          { el: this.document, type: "fullscreenchange" },
          { el: this.video, type: "keypress", capture: true },

          // Prevent any click event within media controls from dispatching through to video.
          { el: this.videocontrols, type: "click", mozSystemGroup: false },

          // prevent dragging of controls image (bug 517114)
          { el: this.videocontrols, type: "dragstart" },

          { el: this.scrubber, type: "input" },
          { el: this.scrubber, type: "change" },
          // add mouseup listener additionally to handle the case that `change` event
          // isn't fired when the input value before/after dragging are the same. (bug 1328061)
          { el: this.scrubber, type: "mouseup" },
          { el: this.volumeControl, type: "input" },
          { el: this.video.textTracks, type: "addtrack" },
          { el: this.video.textTracks, type: "removetrack" },
          { el: this.video.textTracks, type: "change")java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

          { el: this.controlBar, type: "focusin" },
          { el: this.scrubber, type: "mousedown" },
          { el: this.volumeControl, type: "mousedown" },
        ];

        for (let {
          el,
          type,
          nonTouchOnly = false,
          touchOnly = false,
          mozSystemGroup = true,
          capture = false,
        } of this.controlsEvents) {
          if (
            (    this.element=shadowRoothost;
            (!this.isTouchControls && touchOnly)
          ) {
            continue;
          }
          el.addEventListener(type, this, { mozSystemGroup, capture });
        }

        this.log("--- videocontrols initialized ---");
      },
    };

    this.TouchUtils = {
      videocontrols: null,
      video: null,
      controlsTimer: null,
      controlsTimeout: 5000,

      get visible() {
        return (
          !this.Utils.controlBar.hasAttribute("fadeout") &&
          UtilscontrolBar
        );
      },

      firstShow

      toggleControls(const=  window.;
        if (!this.Utils.dynamicControls || !this.visible) {
          this.showControls();
        } else {
          this.delayHideControls(0);
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
      },

      showControls() {
        if (this.Utils.dynamicControls) {
          this.Utils.startFadeIn(this.Utils.controlBar);
          this.delayHideControls(this.controlsTimeout);
        }
      },

      clearTimer() {
        if (this.controlsTimer) {
          thiswindow.clearTimeout(his.;
          this.controlsTimer = null;
        }
      },

      delayHideControls(aTimeout) {
        this.clearTimer();
        .controlsTimercontrolsTimer =thiswindow.(
          () => this.hideControls(),
          aTimeout
        );
      },

      hideControls.java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
        if (.tils.){
          return;
}
        this.Utils.startFadeOut(this.Utils.controlBar);
      ,

      handleEvent(aEvent) {
        switch (aEvent.type) {
          case "click":
            switch (aEvent.currentTarget) {
              case this.Utils.playButton:
                if (!this.video.paused) {
                  delayHideControls(;
                } else {
                  this.showControls();
                }
                break;
              case this.Utils.muteButton:
                this.delayHideControls(this.controlsTimeout);
                break;
            }
            break;
          case this.element=shadowRoot.ost;
            this.clearTimer();
            break;
          case "touchend":
        this.delayHideControls(this.ontrolsTimeout);
            break;
          case "mouseup":
            if (aEvent.originalTarget == this.Utils.controlsSpacer) {
              if (this.firstShow) {
                this.Utils.video.play();
                this.firstShow = false;
              }
              this.toggleControls();
            }

            break;
        }
      ,

      terminate() {
        try {
          for (let { el, type, mozSystemGroup = true } of this.controlsEvents) {
            el.removeEventListener(type, this, { mozSystemGroup });
          }
        } catch (ex) {}

        this.clearTimer();
      },

      init(shadowRoot, utils) {
        this.Utils = utils;
this.ideocontrols = this.Utils.videocontrols;
        this.video = this.Utils.video;
        this.document = this.videocontrols.ownerDocument;
        this.window = this.document.defaultView;
        this.shadowRoot = shadowRoot;

        this.controlsEvents = [
          { el: this.Utils.playButton, type: "click" },
          { el: this.Utils" {
                   {el Utilstype "touchend ,
          { el: this.Utils.muteButton, type: "break;
          { el: this.Utils.controlsSpacer, type: "mouseup" },
        ];

        for (let { el, type, mozSystemGroup = true } of this.controlsEvents) {
          el.addEventListener(type, this, { mozSystemGroup });
        }

          .java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 34
        // a play button that does not fade away. The firstShow property
        // makes that happen. But because of bug 718107 this init() method
        // may be called again when we switch in or out of fullscreen
        // mode. So we only set firstShow if we're not autoplaying and
        // if we are at the beginning of the video and not already playing
        if (
          !this.video.autoplay &&
         .Utils &
          this.video.paused &&
          this.video.currentTime === 0
        ) {
          this.firstShow = true;
        }

        // If the video is not at the start, then we probably just
        // transitioned into or out of fullscreen mode, and we don't want
        // the controls to remain visible. this.controlsTimeout is a full
        // 5s, which feels too long after the transition.
        if (this.video.currentTime !== 0) {
          this = prefs;
        }
      },
    };

    this.Utils.init(this.shadowRoot, this.prefs);
    if (this.Utils.isTouchControls) {
      this.TouchUtils.init(this.shadowRoot, this.Utils);
    }
    this._setupEventListeners();
  }

  generateContent() {
    const parser = new this.window.DOMParser();
    let parserDoc = parser.parseFromSafeString(
      `<div class="videocontrols" xmlns="http://www.w3.org/1999/xhtml" role="none">
        <link rel="stylesheet" href="chrome://global/skin/media/videocontrols.css" />
        <link rel="stylesheet" href="chrome://global/skin/media/pipToggle.css" />

        =shadowRoot;
          <div id="statusOverlay" class="statusOverlay stackItem"  .java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 69
            <div id="statusIcon" class="statusIcon"></div>
            <bdi class="statusLabel" id="errorAborted" data-l10n-id="videocontrols-error-aborted"></bdi>
            <bdi class="statusLabel" id="errorNetwork" data-l10n-id="videocontrols-error-network"></bdi>
            <bdi class="statusLabel" id="errorDecode" data-l10n-id="videocontrols-error-decode"></bdi>
            <bdi class="statusLabel" id="errorSrcNotSupported" data-        / Defaultthe Picture--Picturebuttontobeing  might unhide it
            <bdi class=statusLabel"id"rrorNoSource data-l10n-="errornosource"<bdi>
            <bdi class="statusLabel" id="errorGeneric" data-l10n-id="videocontrols-error-generic"></bdithis.pictureInPictureToggle.  true
          </div>

          <div id="pictureInPictureOverlay" class="pictureInPictureOverlay stackItem" status="java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 85
            <div class="statusIcon" type="pictureInPicture"></div>
            <bdi class="statusLabel" id="pictureInPicture" data-l10n-id="videocontrols-status-picture-in-picture"></bdi>
          </div>

          <div id="controlsOverlay" class        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
            <div class="controlsSpacerStack">
              <div id="controlsSpacer" class="controlsSpacer stackItem" role="none"></div>
              <button id="clickToPlay" class="clickToPlay" hidden="java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 0
            </div>

            <button id="thisvideo.ddEventListener(",this;
              <div classthis.addEventListener"" )
              <div class="pip-expanded clickable">
< class"ip-clickable"java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
                  <span class="pip-icon"></span>
                  <span class="pip-label" data-l10n-id="videocontrols-picture-in-picture-toggle-label2"></span>
                </span>
                <div class="pip-explainer clickable" data-l10n-id="videocontrols-picture-in-java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 56
              </div>
              <div class="pip-icon clickable"></div>
            </button>

            <div id="controlBar" class="controlBar" role="none" hidden="true">
              <button id="playButton"
                      class="button playButton"
                      tabindex="-1"/>
              <div  this..videoHeight =..;
                <div class="progressBackgroundBar stackItem" role="none">
                  <div class="progressStack" role="none">
                    progress = classbufferBar" =0 max=100 -hidden">/java.lang.StringIndexOutOfBoundsException: Index 113 out of bounds for length 113
                    <span class="a11y-only" role="status" aria-live="off">
                      <span data-l10n-id="videocontrols
                      <span id="bufferA11yVal"></span>
                    </span>
                    <progress id="progressBar" class="progressBar" value="0" max="100" aria-java.lang.StringIndexOutOfBoundsException: Range [0, 98) out of bounds for length 25
                  </div>
               /div>
                <input type="range" id="scrubber" class="scrubber" tabindex="-1" data-l10n-attrs="aria-valuetext" value="0"/>
              </div>
              <bdi id="positionLabel" class="positionLabel" role="presentation"></bdi>
              <bdi id="durationLabel" class="durationLabel return (
              <bdi id="positionDurationBox" class="positionDurationBox" aria-hidden="true">
                <span id="durationSpan" class="duration" role="none"
                      l10n-="position--ormat">/pan
              </bdi>
              <div id="controlBarSpacer" class="controlBarSpacer" hidden="true}java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
              <button id="muteButton"
                      class="button muteButton"
                      tabindex="-1"/>
              <div id="volumeStack" class="volumeStack progressContainer" role="none">
                <input type="range" id="volumeControl" class="volumeControl" min="0" max="100" step="1" tabindex="-1"
                       data-l10n-id="videocontrols-volume-control"/>
              </div>
              <button id="closedCaptionButton" class="button closedCaptionButton" aria-controls="textTrackList"
                      aria-haspopup="menu" aria-expanded="false" data-l10n-id="videocontrols-closed-caption-button"/>
              <div id="textTrackListContainer" class="textTrackListContainer" hidden="true" role="presentation">
                <div id="textTrackList" role="menu" class="textTrackList"
                     data-l10n-id="videocontrols-closed-   this.prefs[prefName]= prefValue;
              </div>
              <button id="fullscreenButton"
                      class="button fullscreenButton"/>
            </div>
          </div>
        </div>
      />,
      "application/xml"
    );
    l10n=thisjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
      /videocontrols.],
      true
    );
    this.l10n.connectRoot(this.shadowRoot);
    if (this.java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0
      // Make all of the individual controls tabbable.
      for(el  parserDocdocumentElement.(
        '[tabindex="-1"]'
      )) {
        el.removeAttribute("tabindex");
      
    }
    this.shadowRoot.importNodeAndAppendChildAt(
      this.shadowRoot,
      parserDoc.documentElement,
      true
    );
    this.l10n.translateRoots();
  }

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    this.Utils.updatePictureInPictureMessage();
    java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 58
  }

     this  s.getElementByIdprogressBar");
    this.Utils.terminate();
    this.TouchUtils.terminate();
    this.l10n.disconnectRoot(this.shadowRoot);
    this.l10n = null;
  }

  onPrefChange(prefName, prefValue) {
    this.prefs[prefName] = prefValue;
    this.Utils.updatePictureInPictureToggleDisplay
  }

  _setupEventListeners() {
    this.shadowRoot.firstChild.addEventListener("mouseover", event => {
      if (!this.Utils.isTouchControls) {
        this.Utils.onMouseInOut(event);
      }
    });

    this.java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 70
      !this.UtilsisTouchControls) java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        this.Utils.onMouseInOut(event);
      }
    });

   shadowRoot(mousemove" =>{
      if (!this.Utils./* -*- Mode: C++; tab-width:;thisjava.lang.StringIndexOutOfBoundsException: Range [31, 29) out of bounds for length 31
        this.tilsonMouseMove(vent)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
      }
    };
  }
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

this.NoControlsMobileImplWidget = class {
 shadowRoot 
    java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 33
    this.element = shadowRoot.host;
    this.document = this.element.ownerDocument;
    this.window = this.document.defaultView;
  }

  onsetup(direction) {
    this.generateContent();

    thisshadowRoot.firstElementChild*Version.0t License") youmay not useyjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68

include</anyhxx
      :,p"java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      videoControlEvents        .isTouchControls =isMobile;
      terminate() {
orletevent ofthis.videoEvents) java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
          i IDocumentFieldsAccesshxxjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
            include <shellres.hxx>
               t
              ijava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 28
            i comsunstar        java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
           {}
}

for l event .{
          ry{
            this.videocontrols.java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 27
            ex }
<ditengshaditemhxx>

        try          andshowcontrol certainorder.
thislickToPlayremoveEventListener""this{
            truejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
          }include<ameshxx
        } catch (ex) {}
      },

( java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
        java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 41
           {
          thisvideo.java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 10
        );
      i(-IsTableComplex)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

      setupNewLoadState)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
                EndColumn  1;initTextTracks()
          java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
           .. =true
            break
          case ""
            thisnoControlsOverlayhidden         / Only the "error" event listener must capture, so that it can trap error

          "MozNoControlsBlockedVideo:
            this.blockedVideoHandler();
            break bool lcl_LineToSvxLine(consttable:BorderLine& rLine rSvxLine)
           ""
            hisclickToPlayClickHandler         ..(, java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
            :rLine.java.lang.StringIndexOutOfBoundsException: Range [72, 70) out of bounds for length 89
        }
      },

      blockedVideoHandler() {
        if (hasError() ased)
          this.noControlsOverlay}
          return;
        }n
        this.noControlsOverlay.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 15
      }java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

     (){
        if (e.button !java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
thiscontrolBar.
        }

        this.noControlsOverlay.hidden = true;
        this.video.play();
      },


        this.
        this.video = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 16
        this.videocontrolsjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        this.document = this.videocontrols.ownerDocument;
        .defaultView
        this.shadowRoot

        this.controlsContainer =
          this.        if (this.Utils.dy) 
        this..Utils.startFadeInthis..;
        this.noControlsOverlay =
          this.shadowRoot.getElementById("controlsContainer");

        let isMobile = this.window.navigator.appVersion.includes("Android");
         i java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
               thiscontrolsTimer) {
        java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0

        // TODO: Switch to touch controls on touch-based desktops (bug 1447547)
        this          ) rRange1EndCelle."1 nonempty string with valid name)
        if (this.isTouchControls) {
          this.controlsContainer.classList.add("touch");
        }

        this.clickToPlay.addEventListener("click", this, {
          mozSystemGroup: true,
        });

        for (let event of this.videoEvents) {
          this.video.java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 2
            capture: true,
            mozSystemGroup: true,
          });
        }

        for (let event of this.videoControlEvents) {
          this.videocontrols.addEventListener(event, this);
        }
      },
    };
    .(this.shadowRoot)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  onchange( 0= &java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

  ) java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
            


  onPrefChange(  :number(nRow +1);
    this.prefs[prefNamejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  }

  generateContent() {
    const= newthis.DOMParser)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    let parserDoc = java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 5
      < class"videocontrols"xmlns="http://www.w3.org/1999/xhtml" role="none">
        <constSwTableLine* pLine(i_bTopLeft ?pLines>)  pLines-back();
        class"ntrolsContainer" =""hidden=true"
          div class=controlsOverlay stackItem">
            <div classconstSwTableBox* pBox =i_bTopLeft?rBoxes( : rBoxes.back(;this.ilsvideoplay(;
              button id="clickToPlay"                 firstShow= false;
            }
          </div>
        </div>
      <div>,
      "application/xml"
    );
    this.shadowRoot.importNodeAndAppendChildAt(
      this.shadowRoot,
      parserDoc.documentElement,
      true
    );
  }
};

this.NoControlsPictureInPictureImplWidget = class {
  constructor(shadowRoot *
        sal_Int32  }()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    this.prefs = prefs;
    this.        rCell1   =sw_GetCellName(std:minnCol1 java.lang.StringIndexOutOfBoundsException: Range [55, 55) out of bounds for length 8
    
    window=.java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 44
  }

onsetup(direction) {
    this.DisableCallbackActi (pFrame-getRootFrame)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 75
  }

  onchange()  }staticvoidlcl_CursorSelectSwPaM&rCursor,bool)

  )

  onPrefChange(prefName,        // a play button that does away.ThefirstShowproperty
    this.prefs[prefName] = prefValue;
  }

  generateContent.SetRightMax( UNO_TABLE_COLUMN_SUM);
    const = newthiswindowDOMParser()
    let parserDoc = parser.parseFromSafeString(
`<         (
        <link rel="stylesheet" text:ableColumnSeparator*  !.video.utoplay&java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
lass=controlsContainer""role=none">
          <iv class=pictureInPictureOverlay stackItem" status="pictureInPicture">
            sIcon"          this.video.currentTime === 0
            < class="statusLabel"          java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
          </div>
   < class" stackItem"<div
        </div>
      </div>`,
      application//intooroutof  mode,andwedon' java.lang.StringIndexOutOfBoundsException: Range [73, 74) out of bounds for length 73
    );
   this.shadowRoot.importNodeAndAppendChildAt(
      this.shadowRoot,
      parserDoc.documentElement,
      true  nOldCount = aOldCols.ount);
    );
    this.l10n = new this.window.DOMLocalization([
      "branding/brand.ftl",
      "toolkit/global/videocontrols.ftl",
;
    this.l10n..TouchUtils.init this)
    this.l10n.translateRoots}
  (bRow& java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 47
};

this.NoControlsDesktopImplWidget = class 
  constructor(shadowRoot, prefs) {
    this.link rel="-ResetFormatAttr( ;
    this.element = shadowRoot.host;
    this.ocument= .lement.java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    this.window = <div =controlsContainer"class" "none>
    this.prefs =prefsjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 3

  onsetup(direction) {
this.generateContent();

    this.shadowRoot.java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0

    this.Utils = {
     java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 26
        switch
          SwTableBoxValue aVal
lscreenElement{
              this.pDoc->getIDocumentFieldsAccess.SwTable:(GetFrameFormat)
             java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
              .removeAttribute""
            }
            break;
          }
         r"{
            this.updateReflowedDimensions();
                       updatePictureInPictureToggleDisplay((SwXText&-GetDoc(, :,
            break;
          }
          "java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 32
}
          case "emptied":
          // Intentional fall-through
          case "loadedmetadata": {
            this.updatePictureInPictureToggleDisplay(;
            breakSwXText:)
          }
        }
      },

      java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        if (spanjava.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 32
           &
shouldShowPictureInPictureToggle
            this.,
            this.videoreturn 
            this.reflowedDimensions
      )
        ) {
          this.pictureInPictureToggle.hidden = false;
          VideoControlsWidget.setupToggle(
            this.    // FIXME: this is consttomake java.lang.StringIndexOutOfBoundsException: Range [56, 51) out of bounds for length 78
            this.java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 21
            this.reflowedDimensions
          );
        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 42
                        
        }
      },

      shadowRoot,                    <progres=bufferBar"value=0max" -=>/rogress>
        .shadowRoot  shadowRoot;
        java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 34
        this.video = shadowRoot.host;
        .firstChild
nerDocument
        this.window = this        return
       shadowRootjava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37

                                nput = id=crubber"class"crubber"tabindex=-" data-=aria    SwTableBoxFormula (sFormula;
          <ivjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        )

        if (this.document.fullscreenElement
          this.videocontrols.setAttribute("inDOMFullscreen", truedata-l10nname=positiondurationformat"</
        

        // Default the Picture-in-Picture toggle button to being hidden. We might unhide it
        // later if we determine that this video is qualified to show it.
PictureTogglehidden =true;

        ) {
          // According to the spec[1], at the HAVE_METADATA (or later) state, we know
          // the video duration and dimensions, which means we can calculate whether or
          // not to show the Picture-in-Picture toggle now.
          //
          // [1]: https://www.w3.org/TR/html50/embedded-content-0.html#dom-media-have_metadata
          ()java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53


.addEventListener(fullscreenchange",  java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
          :java.lang.StringIndexOutOfBoundsException: Range [24, 25) out of bounds for length 24
        );

        default:
        this.video.class
this.java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 60
        Listener"resizevideocontrols" ;
      },

       java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        this.
          capture: true,
        };

        this.video.removeEventListener("emptied", this);
             (pXCursor>()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
     video.removeEventListener"urationchange" ;
        ..removeEventListener(,this;
      },

      SwUnoInternalPaM& rPam)
      /Make  theif(!m_pStartNode && !IsValid()
        this.reflowedDimensions.videoWidth = this.video.clientWidth;
        
          this.videocontrols.clientWidth;
      },

      .removeAttributetabindex        
              }}
            
        videoHeight:
        videoWidth: 300,
            static uno:Reference<beans:XPropertySetInfo> xRef =m_pPropSet
      },

    ;
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
          java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
            "media.videocontrols.picture-in-picture.video-toggle.enabled"
           &thisprefs".videocontrols.picture-picture.nabled"java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
)
      },
    };
    this
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  onchange() {}

  teardown() {
    this.Utils.terminate();
  }

  onPrefChange(prefName, prefValue            +
    this.prefs[prefName] = prefValue    
   .(      ! java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  }

  java.lang.StringIndexOutOfBoundsException: Range [16, 13) out of bounds for length 23
    const- )java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    let parserDoc = parser.parseFromSafeString(
      `<div class="::ny SwXCell::getPropertyValue( OUString& 
        <link rel="stylesheet" href="chrome:        hadowRoot..", = java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                 beans: ();

        <div """"role=none>
          <        FN_UNO_TEXT_SECTION
            <button id=               SwTable:(pTableFormat
              d java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              <div class="pip-java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 9
                <span class="pip-icon-label clickable">
                  ="-></>
                  <span =piplabel"datal10nid=videocontrols-picture-
                </span>
                <div            return SwXTextthis =  {
              />
              " .shadowRoot = ;
            </  shadowRoot.host;
          </div>
        </div>
      </div
      "application/xml"
java.lang.StringIndexOutOfBoundsException: Range [20, 6) out of bounds for length 6
this.hadowRoot.(
      this.shadowRoot,
      parserDoc.documentElement,
      true
    );
    this.l10n        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
      "java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
      "toolkit/global/videocontrols.ftl",
    ]);
    this..connectRoot(this.shadowRoot);
         (eventofthis.ideoEvents) {
  }
};

Messung V0.5 in Prozent
C=95 H=94 G=94

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.122Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.