diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2021-03-17 15:57:21 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-03-18 16:06:33 +0100 |
commit | c23509b64468e4ebf0d72a1412c238a093b37cf4 (patch) | |
tree | 9fe18e0194c94f16e674b67effed529a7c7fb9d8 | |
parent | c7411af8f56c5120c3571e2bf0bce86e9c6b4559 (diff) |
Polyfill presentation_engine.js for IE11
IE11 doesn't support:
Array.includes, String.startsWith and Math.trunc
Change-Id: I71c5810ad9230988453f70e880f46869728f49c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112645
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r-- | filter/source/svg/presentation_engine.js | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js index 7f3cb48bcfbf..0babb0083cc8 100644 --- a/filter/source/svg/presentation_engine.js +++ b/filter/source/svg/presentation_engine.js @@ -32,6 +32,15 @@ var abs = Math.abs; var now = Date.now; /** + * polyfill for IE11 + */ +if (!Math.trunc) { + Math.trunc = function (v) { + return v < 0 ? Math.ceil(v) : Math.floor(v); + }; +} + +/** * set a timeout with a given scope * @param {Function} fn * @param {Number} timeout @@ -5393,9 +5402,9 @@ function getTextFieldType ( elem ) function isTextFieldByClassName ( sClassName ) { return sClassName === aDateTimeClassName || sClassName === aFooterClassName - || sClassName === aHeaderClassName || sClassName.startsWith( aSlideNumberClassName ) - || sClassName.startsWith( aDateClassName ) || sClassName.startsWith( aTimeClassName ) - || sClassName.startsWith( aSlideNameClassName ); + || sClassName === aHeaderClassName || sClassName.indexOf( aSlideNumberClassName ) == 0 + || sClassName.indexOf( aDateClassName ) == 0 || sClassName.indexOf( aTimeClassName ) == 0 + || sClassName.indexOf( aSlideNameClassName ) == 0; } /** Class MasterPage @@ -5819,7 +5828,7 @@ MasterPageView.prototype.createElement = function() for( ; i < aBackgroundObjectSubGroupIdList.length; ++i ) { sId = aBackgroundObjectSubGroupIdList[i]; - if( sId.startsWith( aSlideNumberClassName ) ) + if( sId.indexOf( aSlideNumberClassName ) == 0 ) { // Slide Number Field // The cloned element is appended directly to the field group element @@ -5873,9 +5882,9 @@ MasterPageView.prototype.createElement = function() aTextFieldHandlerSet, sMasterSlideId ); } } - else if( sId.startsWith( aDateClassName ) - || sId.startsWith( aTimeClassName ) - || sId.startsWith( aSlideNameClassName ) ) + else if( sId.indexOf( aDateClassName ) == 0 + || sId.indexOf( aTimeClassName ) == 0 + || sId.indexOf( aSlideNameClassName ) == 0 ) { this.initTextFieldHandler( sId, aPlaceholderShapeSet, aTextFieldContentProviderSet, aDefsElement, |