mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-14 15:56:38 +03:00
e8e28073c1
A localization system was added to the demo, in preparation for future localizations of the demo page. However, such further localizations were never added, and it seems likely that they will never be added. Given that it will almost definitely never be used, the localization system has just become an annoyance that makes adding new features to the demo more difficult, so this removes the system entirely.
61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
/*! @license
|
|
* Shaka Player
|
|
* Copyright 2016 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
|
|
goog.provide('shakaDemo.CloseButton');
|
|
|
|
|
|
/**
|
|
* A custom UI button, to allow users to close the video element.
|
|
* This cannot actually extend shaka.ui.Element, as that class does not exist
|
|
* at load-time when in uncompiled mode.
|
|
* @extends {shaka.ui.Element}
|
|
*/
|
|
shakaDemo.CloseButton = class extends shaka.ui.Element {
|
|
/**
|
|
* @param {!HTMLElement} parent
|
|
* @param {!shaka.ui.Controls} controls
|
|
*/
|
|
constructor(parent, controls) {
|
|
super(parent, controls);
|
|
this.button_ = document.createElement('button');
|
|
this.button_.classList.add('material-icons-round');
|
|
this.button_.classList.add('close-button');
|
|
this.button_.textContent = 'close'; // Close icon.
|
|
this.parent.appendChild(this.button_);
|
|
|
|
this.button_.addEventListener('click', () => {
|
|
shakaDemoMain.unload();
|
|
});
|
|
|
|
if ('documentPictureInPicture' in window) {
|
|
this.eventManager.listen(
|
|
window.documentPictureInPicture, 'enter', () => {
|
|
this.button_.style.display = 'none';
|
|
const pipWindow = window.documentPictureInPicture.window;
|
|
this.eventManager.listen(pipWindow, 'pagehide', () => {
|
|
this.button_.style.display = 'block';
|
|
});
|
|
});
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* @implements {shaka.extern.IUIElement.Factory}
|
|
* @final
|
|
*/
|
|
shakaDemo.CloseButton.Factory = class {
|
|
/** @override */
|
|
create(rootElement, controls) {
|
|
return new shakaDemo.CloseButton(rootElement, controls);
|
|
}
|
|
};
|
|
|
|
// This button is registered inside setup in shakaDemo.Main, rather than
|
|
// statically here, since shaka.ui.Controls does not exist in this stage of the
|
|
// load process.
|