Simplify extensionMode things
This commit is contained in:
parent
877fc96da1
commit
ee32ae93c3
@ -1,10 +1,9 @@
|
||||
enum ExtensionMode {
|
||||
AutoDisabled = -2,
|
||||
Disabled = -1,
|
||||
Default = 0,
|
||||
Whitelist = 1,
|
||||
Basic = 2,
|
||||
Enabled = 3,
|
||||
};
|
||||
FullScreen = 1,
|
||||
Theater = 2,
|
||||
All = 3
|
||||
}
|
||||
|
||||
export default ExtensionMode;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
enum ExtensionMode {
|
||||
enum LegacyExtensionMode {
|
||||
AutoDisabled = -2,
|
||||
Disabled = -1,
|
||||
Default = 0,
|
||||
@ -7,4 +7,4 @@ enum ExtensionMode {
|
||||
Enabled = 3,
|
||||
};
|
||||
|
||||
export default ExtensionMode;
|
||||
export default LegacyExtensionMode;
|
||||
|
||||
@ -10,9 +10,9 @@ import StretchType from '../enums/StretchType.enum'
|
||||
import VideoAlignmentType from '../enums/VideoAlignmentType.enum'
|
||||
|
||||
export enum ExtensionEnvironment {
|
||||
Normal = 'normal',
|
||||
Theater = 'theater',
|
||||
Fullscreen = 'fullscreen',
|
||||
Normal = ExtensionMode.All,
|
||||
Theater = ExtensionMode.Theater,
|
||||
Fullscreen = ExtensionMode.FullScreen,
|
||||
}
|
||||
|
||||
export interface DevUiConfig {
|
||||
@ -48,12 +48,6 @@ interface RestrictionsSettings {
|
||||
onlyAllowAutodetectionInFullScreen?: boolean; // if enabled, autodetection will only start once in full screen
|
||||
}
|
||||
|
||||
interface ExtensionEnvironmentSettingsInterface {
|
||||
normal: ExtensionMode,
|
||||
theater: ExtensionMode,
|
||||
fullscreen: ExtensionMode,
|
||||
}
|
||||
|
||||
export interface CommandInterface {
|
||||
action: string,
|
||||
label: string,
|
||||
@ -445,10 +439,10 @@ interface SettingsInterface {
|
||||
}
|
||||
|
||||
export interface SiteSettingsInterface {
|
||||
enable: ExtensionEnvironmentSettingsInterface;
|
||||
enableAard: ExtensionEnvironmentSettingsInterface;
|
||||
enableKeyboard: ExtensionEnvironmentSettingsInterface;
|
||||
enableUI: ExtensionEnvironmentSettingsInterface; // Lies! enableUI doesn't use 'theater' property (but uses the other two)
|
||||
enable: ExtensionMode;
|
||||
enableAard: ExtensionMode;
|
||||
enableKeyboard: ExtensionMode;
|
||||
enableUI: ExtensionMode;
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy; // presumed to be 'Always' if not defined
|
||||
overrideWhenEmbedded?: boolean;
|
||||
|
||||
@ -1,41 +1,44 @@
|
||||
// How to use:
|
||||
// version: {ExtensionConf object, but only properties that get overwritten}
|
||||
import StretchType from '../../common/enums/StretchType.enum';
|
||||
import ExtensionMode from '../../common/enums/ExtensionMode.enum';
|
||||
// import ExtensionMode from '../../common/enums/ExtensionMode.enum';
|
||||
import VideoAlignmentType from '../../common/enums/VideoAlignmentType.enum';
|
||||
import BrowserDetect from './BrowserDetect';
|
||||
import SettingsInterface from '../../common/interfaces/SettingsInterface';
|
||||
import SettingsInterface, { SiteSettingsInterface } from '../../common/interfaces/SettingsInterface';
|
||||
import { _cp } from '../../common/js/utils';
|
||||
import CropModePersistence from '../../common/enums/CropModePersistence.enum';
|
||||
import AspectRatioType from '../../common/enums/AspectRatioType.enum';
|
||||
import { update } from 'lodash';
|
||||
import EmbeddedContentSettingsOverridePolicy from '../../common/enums/EmbeddedContentSettingsOverridePolicy.enum';
|
||||
import LegacyExtensionMode from '../../common/enums/LegacyExtensionMode.enum';
|
||||
import ExtensionMode from '../../common/enums/ExtensionMode.enum';
|
||||
|
||||
|
||||
const ExtensionConfPatch = Object.freeze([
|
||||
{
|
||||
forVersion: '6.2.4',
|
||||
updateFn: (userOptions: SettingsInterface, defaultOptions) => {
|
||||
updateFn: (userOptions: any, defaultOptions) => {
|
||||
for (const site in userOptions.sites) {
|
||||
userOptions.sites[site].enableUI = {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Default,
|
||||
(userOptions as any).sites[site].enableUI = {
|
||||
fullscreen: LegacyExtensionMode.Default,
|
||||
theater: LegacyExtensionMode.Default,
|
||||
normal: LegacyExtensionMode.Default,
|
||||
}
|
||||
}
|
||||
userOptions.sites['@global'].enableUI = {
|
||||
fullscreen: userOptions.ui.inPlayer.enabled ? ExtensionMode.Enabled : ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: (userOptions.ui.inPlayer.enabled && !userOptions.ui.inPlayer.enabledFullscreenOnly) ? ExtensionMode.Enabled : ExtensionMode.Disabled
|
||||
fullscreen: userOptions.ui.inPlayer.enabled ? LegacyExtensionMode.Enabled : LegacyExtensionMode.Disabled,
|
||||
theater: LegacyExtensionMode.Enabled,
|
||||
normal: (userOptions.ui.inPlayer.enabled && !userOptions.ui.inPlayer.enabledFullscreenOnly) ? LegacyExtensionMode.Enabled : LegacyExtensionMode.Disabled
|
||||
}
|
||||
userOptions.sites['@empty'].enableUI = {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Default,
|
||||
fullscreen: LegacyExtensionMode.Default,
|
||||
theater: LegacyExtensionMode.Default,
|
||||
normal: LegacyExtensionMode.Default,
|
||||
}
|
||||
}
|
||||
}, {
|
||||
forVersion: '6.2.6',
|
||||
updateFn: (userOptions: SettingsInterface, defaultOptions) => {
|
||||
updateFn: (userOptions: any, defaultOptions) => {
|
||||
console.log('[ultrawidify] Migrating settings — applying patches for version 6.2.6');
|
||||
|
||||
if (!userOptions.commands) {
|
||||
@ -241,7 +244,7 @@ const ExtensionConfPatch = Object.freeze([
|
||||
}
|
||||
}, {
|
||||
forVersion: '6.3.92',
|
||||
updateFn: (userOptions: SettingsInterface) => {
|
||||
updateFn: (userOptions: any) => {
|
||||
// applyToEmbeddedContent is now an enum, and also no longer optional
|
||||
for (const site in userOptions.sites) {
|
||||
if (userOptions.sites[site].applyToEmbeddedContent === undefined) {
|
||||
@ -275,6 +278,33 @@ const ExtensionConfPatch = Object.freeze([
|
||||
userOptions.aardLegacy = defaultOptions.aardLegacy;
|
||||
delete (userOptions as any).arDetect;
|
||||
}
|
||||
},
|
||||
{
|
||||
forVersion: '6.3.994',
|
||||
upgradeFn: (userOptions: SettingsInterface, defaultOptions: SettingsInterface) => {
|
||||
const convertLegacyExtensionMode = (option: {normal: LegacyExtensionMode, theater: LegacyExtensionMode, fullscreen: LegacyExtensionMode}) => {
|
||||
if (option.normal === LegacyExtensionMode.Enabled) {
|
||||
return ExtensionMode.All;
|
||||
}
|
||||
if (option.theater === LegacyExtensionMode.Enabled) {
|
||||
return ExtensionMode.Theater;
|
||||
}
|
||||
if (option.fullscreen === LegacyExtensionMode.Enabled) {
|
||||
return ExtensionMode.FullScreen;
|
||||
}
|
||||
if (option.fullscreen === LegacyExtensionMode.Disabled) {
|
||||
return ExtensionMode.Disabled;
|
||||
}
|
||||
return ExtensionMode.Default;
|
||||
}
|
||||
|
||||
for (const key in userOptions.sites) {
|
||||
userOptions.sites[key].enable = convertLegacyExtensionMode(userOptions.sites[key].enable as any);
|
||||
userOptions.sites[key].enableAard = convertLegacyExtensionMode(userOptions.sites[key].enable as any);
|
||||
userOptions.sites[key].enableKeyboard = convertLegacyExtensionMode(userOptions.sites[key].enable as any);
|
||||
userOptions.sites[key].enableUI = convertLegacyExtensionMode(userOptions.sites[key].enable as any);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
]);
|
||||
|
||||
@ -757,65 +757,6 @@ const ExtensionConf: SettingsInterface = {
|
||||
arguments: {
|
||||
arPersistence: CropModePersistence.Default
|
||||
}
|
||||
}, {
|
||||
action: 'set-extension-enabled',
|
||||
label: 'Enable extension',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Enabled,
|
||||
},
|
||||
internalOnly: true,
|
||||
}, {
|
||||
action: 'set-extension-enabled',
|
||||
label: 'Whitelist',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Whitelist,
|
||||
},
|
||||
internalOnly: true,
|
||||
}, {
|
||||
action: 'set-extension-enabled',
|
||||
label: 'Disable',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Disabled
|
||||
},
|
||||
internalOnly: true,
|
||||
}, {
|
||||
action: 'set-extension-enabled',
|
||||
label: 'Use default option',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Default
|
||||
},
|
||||
internalOnly: true
|
||||
}, {
|
||||
action: 'set-autoar-enabled',
|
||||
label: 'Enabled',
|
||||
comment: 'Enable automatic aspect ratio detection if possible',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Enabled
|
||||
},
|
||||
internalOnly: true
|
||||
}, {
|
||||
action: 'set-autoar-enabled',
|
||||
label: 'Whitelist',
|
||||
comment: 'Enable automatic aspect ratio detection if possible, but only on whitelisted sites',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Whitelist,
|
||||
},
|
||||
internalOnly: true,
|
||||
}, {
|
||||
action: 'set-autoar-enabled',
|
||||
label: 'Disable',
|
||||
comment: 'Disable aspect ratio detection',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Disabled
|
||||
},
|
||||
internalOnly: true,
|
||||
}, {
|
||||
action: 'set-autoar-enabled',
|
||||
label: 'Use default option',
|
||||
arguments: {
|
||||
mode: ExtensionMode.Default
|
||||
},
|
||||
internalOnly: true
|
||||
}]
|
||||
},
|
||||
mitigations: {
|
||||
@ -862,26 +803,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
// to avoid writing this multiple times. Tags:
|
||||
// #g — only available in @global
|
||||
// #s — only available for specific site
|
||||
enable: { // How should extension work:
|
||||
fullscreen: ExtensionMode.Disabled, // 'enabled' - work everywhere except blacklist
|
||||
theater: ExtensionMode.Disabled, //
|
||||
normal: ExtensionMode.Disabled, // 'disabled' - work nowhere
|
||||
}, // 'default' - follow global rules (#s)
|
||||
enableAard: { // Should we try to automatically detect aspect ratio?
|
||||
fullscreen: ExtensionMode.Disabled, // Options: 'enabled', 'default' (#s), 'disabled'
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled, // Lies! means 'theater-ish'
|
||||
normal: ExtensionMode.Disabled // Not actually used.
|
||||
},
|
||||
enable: ExtensionMode.Disabled,
|
||||
enableAard: ExtensionMode.Disabled,
|
||||
enableKeyboard: ExtensionMode.Disabled,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
|
||||
defaultType: 'unknown',
|
||||
@ -894,26 +820,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"@empty": { // placeholder settings object with fallbacks to @global
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Default,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Default,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Default
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Default,
|
||||
theater: ExtensionMode.Default,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Default,
|
||||
enableAard: ExtensionMode.Default,
|
||||
enableKeyboard: ExtensionMode.Default,
|
||||
enableUI: ExtensionMode.Default,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
|
||||
type: 'user-defined',
|
||||
@ -926,26 +837,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"www.youtube.com" : {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.All,
|
||||
enableAard: ExtensionMode.All,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.All,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
overrideWhenEmbedded: true,
|
||||
override: false, // ignore value localStorage in favour of this
|
||||
@ -967,26 +863,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"www.youtube-nocookie.com": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.All,
|
||||
enableAard: ExtensionMode.All,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
overrideWhenEmbedded: true,
|
||||
|
||||
@ -1009,52 +890,21 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"www.netflix.com" : {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Default,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Theater,
|
||||
enableAard: ExtensionMode.Disabled,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.All,
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
override: false,
|
||||
type: 'community',
|
||||
defaultType: 'community',
|
||||
},
|
||||
"www.disneyplus.com" : {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Default,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Default,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Default
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Default
|
||||
},
|
||||
enable: ExtensionMode.Theater,
|
||||
enableAard: ExtensionMode.Theater,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: 'community',
|
||||
defaultType: 'community',
|
||||
@ -1077,51 +927,21 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"www.twitch.tv": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enable: ExtensionMode.All,
|
||||
enableAard: ExtensionMode.All,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: 'official',
|
||||
defaultType: 'official',
|
||||
},
|
||||
"old.reddit.com" : {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Disabled,
|
||||
enableAard: ExtensionMode.Disabled,
|
||||
enableKeyboard: ExtensionMode.Disabled,
|
||||
enableUI: ExtensionMode.Disabled,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Never,
|
||||
type: 'officially-disabled',
|
||||
defaultType: 'officially-disabled',
|
||||
@ -1140,26 +960,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
},
|
||||
},
|
||||
"www.reddit.com" : {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Disabled,
|
||||
enableAard: ExtensionMode.Disabled,
|
||||
enableKeyboard: ExtensionMode.Disabled,
|
||||
enableUI: ExtensionMode.Disabled,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Never,
|
||||
type: 'officially-disabled',
|
||||
defaultType: 'officially-disabled',
|
||||
@ -1178,51 +983,21 @@ const ExtensionConf: SettingsInterface = {
|
||||
},
|
||||
},
|
||||
"imgur.com": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Disabled,
|
||||
theater: ExtensionMode.Disabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Disabled,
|
||||
enableAard: ExtensionMode.Disabled,
|
||||
enableKeyboard: ExtensionMode.Disabled,
|
||||
enableUI: ExtensionMode.Disabled,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Never,
|
||||
type: 'officially-disabled',
|
||||
defaultType: 'officially-disabled',
|
||||
},
|
||||
"www.wakanim.tv": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Enabled
|
||||
},
|
||||
enable: ExtensionMode.All,
|
||||
enableAard: ExtensionMode.All,
|
||||
enableKeyboard: ExtensionMode.All,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: 'community',
|
||||
defaultType: 'community',
|
||||
@ -1240,26 +1015,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
},
|
||||
},
|
||||
"app.plex.tv": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Theater,
|
||||
enableAard: ExtensionMode.Theater,
|
||||
enableKeyboard: ExtensionMode.Theater,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: 'community',
|
||||
defaultType: 'community',
|
||||
@ -1272,26 +1032,10 @@ const ExtensionConf: SettingsInterface = {
|
||||
}
|
||||
},
|
||||
"metaivi.com": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Theater,
|
||||
enableAard: ExtensionMode.Theater,
|
||||
enableKeyboard: ExtensionMode.Theater,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: "community",
|
||||
defaultType: "community",
|
||||
@ -1308,26 +1052,11 @@ const ExtensionConf: SettingsInterface = {
|
||||
},
|
||||
},
|
||||
"piped.kavin.rocks": {
|
||||
enable: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableAard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled,
|
||||
},
|
||||
enableKeyboard: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enableUI: {
|
||||
fullscreen: ExtensionMode.Enabled,
|
||||
theater: ExtensionMode.Enabled,
|
||||
normal: ExtensionMode.Disabled
|
||||
},
|
||||
enable: ExtensionMode.Theater,
|
||||
enableAard: ExtensionMode.Theater,
|
||||
enableKeyboard: ExtensionMode.Theater,
|
||||
enableUI: ExtensionMode.FullScreen,
|
||||
|
||||
applyToEmbeddedContent: EmbeddedContentSettingsOverridePolicy.Always,
|
||||
type: "community",
|
||||
defaultType: "community",
|
||||
|
||||
@ -263,7 +263,7 @@ export class Aard {
|
||||
// console.log('--- video data: ---\n', this.videoData);
|
||||
return;
|
||||
}
|
||||
if (this.siteSettings.data.enableAard[this.videoData.player.environment] === ExtensionMode.Enabled) {
|
||||
if (this.siteSettings.data.enableAard <= this.videoData.player.environment) {
|
||||
this.start();
|
||||
} else {
|
||||
this.stop();
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import AspectRatioType from '@src/common/enums/AspectRatioType.enum';
|
||||
import ExtensionMode from '@src/common/enums/ExtensionMode.enum';
|
||||
import { ArVariant } from '@src/common/interfaces/ArInterface';
|
||||
import { ExtensionEnvironment } from '@src/common/interfaces/SettingsInterface';
|
||||
import EventBus from '../EventBus';
|
||||
@ -16,15 +15,10 @@ import { GlDebugCanvas, GlDebugType } from './gl/GlDebugCanvas';
|
||||
import { AardCanvasStore } from './interfaces/aard-canvas-store.interface';
|
||||
import { AardDetectionSample, generateSampleArray, resetSamples } from './interfaces/aard-detection-sample.interface';
|
||||
import { AardStatus, initAardStatus } from './interfaces/aard-status.interface';
|
||||
import { AardTestResult_SubtitleRegion, AardTestResults, resetSubtitleScanResults } from './interfaces/aard-test-results.interface';
|
||||
import { AardTimers, initAardTimers } from './interfaces/aard-timers.interface';
|
||||
import { ComponentLogger } from '../logging/ComponentLogger';
|
||||
import { AardPollingOptions } from './enums/aard-polling-options.enum';
|
||||
import { AardSubtitleCropMode } from './enums/aard-subtitle-crop-mode.enum';
|
||||
import { LetterboxOrientation } from './enums/letterbox-orientation.enum';
|
||||
import { Edge } from './enums/edge.enum';
|
||||
import { AardUncertainReason } from './enums/aard-letterbox-uncertain-reason.enum';
|
||||
import { result } from 'lodash';
|
||||
import { AardLegacyTestResults, initAardTestResults, resetAardTestResults, resetGuardLine } from './interfaces/aard-legacy-test-results.interface';
|
||||
|
||||
|
||||
@ -439,7 +433,7 @@ export class AardLegacy {
|
||||
// console.log('--- video data: ---\n', this.videoData);
|
||||
return;
|
||||
}
|
||||
if (this.siteSettings.data.enableAard[this.videoData.player.environment] === ExtensionMode.Enabled) {
|
||||
if (this.videoData.player.environment <= this.siteSettings.data.enableAard) {
|
||||
this.start();
|
||||
} else {
|
||||
this.stop();
|
||||
|
||||
@ -107,8 +107,8 @@ export class KeyboardHandler extends KbmBase {
|
||||
}
|
||||
}
|
||||
|
||||
setKeyboardLocal(state) {
|
||||
if (state === ExtensionMode.Enabled) {
|
||||
setKeyboardLocal(state: ExtensionMode) {
|
||||
if (state === ExtensionMode.All) {
|
||||
this.keyboardLocalDisabled = false;
|
||||
} else if (state === ExtensionMode.Disabled) {
|
||||
this.keyboardLocalDisabled = true;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import CropModePersistence from '../../../common/enums/CropModePersistence.enum';
|
||||
import ExtensionMode from '../../../common/enums/ExtensionMode.enum';
|
||||
import { SettingsReloadComponent, SettingsReloadFlags, SiteSettingsInterface } from '../../../common/interfaces/SettingsInterface';
|
||||
import { ExtensionEnvironment, SettingsReloadComponent, SettingsReloadFlags, SiteSettingsInterface } from '../../../common/interfaces/SettingsInterface';
|
||||
import { _cp } from '../../../common/js/utils';
|
||||
import Settings from './Settings';
|
||||
import StretchType from '../../../common/enums/StretchType.enum';
|
||||
@ -216,10 +216,8 @@ export class SiteSettings {
|
||||
if (!this.data[enableSegment]) {
|
||||
this.data[enableSegment] = {};
|
||||
}
|
||||
for (const environment of ['normal', 'theater', 'fullscreen']) {
|
||||
if (!this.data[enableSegment][environment] || this.data[enableSegment][environment] === ExtensionMode.Default) {
|
||||
this.data[enableSegment][environment] = _cp(this.defaultSettings[enableSegment][environment]);
|
||||
}
|
||||
if (!this.data[enableSegment] || this.data[enableSegment] === ExtensionMode.Default) {
|
||||
this.data[enableSegment] = _cp(this.defaultSettings[enableSegment]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -339,14 +337,14 @@ export class SiteSettings {
|
||||
}
|
||||
}
|
||||
|
||||
private _getEnvironment(isTheater: boolean, isFullscreen: boolean): 'fullscreen' | 'theater' | 'normal' {
|
||||
private _getEnvironment(isTheater: boolean, isFullscreen: boolean): ExtensionEnvironment {
|
||||
if (isFullscreen) {
|
||||
return 'fullscreen';
|
||||
return ExtensionEnvironment.Fullscreen;
|
||||
}
|
||||
if (isTheater) {
|
||||
return 'theater';
|
||||
return ExtensionEnvironment.Theater;
|
||||
}
|
||||
return 'normal';
|
||||
return ExtensionEnvironment.Normal;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -355,9 +353,9 @@ export class SiteSettings {
|
||||
* @param isFullscreen
|
||||
* @returns ExtensionMode
|
||||
*/
|
||||
isEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): ExtensionMode {
|
||||
isEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): boolean {
|
||||
const env = this._getEnvironment(isTheater, isFullscreen);
|
||||
return this.data.enable[env];
|
||||
return env <= this.data.enable;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -366,9 +364,9 @@ export class SiteSettings {
|
||||
* @param isFullscreen
|
||||
* @returns
|
||||
*/
|
||||
isAardEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): ExtensionMode {
|
||||
isAardEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): boolean {
|
||||
const env = this._getEnvironment(isTheater, isFullscreen);
|
||||
return this.data.enableAard[env];
|
||||
return env <= this.data.enableAard;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -377,9 +375,9 @@ export class SiteSettings {
|
||||
* @param isFullscreen
|
||||
* @returns
|
||||
*/
|
||||
isKeyboardEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): ExtensionMode {
|
||||
isKeyboardEnabledForEnvironment(isTheater: boolean, isFullscreen: boolean): boolean {
|
||||
const env = this._getEnvironment(isTheater, isFullscreen);
|
||||
return this.data.enableKeyboard[env];
|
||||
return env <= this.data.enableKeyboard;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
@ -53,9 +53,7 @@ class UI {
|
||||
return true;
|
||||
}
|
||||
|
||||
return this.siteSettings?.data.enableUI.fullscreen === ExtensionMode.Enabled
|
||||
|| this.siteSettings?.data.enableUI.theater === ExtensionMode.Enabled
|
||||
|| this.siteSettings?.data.enableUI.normal === ExtensionMode.Enabled;
|
||||
return this.siteSettings?.data.enableUI !== ExtensionMode.Disabled;
|
||||
}
|
||||
|
||||
async init() {
|
||||
@ -342,7 +340,7 @@ class UI {
|
||||
canShowUI: false,
|
||||
}
|
||||
|
||||
if (this.playerData?.environment && this.siteSettings.data.enableUI[this.playerData?.environment] !== ExtensionMode.Enabled) {
|
||||
if (this.playerData?.environment && this.playerData?.environment <= this.siteSettings.data.enableUI) {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import ExtensionMode from '../../../common/enums/ExtensionMode.enum';
|
||||
import EventBus from '../EventBus';
|
||||
import { SiteSettings } from '../settings/SiteSettings';
|
||||
|
||||
@ -19,9 +18,9 @@ export class ExtensionStatus {
|
||||
return this.fsStatus.fullscreen;
|
||||
}
|
||||
|
||||
private enabled: ExtensionMode;
|
||||
private aardEnabled: ExtensionMode;
|
||||
private kbdEnabled: ExtensionMode;
|
||||
private enabled: boolean;
|
||||
private aardEnabled: boolean;
|
||||
private kbdEnabled: boolean;
|
||||
|
||||
constructor(siteSettings: SiteSettings, eventBus: EventBus, fsStatus: {fullscreen: boolean}){
|
||||
this.siteSettings = siteSettings;
|
||||
@ -33,27 +32,21 @@ export class ExtensionStatus {
|
||||
const canAard = this.siteSettings.isAardEnabledForEnvironment(this.isTheaterMode, this.isFullScreen);
|
||||
const canKbd = this.siteSettings.isKeyboardEnabledForEnvironment(this.isTheaterMode, this.isFullScreen);
|
||||
|
||||
if (canRun !== this.enabled) {
|
||||
if (canRun === ExtensionMode.Enabled) {
|
||||
if (canRun) {
|
||||
this.eventBus.send('set-extension-active', {});
|
||||
} else {
|
||||
this.eventBus.send('set-extension-inactive', {});
|
||||
}
|
||||
}
|
||||
if (canAard !== this.aardEnabled) {
|
||||
if (canAard === ExtensionMode.Enabled) {
|
||||
if (canAard) {
|
||||
this.eventBus.send('set-aard-active', {});
|
||||
} else {
|
||||
this.eventBus.send('set-aard-inactive', {});
|
||||
}
|
||||
}
|
||||
if (canKbd !== this.kbdEnabled) {
|
||||
if (canKbd === ExtensionMode.Enabled) {
|
||||
if (canKbd) {
|
||||
this.eventBus.send('set-kbd-active', {});
|
||||
} else {
|
||||
this.eventBus.send('set-kbd-inactive', {});
|
||||
}
|
||||
}
|
||||
|
||||
this.enabled = canRun;
|
||||
this.aardEnabled = canAard;
|
||||
|
||||
@ -478,7 +478,7 @@ class PlayerData {
|
||||
this.isTooSmall = this.checkIfTooSmall();
|
||||
}
|
||||
|
||||
const canEnable = this.siteSettings.isEnabledForEnvironment(this.isFullscreen, this.isTheaterMode) === ExtensionMode.Enabled;
|
||||
const canEnable = this.siteSettings.isEnabledForEnvironment(this.isFullscreen, this.isTheaterMode);
|
||||
|
||||
if (this.runLevel === RunLevel.Off && canEnable) {
|
||||
this.eventBus.send('restore-ar', null);
|
||||
|
||||
@ -408,7 +408,7 @@ class VideoData {
|
||||
this.logger.warn('onEnvironmentChanged', 'environment changed from:', this.currentEnvironment, 'to:', this.player.environment);
|
||||
|
||||
this.currentEnvironment = this.player.environment;
|
||||
if (this.siteSettings.data.enable[this.player.environment] === ExtensionMode.Disabled) {
|
||||
if (this.player.environment <= this.siteSettings.data.enable) {
|
||||
this.setRunLevel(RunLevel.Off);
|
||||
} else {
|
||||
this.restoreAr();
|
||||
@ -417,7 +417,7 @@ class VideoData {
|
||||
}
|
||||
|
||||
setRunLevel(runLevel: RunLevel, options?: {fromPlayer?: boolean}) {
|
||||
if (this.player && this.siteSettings.data.enable[this.player.environment] !== ExtensionMode.Enabled) {
|
||||
if (this.player && this.siteSettings.data.enable >= this.player.environment) {
|
||||
runLevel = RunLevel.Off;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user