From 27ff0e7241171b8464e131837cd661f362b821e2 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Thu, 9 Jan 2020 22:24:45 +0100 Subject: [PATCH 01/23] Enable scrollManager in more cases --- src/components/scrollManager.js | 17 ++--------------- src/components/scroller.js | 2 +- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/components/scrollManager.js b/src/components/scrollManager.js index 9f7035d528..dbf9c5a143 100644 --- a/src/components/scrollManager.js +++ b/src/components/scrollManager.js @@ -372,7 +372,7 @@ define(["dom", "browser", "layoutManager"], function (dom, browser, layoutManage */ function useSmoothScroll() { - if (browser.tizen) { + if (browser.tizen || browser.web0s || browser.firefox || browser.chrome) { return true; } @@ -392,20 +392,7 @@ define(["dom", "browser", "layoutManager"], function (dom, browser, layoutManage * Returns true if scroll manager is enabled. */ var isEnabled = function() { - - if (!layoutManager.tv) { - return false; - } - - if (browser.tizen) { - return true; - } - - if (browser.web0s) { - return true; - } - - return false; + return layoutManager.tv; }; /** diff --git a/src/components/scroller.js b/src/components/scroller.js index 65f33b8e8d..b4c9b9d9b7 100644 --- a/src/components/scroller.js +++ b/src/components/scroller.js @@ -93,7 +93,7 @@ define(['browser', 'layoutManager', 'dom', 'focusManager', 'ResizeObserver', 'sc // in cases with firefox, if the smooth scroll api is supported then use that because their implementation is very good if (options.allowNativeScroll === false) { options.enableNativeScroll = false; - } else if (isSmoothScrollSupported && ((browser.firefox && !layoutManager.tv) || options.allowNativeSmoothScroll)) { + } else if (isSmoothScrollSupported && (browser.firefox || options.allowNativeSmoothScroll)) { // native smooth scroll options.enableNativeScroll = true; } else if (options.requireAnimation && (browser.animate || browser.supportsCssAnimation())) { From b3558a0dc6acf83643de2b3dc5f12eaee0d33a92 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 26 Jan 2020 14:36:22 +0100 Subject: [PATCH 02/23] Enable image fadein --- src/components/images/imageLoader.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/images/imageLoader.js b/src/components/images/imageLoader.js index a2906cca85..17af296af4 100644 --- a/src/components/images/imageLoader.js +++ b/src/components/images/imageLoader.js @@ -7,9 +7,6 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings', var self = {}; - // seeing slow performance with firefox - var enableFade = false; - function fillImage(elem, source, enableEffects) { if (!elem) { @@ -30,7 +27,7 @@ define(['lazyLoader', 'imageFetcher', 'layoutManager', 'browser', 'appSettings', function fillImageElement(elem, source, enableEffects) { imageFetcher.loadImage(elem, source).then(function () { - if (enableFade && enableEffects !== false) { + if (enableEffects !== false) { fadeIn(elem); } From c49f632f62cda4144b1597aa0ad09f7f6f54a133 Mon Sep 17 00:00:00 2001 From: MrTimscampi Date: Sun, 26 Jan 2020 15:32:13 +0100 Subject: [PATCH 03/23] Add Display setting for fast image fade-in --- src/components/displaysettings/displaysettings.js | 2 ++ .../displaysettings/displaysettings.template.html | 12 ++++++++++++ src/components/images/imageLoader.js | 11 ++++++----- src/components/usersettings/usersettingsbuilder.js | 9 +++++++++ src/strings/en-gb.json | 2 ++ src/strings/en-us.json | 2 ++ 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/components/displaysettings/displaysettings.js b/src/components/displaysettings/displaysettings.js index fea7d9bd3e..da407c11f1 100644 --- a/src/components/displaysettings/displaysettings.js +++ b/src/components/displaysettings/displaysettings.js @@ -180,6 +180,7 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', ' context.querySelector('#chkThemeSong').checked = userSettings.enableThemeSongs(); context.querySelector('#chkThemeVideo').checked = userSettings.enableThemeVideos(); + context.querySelector('#chkFadein').checked = userSettings.enableFastFadein(); context.querySelector('#chkBackdrops').checked = userSettings.enableBackdrops(); context.querySelector('#selectLanguage').value = userSettings.language() || ''; @@ -216,6 +217,7 @@ define(['require', 'browser', 'layoutManager', 'appSettings', 'pluginManager', ' userSettingsInstance.skin(context.querySelector('.selectSkin').value); + userSettingsInstance.enableFastFadein(context.querySelector('#chkFadein').checked); userSettingsInstance.enableBackdrops(context.querySelector('#chkBackdrops').checked); if (user.Id === apiClient.getCurrentUserId()) { diff --git a/src/components/displaysettings/displaysettings.template.html b/src/components/displaysettings/displaysettings.template.html index f469d8d5ce..16bbf0dd8a 100644 --- a/src/components/displaysettings/displaysettings.template.html +++ b/src/components/displaysettings/displaysettings.template.html @@ -3,6 +3,7 @@

${Display}

+
+
@@ -141,6 +143,14 @@ +
+ +
${EnableFastImageFadeInHelp}
+
+
${EnableBackdropsHelp}
+
${EnableThemeSongsHelp}
+