tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

zdf.js (1215B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 "use strict";
      6 
      7 class PictureInPictureVideoWrapper {
      8  setCaptionContainerObserver(video, updateCaptionsFunction) {
      9    let container = document.querySelector('div[class^="subtitle-container"]');
     10 
     11    if (container) {
     12      updateCaptionsFunction("");
     13      const callback = function () {
     14        let textNodeList = container.querySelectorAll("span");
     15        if (!textNodeList.length) {
     16          updateCaptionsFunction("");
     17          return;
     18        }
     19 
     20        updateCaptionsFunction(
     21          Array.from(textNodeList, x => x.textContent).join("\n")
     22        );
     23      };
     24 
     25      // immediately invoke the callback function to add subtitles to the PiP window
     26      callback();
     27 
     28      this.captionsObserver = new MutationObserver(callback);
     29 
     30      this.captionsObserver.observe(container, {
     31        childList: true,
     32        subtree: true,
     33      });
     34    }
     35  }
     36 
     37  removeCaptionContainerObserver() {
     38    this.captionsObserver?.disconnect();
     39  }
     40 }
     41 
     42 this.PictureInPictureVideoWrapper = PictureInPictureVideoWrapper;