@openui5/sap.ui.core 1.71.48 → 1.71.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/i18n/ResourceBundle.js +11 -6
  8. package/src/sap/base/security/URLWhitelist.js +35 -2
  9. package/src/sap/base/util/restricted/_castArray.js +1 -1
  10. package/src/sap/base/util/restricted/_curry.js +1 -1
  11. package/src/sap/base/util/restricted/_debounce.js +1 -1
  12. package/src/sap/base/util/restricted/_intersection.js +1 -1
  13. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  14. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  15. package/src/sap/base/util/restricted/_max.js +1 -1
  16. package/src/sap/base/util/restricted/_merge.js +1 -1
  17. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  18. package/src/sap/base/util/restricted/_min.js +1 -1
  19. package/src/sap/base/util/restricted/_omit.js +1 -1
  20. package/src/sap/base/util/restricted/_pick.js +1 -1
  21. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  22. package/src/sap/base/util/restricted/_throttle.js +1 -1
  23. package/src/sap/base/util/restricted/_uniq.js +1 -1
  24. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  25. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  26. package/src/sap/ui/Device.js +3 -3
  27. package/src/sap/ui/Global.js +4 -4
  28. package/src/sap/ui/base/Event.js +1 -1
  29. package/src/sap/ui/base/EventProvider.js +1 -1
  30. package/src/sap/ui/base/Interface.js +1 -1
  31. package/src/sap/ui/base/ManagedObject.js +1 -1
  32. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  33. package/src/sap/ui/base/Metadata.js +1 -1
  34. package/src/sap/ui/base/Object.js +1 -1
  35. package/src/sap/ui/base/ObjectPool.js +1 -1
  36. package/src/sap/ui/core/.library +1 -1
  37. package/src/sap/ui/core/BusyIndicator.js +1 -1
  38. package/src/sap/ui/core/Component.js +1 -1
  39. package/src/sap/ui/core/ComponentContainer.js +1 -1
  40. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  41. package/src/sap/ui/core/ComponentSupport.js +1 -1
  42. package/src/sap/ui/core/Configuration.js +9 -10
  43. package/src/sap/ui/core/Control.js +1 -1
  44. package/src/sap/ui/core/Core.js +1 -1
  45. package/src/sap/ui/core/CustomData.js +1 -1
  46. package/src/sap/ui/core/CustomizingConfiguration.js +1 -1
  47. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  48. package/src/sap/ui/core/Element.js +1 -1
  49. package/src/sap/ui/core/ElementMetadata.js +1 -1
  50. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  51. package/src/sap/ui/core/EventBus.js +1 -1
  52. package/src/sap/ui/core/Fragment.js +1 -1
  53. package/src/sap/ui/core/HTML.js +1 -1
  54. package/src/sap/ui/core/History.js +1 -1
  55. package/src/sap/ui/core/Icon.js +1 -1
  56. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  57. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  58. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  59. package/src/sap/ui/core/InvisibleText.js +1 -1
  60. package/src/sap/ui/core/Item.js +1 -1
  61. package/src/sap/ui/core/LabelEnablement.js +1 -1
  62. package/src/sap/ui/core/LayoutData.js +1 -1
  63. package/src/sap/ui/core/ListItem.js +1 -1
  64. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  65. package/src/sap/ui/core/Locale.js +124 -41
  66. package/src/sap/ui/core/LocaleData.js +51 -4
  67. package/src/sap/ui/core/Manifest.js +1 -1
  68. package/src/sap/ui/core/Message.js +1 -1
  69. package/src/sap/ui/core/RenderManager.js +1 -1
  70. package/src/sap/ui/core/Renderer.js +1 -1
  71. package/src/sap/ui/core/ResizeHandler.js +1 -1
  72. package/src/sap/ui/core/ScrollBar.js +1 -1
  73. package/src/sap/ui/core/SeparatorItem.js +1 -1
  74. package/src/sap/ui/core/Title.js +1 -1
  75. package/src/sap/ui/core/TooltipBase.js +1 -1
  76. package/src/sap/ui/core/UIArea.js +1 -1
  77. package/src/sap/ui/core/UIComponent.js +1 -1
  78. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  79. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  80. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  81. package/src/sap/ui/core/XMLComposite.js +1 -1
  82. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  83. package/src/sap/ui/core/cldr/sr_Latn.json +4934 -0
  84. package/src/sap/ui/core/date/Buddhist.js +15 -13
  85. package/src/sap/ui/core/date/CalendarUtils.js +92 -0
  86. package/src/sap/ui/core/date/CalendarWeekNumbering.js +77 -0
  87. package/src/sap/ui/core/date/Japanese.js +42 -4
  88. package/src/sap/ui/core/date/UniversalDate.js +190 -38
  89. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  90. package/src/sap/ui/core/delegate/ScrollEnablement.js +15 -1
  91. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  92. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  93. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  94. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  95. package/src/sap/ui/core/format/DateFormat.js +38 -10
  96. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  97. package/src/sap/ui/core/library.js +6 -5
  98. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  99. package/src/sap/ui/core/message/Message.js +1 -1
  100. package/src/sap/ui/core/message/MessageManager.js +1 -1
  101. package/src/sap/ui/core/message/MessageParser.js +1 -1
  102. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  103. package/src/sap/ui/core/messagebundle_hr.properties +52 -52
  104. package/src/sap/ui/core/messagebundle_nl.properties +49 -49
  105. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  106. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  107. package/src/sap/ui/core/mvc/JSView.js +1 -1
  108. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  109. package/src/sap/ui/core/mvc/View.js +1 -1
  110. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  111. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  112. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  113. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  114. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  115. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  116. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  117. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  118. package/src/sap/ui/core/service/Service.js +1 -1
  119. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  120. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  121. package/src/sap/ui/core/support/Plugin.js +1 -1
  122. package/src/sap/ui/core/support/Support.js +1 -1
  123. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  124. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  125. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  126. package/src/sap/ui/core/support/plugins/MessageTest.js +1 -1
  127. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  128. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  129. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  130. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  131. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  132. package/src/sap/ui/core/themes/base/base.less +1 -0
  133. package/src/sap/ui/core/themes/base/global.less +1 -0
  134. package/src/sap/ui/core/themes/base/shared.less +1 -0
  135. package/src/sap/ui/core/themes/sap_hcb/global.less +1 -0
  136. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  137. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  138. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  139. package/src/sap/ui/core/tmpl/Template.js +1 -1
  140. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  141. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  142. package/src/sap/ui/core/util/Export.js +1 -1
  143. package/src/sap/ui/core/util/ExportCell.js +1 -1
  144. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  145. package/src/sap/ui/core/util/ExportRow.js +1 -1
  146. package/src/sap/ui/core/util/ExportType.js +1 -1
  147. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  148. package/src/sap/ui/core/util/File.js +1 -1
  149. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  150. package/src/sap/ui/core/util/MockServer.js +1 -1
  151. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  152. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  153. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  154. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  155. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  156. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  157. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  158. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  159. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  160. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  161. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  162. package/src/sap/ui/debug/ControlTree.js +1 -1
  163. package/src/sap/ui/debug/DebugEnv.js +1 -1
  164. package/src/sap/ui/debug/PropertyList.js +1 -1
  165. package/src/sap/ui/model/ClientModel.js +1 -1
  166. package/src/sap/ui/model/CompositeDataState.js +1 -1
  167. package/src/sap/ui/model/CompositeType.js +1 -1
  168. package/src/sap/ui/model/DataState.js +1 -1
  169. package/src/sap/ui/model/MetaModel.js +1 -1
  170. package/src/sap/ui/model/Model.js +1 -1
  171. package/src/sap/ui/model/SelectionModel.js +1 -1
  172. package/src/sap/ui/model/SimpleType.js +1 -1
  173. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  174. package/src/sap/ui/model/Type.js +1 -1
  175. package/src/sap/ui/model/control/ControlModel.js +1 -1
  176. package/src/sap/ui/model/json/JSONModel.js +1 -1
  177. package/src/sap/ui/model/message/MessageModel.js +1 -1
  178. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  179. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  180. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  181. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  182. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  183. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  184. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  185. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  186. package/src/sap/ui/model/odata/type/Date.js +1 -1
  187. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  188. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  189. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  190. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  191. package/src/sap/ui/model/odata/type/Double.js +1 -1
  192. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  193. package/src/sap/ui/model/odata/type/Int.js +1 -1
  194. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  195. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  196. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  197. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  198. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  199. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  200. package/src/sap/ui/model/odata/type/Single.js +1 -1
  201. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  202. package/src/sap/ui/model/odata/type/String.js +1 -1
  203. package/src/sap/ui/model/odata/type/Time.js +1 -1
  204. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  205. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  206. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  207. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  208. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  209. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  210. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  211. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  212. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  213. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  214. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  215. package/src/sap/ui/model/type/Boolean.js +1 -1
  216. package/src/sap/ui/model/type/Currency.js +1 -1
  217. package/src/sap/ui/model/type/Date.js +1 -1
  218. package/src/sap/ui/model/type/DateInterval.js +1 -1
  219. package/src/sap/ui/model/type/DateTime.js +1 -1
  220. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  221. package/src/sap/ui/model/type/FileSize.js +1 -1
  222. package/src/sap/ui/model/type/Float.js +1 -1
  223. package/src/sap/ui/model/type/Integer.js +1 -1
  224. package/src/sap/ui/model/type/String.js +1 -1
  225. package/src/sap/ui/model/type/Time.js +1 -1
  226. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  227. package/src/sap/ui/model/type/Unit.js +1 -1
  228. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  229. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  230. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  231. package/src/sap/ui/util/Storage.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.core",
3
- "version": "1.71.48",
3
+ "version": "1.71.52",
4
4
  "description": "OpenUI5 Core Library sap.ui.core",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -420,7 +420,7 @@ sap.ui.define([
420
420
  /**
421
421
  * Root Namespace for the jQuery plug-in provided by SAP SE.
422
422
  *
423
- * @version 1.71.48
423
+ * @version 1.71.52
424
424
  * @namespace
425
425
  * @public
426
426
  * @static
@@ -67,7 +67,7 @@ sap.ui.define(['jquery.sap.global', 'sap/base/util/Properties'],
67
67
  * {@link #setProperty} to store or change a value for a key and {@link #getKeys}
68
68
  * can be used to retrieve an array of all keys that are currently stored in the collection.
69
69
  *
70
- * @version 1.71.48
70
+ * @version 1.71.52
71
71
  * @since 0.9.0
72
72
  * @name jQuery.sap.util.Properties
73
73
  * @public
@@ -99,7 +99,7 @@ sap.ui.define([
99
99
  * Exception: Fallback for "zh_HK" is "zh_TW" before zh.
100
100
  *
101
101
  * @author SAP SE
102
- * @version 1.71.48
102
+ * @version 1.71.52
103
103
  * @since 0.9.0
104
104
  * @name jQuery.sap.util.ResourceBundle
105
105
  * @public
@@ -268,7 +268,7 @@ sap.ui.define([
268
268
  * Use {@link jQuery.sap.getUriParameters} to create an instance of jQuery.sap.util.UriParameters.
269
269
  *
270
270
  * @author SAP SE
271
- * @version 1.71.48
271
+ * @version 1.71.52
272
272
  * @since 0.9.0
273
273
  * @name jQuery.sap.util.UriParameters
274
274
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @param {string} [sIdPrefix] Prefix used for the Ids. If not set a default prefix is used.
38
38
  * @returns {jQuery.sap.storage.Storage}
39
39
  *
40
- * @version 1.71.48
40
+ * @version 1.71.52
41
41
  * @since 0.11.0
42
42
  * @namespace
43
43
  * @public
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * should be deleted the method {@link #removeAll} should be used.
95
95
  *
96
96
  * @author SAP SE
97
- * @version 1.71.48
97
+ * @version 1.71.52
98
98
  * @since 0.11.0
99
99
  * @public
100
100
  * @name jQuery.sap.storage.Storage
@@ -198,7 +198,7 @@ sap.ui.define([
198
198
  * Enumeration of the storage types supported by {@link jQuery.sap.storage.Storage}
199
199
  * @enum {string}
200
200
  * @public
201
- * @version 1.71.48
201
+ * @version 1.71.52
202
202
  * @since 0.11.0
203
203
  */
204
204
  jQuery.sap.storage.Type = Storage.Type;
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
 
34
34
  /**
35
35
  * Resource bundles are stored according to the Java Development Kit conventions.
36
- * JDK uses old language names for a few ISO639 codes ("iw" for "he", "ji" for "yi", "in" for "id" and "sh" for "sr").
36
+ * JDK uses old language names for a few ISO639 codes ("iw" for "he", "ji" for "yi" and "no" for "nb").
37
37
  * Make sure to convert newer codes to older ones before creating file names.
38
38
  * @const
39
39
  * @private
@@ -41,9 +41,8 @@ sap.ui.define([
41
41
  var M_ISO639_NEW_TO_OLD = {
42
42
  "he" : "iw",
43
43
  "yi" : "ji",
44
- "id" : "in",
45
- "sr" : "sh",
46
- "nb" : "no"
44
+ "nb" : "no",
45
+ "sr" : "sh" // for backward compatibility, as long as "sr (Cyrillic)" is not supported
47
46
  };
48
47
 
49
48
  /**
@@ -54,8 +53,6 @@ sap.ui.define([
54
53
  var M_ISO639_OLD_TO_NEW = {
55
54
  "iw" : "he",
56
55
  "ji" : "yi",
57
- "in" : "id",
58
- "sh" : "sr",
59
56
  "no" : "nb"
60
57
  };
61
58
 
@@ -100,6 +97,9 @@ sap.ui.define([
100
97
  sRegion = "TW";
101
98
  }
102
99
  }
100
+ if (sLanguage === "sr" && sScript === "latn") {
101
+ sLanguage = "sh";
102
+ }
103
103
  return sLanguage + (sRegion ? "_" + sRegion + (sVariants ? "_" + sVariants.replace("-","_") : "") : "");
104
104
  }
105
105
  }
@@ -160,6 +160,11 @@ sap.ui.define([
160
160
  var m;
161
161
  if ( typeof sLocale === 'string' && (m = rLocale.exec(sLocale.replace(/_/g, '-'))) ) {
162
162
  var sLanguage = m[1].toLowerCase();
163
+ var sScript = m[2] ? m[2].toLowerCase() : undefined;
164
+ // special case for "sr_Latn" language: "sh" should then be used
165
+ if (sLanguage === "sr" && sScript === "latn") {
166
+ sLanguage = "sh";
167
+ }
163
168
  sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
164
169
  return sLanguage + (m[3] ? "-" + m[3].toUpperCase() + (m[4] ? "-" + m[4].slice(1).replace("_","-") : "") : "");
165
170
  }
@@ -54,7 +54,11 @@ sap.ui.define(["sap/base/assert"], function(assert) {
54
54
  };
55
55
 
56
56
  /**
57
- * Adds a whitelist entry
57
+ * Adds a whitelist entry.
58
+ *
59
+ * <b>Note</b>:
60
+ * It is strongly recommended to set a path only in combination with an origin (never set a path alone).
61
+ * There's almost no case where checking only the path of a URL would allow to ensure its validity.
58
62
  *
59
63
  * @param {string} protocol The protocol of the URL
60
64
  * @param {string} host The host of the URL
@@ -88,9 +92,22 @@ sap.ui.define(["sap/base/assert"], function(assert) {
88
92
  return aWhitelist.slice();
89
93
  };
90
94
 
95
+ /* eslint-disable no-control-regex */
96
+ var rCheckWhitespaces = /[\u0009\u000A\u000D]/;
97
+ var rSpecialSchemeURLs = /^((?:ftp|https?|wss?):)([\s\S]+)$/;
98
+
91
99
  /**
92
100
  * Validates a URL. Check if it's not a script or other security issue.
93
101
  *
102
+ * <b>Note</b>:
103
+ * It is strongly recommended to validate only absolute URLs. There's almost no case
104
+ * where checking only the path of a URL would allow to ensure its validity.
105
+ * For compatibility reasons, this API cannot automatically resolve URLs relative to
106
+ * <code>document.baseURI</code>, but callers should do so. In that case, and when the
107
+ * allow list is not empty, an entry for the origin of <code>document.baseURI</code>
108
+ * must be added to the allow list.
109
+ *
110
+ * <h3>Details</h3>
94
111
  * Split URL into components and check for allowed characters according to RFC 3986:
95
112
  *
96
113
  * <pre>
@@ -203,7 +220,23 @@ sap.ui.define(["sap/base/assert"], function(assert) {
203
220
  */
204
221
  oURLWhitelist.validate = function(sUrl) {
205
222
 
206
- var result = /^(?:([^:\/?#]+):)?((?:\/\/((?:\[[^\]]+\]|[^\/?#:]+))(?::([0-9]+))?)?([^?#]*))(?:\?([^#]*))?(?:#(.*))?$/.exec(sUrl);
223
+ // Test for not allowed whitespaces
224
+ if (typeof sUrl === "string") {
225
+ if (rCheckWhitespaces.test(sUrl)) {
226
+ return false;
227
+ }
228
+ }
229
+
230
+ // for 'special' URLs without a given base URL, the whatwg spec allows any number of slashes.
231
+ // As the rBasicUrl regular expression cannot handle 'special' URLs, the URL is modified upfront,
232
+ // if it wouldn't be recognized by the regex.
233
+ // See https://url.spec.whatwg.org/#scheme-state (case 2.6.)
234
+ var result = rSpecialSchemeURLs.exec(sUrl);
235
+ if (result && !/^[\/\\]{2}/.test(result[2])) {
236
+ sUrl = result[1] + "//" + result[2];
237
+ }
238
+
239
+ result = /^(?:([^:\/?#]+):)?((?:[\/\\]{2,}((?:\[[^\]]+\]|[^\/?#:]+))(?::([0-9]+))?)?([^?#]*))(?:\?([^#]*))?(?:#(.*))?$/.exec(sUrl);
207
240
  if (!result) {
208
241
  return false;
209
242
  }
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_castArray
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_curry
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_debounce
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_intersection
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_intersectionBy
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_intersectionWith
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_max
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_merge
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_mergeWith
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_min
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_omit
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_pick
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_pickBy
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_throttle
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_uniq
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_uniqBy
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias sap/base/util/restricted/_uniqWith
11
11
  * @author SAP SE
12
12
  * @since 1.71
13
- * @version 1.71.48
13
+ * @version 1.71.52
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -11,7 +11,7 @@
11
11
  * This API is independent from any other part of the UI5 framework. This allows it to be loaded beforehand, if it is needed, to create the UI5 bootstrap
12
12
  * dynamically depending on the capabilities of the browser or device.
13
13
  *
14
- * @version 1.71.48
14
+ * @version 1.71.52
15
15
  * @namespace
16
16
  * @name sap.ui.Device
17
17
  * @public
@@ -32,7 +32,7 @@ if (typeof window.sap.ui !== "object") {
32
32
 
33
33
  //Skip initialization if API is already available
34
34
  if (typeof window.sap.ui.Device === "object" || typeof window.sap.ui.Device === "function") {
35
- var apiVersion = "1.71.48";
35
+ var apiVersion = "1.71.52";
36
36
  window.sap.ui.Device._checkAPIVersion(apiVersion);
37
37
  return;
38
38
  }
@@ -105,7 +105,7 @@ if (typeof window.sap.ui !== "object") {
105
105
 
106
106
  //Only used internal to make clear when Device API is loaded in wrong version
107
107
  Device._checkAPIVersion = function(sVersion) {
108
- var v = "1.71.48";
108
+ var v = "1.71.52";
109
109
  if (v != sVersion) {
110
110
  oLogger.log(WARNING, "Device API version differs: " + v + " <-> " + sVersion);
111
111
  }
@@ -18,7 +18,7 @@
18
18
  * sap.ui.lazyRequire("sap.ui.core.Control");
19
19
  * sap.ui.lazyRequire("sap.ui.commons.Button");
20
20
  *
21
- * @version 1.71.48
21
+ * @version 1.71.52
22
22
  * @author SAP SE
23
23
  * @public
24
24
  */
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * The <code>sap</code> namespace is automatically registered with the
49
49
  * OpenAjax hub if it exists.
50
50
  *
51
- * @version 1.71.48
51
+ * @version 1.71.52
52
52
  * @namespace
53
53
  * @public
54
54
  * @name sap
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * The <code>sap.ui</code> namespace is the central OpenAjax compliant entry
62
62
  * point for UI related JavaScript functionality provided by SAP.
63
63
  *
64
- * @version 1.71.48
64
+ * @version 1.71.52
65
65
  * @namespace
66
66
  * @name sap.ui
67
67
  * @public
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * The version of the SAP UI Library
76
76
  * @type string
77
77
  */
78
- version: "1.71.48",
78
+ version: "1.71.52",
79
79
  buildinfo : { lastchange : "${lastchange}", buildtime : "${buildtime}" }
80
80
  });
81
81
 
@@ -23,7 +23,7 @@ sap.ui.define(['./Object', "sap/base/assert"],
23
23
  * @extends sap.ui.base.Object
24
24
  * @implements sap.ui.base.Poolable
25
25
  * @author SAP SE
26
- * @version 1.71.48
26
+ * @version 1.71.52
27
27
  * @alias sap.ui.base.Event
28
28
  * @public
29
29
  */
@@ -18,7 +18,7 @@ sap.ui.define(['./Event', './Object', './ObjectPool', "sap/base/assert"],
18
18
  * @abstract
19
19
  * @extends sap.ui.base.Object
20
20
  * @author SAP SE
21
- * @version 1.71.48
21
+ * @version 1.71.52
22
22
  * @public
23
23
  * @alias sap.ui.base.EventProvider
24
24
  */
@@ -31,7 +31,7 @@ sap.ui.define([], function() {
31
31
  * internals of the class can be accessed.
32
32
  *
33
33
  * @author Malte Wedel, Daniel Brinkmann
34
- * @version 1.71.48
34
+ * @version 1.71.52
35
35
  * @param {sap.ui.base.Object}
36
36
  * oObject Object for which a facade should be created
37
37
  * @param {string[]}
@@ -272,7 +272,7 @@ sap.ui.define([
272
272
  *
273
273
  * @extends sap.ui.base.EventProvider
274
274
  * @author SAP SE
275
- * @version 1.71.48
275
+ * @version 1.71.52
276
276
  * @public
277
277
  * @alias sap.ui.base.ManagedObject
278
278
  */
@@ -75,7 +75,7 @@ function(
75
75
  *
76
76
  *
77
77
  * @author Frank Weigel
78
- * @version 1.71.48
78
+ * @version 1.71.52
79
79
  * @since 0.8.6
80
80
  * @alias sap.ui.base.ManagedObjectMetadata
81
81
  * @extends sap.ui.base.Metadata
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @class Metadata for a class.
29
29
  * @author Frank Weigel
30
- * @version 1.71.48
30
+ * @version 1.71.52
31
31
  * @since 0.8.6
32
32
  * @public
33
33
  * @alias sap.ui.base.Metadata
@@ -26,7 +26,7 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
26
26
  * @class Base class for all SAPUI5 Objects.
27
27
  * @abstract
28
28
  * @author Malte Wedel
29
- * @version 1.71.48
29
+ * @version 1.71.52
30
30
  * @public
31
31
  * @alias sap.ui.base.Object
32
32
  * @throws {Error} When an instance of the class or its subclasses is created without the <code>new</code> operator.
@@ -59,7 +59,7 @@ sap.ui.define(['./Object'],
59
59
  *
60
60
  * @extends sap.ui.base.Object
61
61
  * @author SAP SE
62
- * @version 1.71.48
62
+ * @version 1.71.52
63
63
  * @alias sap.ui.base.ObjectPool
64
64
  * @public
65
65
  */
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.71.48</version>
9
+ <version>1.71.52</version>
10
10
 
11
11
  <documentation>The SAPUI5 Core Runtime.
12
12
 
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * Provides methods to show or hide a waiting animation covering the whole
41
41
  * page and blocking user interaction.
42
42
  * @namespace
43
- * @version 1.71.48
43
+ * @version 1.71.52
44
44
  * @public
45
45
  * @alias sap.ui.core.BusyIndicator
46
46
  */
@@ -227,7 +227,7 @@ sap.ui.define([
227
227
  * @extends sap.ui.base.ManagedObject
228
228
  * @abstract
229
229
  * @author SAP SE
230
- * @version 1.71.48
230
+ * @version 1.71.52
231
231
  * @alias sap.ui.core.Component
232
232
  * @since 1.9.2
233
233
  */
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @class Container that embeds a UIComponent in a control tree.
39
39
  *
40
40
  * @extends sap.ui.core.Control
41
- * @version 1.71.48
41
+ * @version 1.71.52
42
42
  *
43
43
  * @public
44
44
  * @alias sap.ui.core.ComponentContainer
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @public
37
37
  * @class
38
38
  * @author SAP SE
39
- * @version 1.71.48
39
+ * @version 1.71.52
40
40
  * @since 1.9.2
41
41
  * @alias sap.ui.core.ComponentMetadata
42
42
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @author SAP SE
43
43
  * @public
44
44
  * @since 1.58.0
45
- * @version 1.71.48
45
+ * @version 1.71.52
46
46
  * @namespace
47
47
  * @alias module:sap/ui/core/ComponentSupport
48
48
  */
@@ -344,7 +344,7 @@ sap.ui.define([
344
344
  // always remember as SAP Logon language
345
345
  var sValue = config.sapLogonLanguage = oUriParams.get('sap-language');
346
346
  // try to interpret it as a BCP47 language tag, taking some well known SAP language codes into account
347
- var oLocale = sValue && convertToLocaleOrNull(M_ABAP_LANGUAGE_TO_LOCALE[sValue.toUpperCase()] || sValue);
347
+ var oLocale = Locale.fromSAPLogonLanguage(sValue);
348
348
  if ( oLocale ) {
349
349
  config.language = oLocale;
350
350
  } else if ( sValue && !oUriParams.get('sap-locale') && !oUriParams.get('sap-ui-language')) {
@@ -650,13 +650,18 @@ sap.ui.define([
650
650
  /**
651
651
  * Returns a BCP47-compliant language tag for the current language.
652
652
  *
653
- * The return value of this method is especially useful for an HTTP <code>Accept</code> header.
653
+ * The return value of this method is especially useful for an HTTP <code>Accept-Language</code> header.
654
654
  *
655
- * @return {string} The language tag for the current language, conforming to BCP47
655
+ * Retrieves the modern locale,
656
+ * e.g. he (Hebrew), yi (Yiddish)
657
+ *
658
+ * For backward compatibility "sh" is returned for Serbian Latin.
659
+ *
660
+ * @returns {string} The language tag for the current language, conforming to BCP47
656
661
  * @public
657
662
  */
658
663
  getLanguageTag : function () {
659
- return this.language.toString();
664
+ return this.language.toLanguageTag();
660
665
  },
661
666
 
662
667
  /**
@@ -1589,12 +1594,6 @@ sap.ui.define([
1589
1594
  return oLocale ? oLocale.toString() : null;
1590
1595
  }
1591
1596
 
1592
- var M_ABAP_LANGUAGE_TO_LOCALE = {
1593
- "ZH" : "zh-Hans",
1594
- "ZF" : "zh-Hant",
1595
- "1Q" : "en-US-x-saptrc",
1596
- "2Q" : "en-US-x-sappsd"
1597
- };
1598
1597
 
1599
1598
  var M_ABAP_DATE_FORMAT_PATTERN = {
1600
1599
  "" : {pattern: null},
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * @extends sap.ui.core.Element
76
76
  * @abstract
77
77
  * @author SAP SE
78
- * @version 1.71.48
78
+ * @version 1.71.52
79
79
  * @alias sap.ui.core.Control
80
80
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
81
81
  */
@@ -219,7 +219,7 @@ sap.ui.define([
219
219
  * @extends sap.ui.base.Object
220
220
  * @final
221
221
  * @author SAP SE
222
- * @version 1.71.48
222
+ * @version 1.71.52
223
223
  * @alias sap.ui.core.Core
224
224
  * @public
225
225
  * @hideconstructor
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.71.48
27
+ * @version 1.71.52
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * gets removed again.
75
75
  *
76
76
  * @author SAP SE
77
- * @version 1.71.48
77
+ * @version 1.71.52
78
78
  * @constructor
79
79
  * @private
80
80
  * @since 1.15.1