@mapgis/mapbox-gl 16.0.0 → 16.2.0

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 (441) hide show
  1. package/dist/mapbox-gl.js +4 -4
  2. package/dist/mapbox-gl.js.map +1 -1
  3. package/package.json +4 -5
  4. package/.flowconfig +0 -61
  5. package/LICENSE.txt +0 -84
  6. package/README.md +0 -34
  7. package/build/banner.js +0 -4
  8. package/build/check-bundle-size.js +0 -140
  9. package/build/generate-access-token-script.js +0 -11
  10. package/build/generate-flow-typed-style-spec.js +0 -188
  11. package/build/generate-release-list.js +0 -21
  12. package/build/generate-struct-arrays.js +0 -237
  13. package/build/generate-style-code.js +0 -159
  14. package/build/mapbox-gl.js.flow +0 -3
  15. package/build/print-release-url.js +0 -6
  16. package/build/rollup_plugin_minify_style_spec.js +0 -20
  17. package/build/rollup_plugins.js +0 -80
  18. package/build/run-node +0 -3
  19. package/build/run-tap +0 -8
  20. package/build/test/build-tape.js +0 -19
  21. package/dist/mapbox-gl-csp-worker.js +0 -2
  22. package/dist/mapbox-gl-csp-worker.js.map +0 -1
  23. package/dist/mapbox-gl-csp.js +0 -2
  24. package/dist/mapbox-gl-csp.js.map +0 -1
  25. package/dist/mapbox-gl-dev.js +0 -68798
  26. package/dist/mapbox-gl-unminified.js +0 -45076
  27. package/dist/mapbox-gl-unminified.js.map +0 -1
  28. package/flow-typed/gl.js +0 -5
  29. package/flow-typed/jsdom.js +0 -18
  30. package/flow-typed/mapbox-gl-supported.js +0 -9
  31. package/flow-typed/mapbox-unitbezier.js +0 -14
  32. package/flow-typed/offscreen-canvas.js +0 -9
  33. package/flow-typed/pbf.js +0 -25
  34. package/flow-typed/point-geometry.js +0 -44
  35. package/flow-typed/potpack.js +0 -12
  36. package/flow-typed/sinon.js +0 -28
  37. package/flow-typed/vector-tile.js +0 -41
  38. package/src/css/mapbox-gl.css +0 -798
  39. package/src/css/svg/mapboxgl-ctrl-attrib.svg +0 -3
  40. package/src/css/svg/mapboxgl-ctrl-compass.svg +0 -4
  41. package/src/css/svg/mapboxgl-ctrl-fullscreen.svg +0 -3
  42. package/src/css/svg/mapboxgl-ctrl-geolocate.svg +0 -5
  43. package/src/css/svg/mapboxgl-ctrl-logo.svg +0 -20
  44. package/src/css/svg/mapboxgl-ctrl-shrink.svg +0 -3
  45. package/src/css/svg/mapboxgl-ctrl-zoom-in.svg +0 -3
  46. package/src/css/svg/mapboxgl-ctrl-zoom-out.svg +0 -3
  47. package/src/data/array_types.js +0 -1095
  48. package/src/data/bucket/circle_attributes.js +0 -9
  49. package/src/data/bucket/circle_bucket.js +0 -204
  50. package/src/data/bucket/fill_attributes.js +0 -9
  51. package/src/data/bucket/fill_bucket.js +0 -233
  52. package/src/data/bucket/fill_extrusion_attributes.js +0 -10
  53. package/src/data/bucket/fill_extrusion_bucket.js +0 -289
  54. package/src/data/bucket/heatmap_bucket.js +0 -17
  55. package/src/data/bucket/line_attributes.js +0 -10
  56. package/src/data/bucket/line_bucket.js +0 -556
  57. package/src/data/bucket/pattern_attributes.js +0 -10
  58. package/src/data/bucket/pattern_bucket_features.js +0 -60
  59. package/src/data/bucket/symbol_attributes.js +0 -117
  60. package/src/data/bucket/symbol_bucket.js +0 -972
  61. package/src/data/bucket.js +0 -123
  62. package/src/data/dem_data.js +0 -125
  63. package/src/data/extent.js +0 -18
  64. package/src/data/feature_index.js +0 -321
  65. package/src/data/feature_position_map.js +0 -125
  66. package/src/data/index_array_type.js +0 -16
  67. package/src/data/load_geometry.js +0 -48
  68. package/src/data/pos_attributes.js +0 -6
  69. package/src/data/program_configuration.js +0 -687
  70. package/src/data/raster_bounds_attributes.js +0 -7
  71. package/src/data/segment.js +0 -76
  72. package/src/geo/edge_insets.js +0 -102
  73. package/src/geo/lng_lat.js +0 -165
  74. package/src/geo/lng_lat_bounds.js +0 -267
  75. package/src/geo/mercator_coordinate.js +0 -153
  76. package/src/geo/transform.js +0 -864
  77. package/src/gl/color_mode.js +0 -34
  78. package/src/gl/context.js +0 -298
  79. package/src/gl/cull_face_mode.js +0 -26
  80. package/src/gl/depth_mode.js +0 -29
  81. package/src/gl/framebuffer.js +0 -44
  82. package/src/gl/index_buffer.js +0 -55
  83. package/src/gl/stencil_mode.js +0 -30
  84. package/src/gl/types.js +0 -84
  85. package/src/gl/value.js +0 -520
  86. package/src/gl/vertex_buffer.js +0 -119
  87. package/src/index.js +0 -201
  88. package/src/render/draw_background.js +0 -57
  89. package/src/render/draw_circle.js +0 -113
  90. package/src/render/draw_collision_debug.js +0 -49
  91. package/src/render/draw_custom.js +0 -49
  92. package/src/render/draw_debug.js +0 -127
  93. package/src/render/draw_fill.js +0 -126
  94. package/src/render/draw_fill_extrusion.js +0 -96
  95. package/src/render/draw_heatmap.js +0 -140
  96. package/src/render/draw_hillshade.js +0 -108
  97. package/src/render/draw_line.js +0 -98
  98. package/src/render/draw_raster.js +0 -125
  99. package/src/render/draw_symbol.js +0 -394
  100. package/src/render/glyph_atlas.js +0 -71
  101. package/src/render/glyph_manager.js +0 -182
  102. package/src/render/image_atlas.js +0 -149
  103. package/src/render/image_manager.js +0 -306
  104. package/src/render/line_atlas.js +0 -210
  105. package/src/render/painter.js +0 -653
  106. package/src/render/program/background_program.js +0 -103
  107. package/src/render/program/circle_program.js +0 -69
  108. package/src/render/program/clipping_mask_program.js +0 -20
  109. package/src/render/program/collision_program.js +0 -49
  110. package/src/render/program/debug_program.js +0 -35
  111. package/src/render/program/fill_extrusion_program.js +0 -122
  112. package/src/render/program/fill_program.js +0 -126
  113. package/src/render/program/heatmap_program.js +0 -83
  114. package/src/render/program/hillshade_program.js +0 -122
  115. package/src/render/program/line_program.js +0 -207
  116. package/src/render/program/pattern.js +0 -102
  117. package/src/render/program/program_uniforms.js +0 -42
  118. package/src/render/program/raster_program.js +0 -92
  119. package/src/render/program/symbol_program.js +0 -224
  120. package/src/render/program.js +0 -168
  121. package/src/render/texture.js +0 -122
  122. package/src/render/uniform_binding.js +0 -147
  123. package/src/render/vertex_array_object.js +0 -163
  124. package/src/shaders/README.md +0 -42
  125. package/src/shaders/_prelude.fragment.glsl +0 -17
  126. package/src/shaders/_prelude.vertex.glsl +0 -73
  127. package/src/shaders/background.fragment.glsl +0 -10
  128. package/src/shaders/background.vertex.glsl +0 -7
  129. package/src/shaders/background_pattern.fragment.glsl +0 -28
  130. package/src/shaders/background_pattern.vertex.glsl +0 -20
  131. package/src/shaders/circle.fragment.glsl +0 -39
  132. package/src/shaders/circle.vertex.glsl +0 -64
  133. package/src/shaders/clipping_mask.fragment.glsl +0 -3
  134. package/src/shaders/clipping_mask.vertex.glsl +0 -7
  135. package/src/shaders/collision_box.fragment.glsl +0 -21
  136. package/src/shaders/collision_box.vertex.glsl +0 -27
  137. package/src/shaders/collision_circle.fragment.glsl +0 -34
  138. package/src/shaders/collision_circle.vertex.glsl +0 -36
  139. package/src/shaders/debug.fragment.glsl +0 -9
  140. package/src/shaders/debug.vertex.glsl +0 -12
  141. package/src/shaders/encode_attribute.js +0 -17
  142. package/src/shaders/fill.fragment.glsl +0 -13
  143. package/src/shaders/fill.vertex.glsl +0 -13
  144. package/src/shaders/fill_extrusion.fragment.glsl +0 -9
  145. package/src/shaders/fill_extrusion.vertex.glsl +0 -66
  146. package/src/shaders/fill_extrusion_pattern.fragment.glsl +0 -45
  147. package/src/shaders/fill_extrusion_pattern.vertex.glsl +0 -79
  148. package/src/shaders/fill_outline.fragment.glsl +0 -17
  149. package/src/shaders/fill_outline.vertex.glsl +0 -17
  150. package/src/shaders/fill_outline_pattern.fragment.glsl +0 -43
  151. package/src/shaders/fill_outline_pattern.vertex.glsl +0 -44
  152. package/src/shaders/fill_pattern.fragment.glsl +0 -36
  153. package/src/shaders/fill_pattern.vertex.glsl +0 -39
  154. package/src/shaders/heatmap.fragment.glsl +0 -22
  155. package/src/shaders/heatmap.vertex.glsl +0 -54
  156. package/src/shaders/heatmap_texture.fragment.glsl +0 -14
  157. package/src/shaders/heatmap_texture.vertex.glsl +0 -11
  158. package/src/shaders/hillshade.fragment.glsl +0 -52
  159. package/src/shaders/hillshade.vertex.glsl +0 -11
  160. package/src/shaders/hillshade_prepare.fragment.glsl +0 -74
  161. package/src/shaders/hillshade_prepare.vertex.glsl +0 -15
  162. package/src/shaders/index.js +0 -20
  163. package/src/shaders/line.fragment.glsl +0 -30
  164. package/src/shaders/line.vertex.glsl +0 -85
  165. package/src/shaders/line_gradient.fragment.glsl +0 -34
  166. package/src/shaders/line_gradient.vertex.glsl +0 -87
  167. package/src/shaders/line_pattern.fragment.glsl +0 -74
  168. package/src/shaders/line_pattern.vertex.glsl +0 -99
  169. package/src/shaders/line_sdf.fragment.glsl +0 -45
  170. package/src/shaders/line_sdf.vertex.glsl +0 -98
  171. package/src/shaders/raster.fragment.glsl +0 -52
  172. package/src/shaders/raster.vertex.glsl +0 -21
  173. package/src/shaders/shaders.js +0 -180
  174. package/src/shaders/symbol_icon.fragment.glsl +0 -17
  175. package/src/shaders/symbol_icon.vertex.glsl +0 -94
  176. package/src/shaders/symbol_sdf.fragment.glsl +0 -52
  177. package/src/shaders/symbol_sdf.vertex.glsl +0 -115
  178. package/src/shaders/symbol_text_and_icon.fragment.glsl +0 -68
  179. package/src/shaders/symbol_text_and_icon.vertex.glsl +0 -116
  180. package/src/source/canvas_source.js +0 -238
  181. package/src/source/geojson_helper.js +0 -92
  182. package/src/source/geojson_source.js +0 -374
  183. package/src/source/geojson_worker_source.js +0 -357
  184. package/src/source/geojson_wrapper.js +0 -94
  185. package/src/source/image_source.js +0 -307
  186. package/src/source/load_tilejson.js +0 -39
  187. package/src/source/mbtiles_source.js +0 -115
  188. package/src/source/offline_database.js +0 -61
  189. package/src/source/offline_database_root.js +0 -62
  190. package/src/source/pixels_to_tile_units.js +0 -21
  191. package/src/source/query_features.js +0 -208
  192. package/src/source/raster_dem_tile_source.js +0 -138
  193. package/src/source/raster_dem_tile_worker_source.js +0 -62
  194. package/src/source/raster_tile_offline_source.js +0 -136
  195. package/src/source/raster_tile_source.js +0 -177
  196. package/src/source/rtl_text_plugin.js +0 -138
  197. package/src/source/source.js +0 -137
  198. package/src/source/source_cache.js +0 -957
  199. package/src/source/source_state.js +0 -159
  200. package/src/source/tile.js +0 -465
  201. package/src/source/tile_bounds.js +0 -38
  202. package/src/source/tile_cache.js +0 -212
  203. package/src/source/tile_id.js +0 -402
  204. package/src/source/vector_tile_source.js +0 -192
  205. package/src/source/vector_tile_worker_source.js +0 -216
  206. package/src/source/video_source.js +0 -203
  207. package/src/source/worker.js +0 -237
  208. package/src/source/worker_source.js +0 -106
  209. package/src/source/worker_tile.js +0 -224
  210. package/src/style/create_style_layer.js +0 -36
  211. package/src/style/evaluation_parameters.js +0 -62
  212. package/src/style/light.js +0 -130
  213. package/src/style/load_glyph_range.js +0 -38
  214. package/src/style/load_sprite.js +0 -67
  215. package/src/style/parse_glyph_pbf.js +0 -44
  216. package/src/style/pauseable_placement.js +0 -132
  217. package/src/style/properties.js +0 -753
  218. package/src/style/query_utils.js +0 -43
  219. package/src/style/style.js +0 -1361
  220. package/src/style/style_glyph.js +0 -17
  221. package/src/style/style_image.js +0 -137
  222. package/src/style/style_layer/background_style_layer.js +0 -21
  223. package/src/style/style_layer/background_style_layer_properties.js +0 -40
  224. package/src/style/style_layer/circle_style_layer.js +0 -98
  225. package/src/style/style_layer/circle_style_layer_properties.js +0 -63
  226. package/src/style/style_layer/custom_style_layer.js +0 -223
  227. package/src/style/style_layer/fill_extrusion_style_layer.js +0 -224
  228. package/src/style/style_layer/fill_extrusion_style_layer_properties.js +0 -50
  229. package/src/style/style_layer/fill_style_layer.js +0 -67
  230. package/src/style/style_layer/fill_style_layer_properties.js +0 -55
  231. package/src/style/style_layer/heatmap_style_layer.js +0 -69
  232. package/src/style/style_layer/heatmap_style_layer_properties.js +0 -44
  233. package/src/style/style_layer/hillshade_style_layer.js +0 -25
  234. package/src/style/style_layer/hillshade_style_layer_properties.js +0 -46
  235. package/src/style/style_layer/layer_properties.js.ejs +0 -69
  236. package/src/style/style_layer/line_style_layer.js +0 -151
  237. package/src/style/style_layer/line_style_layer_properties.js +0 -71
  238. package/src/style/style_layer/raster_style_layer.js +0 -21
  239. package/src/style/style_layer/raster_style_layer_properties.js +0 -50
  240. package/src/style/style_layer/symbol_style_layer.js +0 -190
  241. package/src/style/style_layer/symbol_style_layer_properties.js +0 -153
  242. package/src/style/style_layer/typed_style_layer.js +0 -17
  243. package/src/style/style_layer.js +0 -281
  244. package/src/style/style_layer_index.js +0 -80
  245. package/src/style/validate_style.js +0 -42
  246. package/src/style/zoom_history.js +0 -44
  247. package/src/style-spec/.eslintrc +0 -5
  248. package/src/style-spec/CHANGELOG.md +0 -438
  249. package/src/style-spec/README.md +0 -59
  250. package/src/style-spec/bin/gl-style-composite +0 -9
  251. package/src/style-spec/bin/gl-style-format +0 -22
  252. package/src/style-spec/bin/gl-style-migrate +0 -9
  253. package/src/style-spec/bin/gl-style-validate +0 -50
  254. package/src/style-spec/composite.js +0 -50
  255. package/src/style-spec/declass.js +0 -42
  256. package/src/style-spec/deref.js +0 -52
  257. package/src/style-spec/diff.js +0 -393
  258. package/src/style-spec/dist/.gitkeep +0 -0
  259. package/src/style-spec/empty.js +0 -29
  260. package/src/style-spec/error/parsing_error.js +0 -16
  261. package/src/style-spec/error/validation_error.js +0 -18
  262. package/src/style-spec/expression/compound_expression.js +0 -162
  263. package/src/style-spec/expression/definitions/assertion.js +0 -130
  264. package/src/style-spec/expression/definitions/at.js +0 -70
  265. package/src/style-spec/expression/definitions/case.js +0 -85
  266. package/src/style-spec/expression/definitions/coalesce.js +0 -93
  267. package/src/style-spec/expression/definitions/coercion.js +0 -133
  268. package/src/style-spec/expression/definitions/collator.js +0 -78
  269. package/src/style-spec/expression/definitions/comparison.js +0 -184
  270. package/src/style-spec/expression/definitions/format.js +0 -144
  271. package/src/style-spec/expression/definitions/format_section_override.js +0 -54
  272. package/src/style-spec/expression/definitions/image.js +0 -52
  273. package/src/style-spec/expression/definitions/in.js +0 -92
  274. package/src/style-spec/expression/definitions/index.js +0 -561
  275. package/src/style-spec/expression/definitions/interpolate.js +0 -267
  276. package/src/style-spec/expression/definitions/length.js +0 -61
  277. package/src/style-spec/expression/definitions/let.js +0 -72
  278. package/src/style-spec/expression/definitions/literal.js +0 -77
  279. package/src/style-spec/expression/definitions/match.js +0 -158
  280. package/src/style-spec/expression/definitions/number_format.js +0 -142
  281. package/src/style-spec/expression/definitions/step.js +0 -120
  282. package/src/style-spec/expression/definitions/var.js +0 -46
  283. package/src/style-spec/expression/definitions/within.js +0 -333
  284. package/src/style-spec/expression/evaluation_context.js +0 -59
  285. package/src/style-spec/expression/expression.js +0 -27
  286. package/src/style-spec/expression/index.js +0 -392
  287. package/src/style-spec/expression/is_constant.js +0 -59
  288. package/src/style-spec/expression/parsing_context.js +0 -233
  289. package/src/style-spec/expression/parsing_error.js +0 -13
  290. package/src/style-spec/expression/runtime_error.js +0 -17
  291. package/src/style-spec/expression/scope.js +0 -36
  292. package/src/style-spec/expression/stops.js +0 -39
  293. package/src/style-spec/expression/types/collator.js +0 -61
  294. package/src/style-spec/expression/types/formatted.js +0 -73
  295. package/src/style-spec/expression/types/resolved_image.js +0 -29
  296. package/src/style-spec/expression/types.js +0 -106
  297. package/src/style-spec/expression/values.js +0 -123
  298. package/src/style-spec/feature_filter/README.md +0 -55
  299. package/src/style-spec/feature_filter/convert.js +0 -208
  300. package/src/style-spec/feature_filter/index.js +0 -165
  301. package/src/style-spec/format.js +0 -51
  302. package/src/style-spec/function/convert.js +0 -254
  303. package/src/style-spec/function/index.js +0 -262
  304. package/src/style-spec/group_by_layout.js +0 -75
  305. package/src/style-spec/migrate/expressions.js +0 -39
  306. package/src/style-spec/migrate/v8.js +0 -203
  307. package/src/style-spec/migrate/v9.js +0 -26
  308. package/src/style-spec/migrate.js +0 -36
  309. package/src/style-spec/package.json +0 -41
  310. package/src/style-spec/read_style.js +0 -14
  311. package/src/style-spec/reference/latest.js +0 -3
  312. package/src/style-spec/reference/v8.json +0 -5808
  313. package/src/style-spec/rollup.config.js +0 -45
  314. package/src/style-spec/style-spec.js +0 -122
  315. package/src/style-spec/types.js +0 -438
  316. package/src/style-spec/util/color.js +0 -95
  317. package/src/style-spec/util/color_spaces.js +0 -139
  318. package/src/style-spec/util/deep_equal.js +0 -28
  319. package/src/style-spec/util/extend.js +0 -10
  320. package/src/style-spec/util/get_type.js +0 -17
  321. package/src/style-spec/util/interpolate.js +0 -22
  322. package/src/style-spec/util/properties.js +0 -15
  323. package/src/style-spec/util/ref_properties.js +0 -2
  324. package/src/style-spec/util/result.js +0 -19
  325. package/src/style-spec/util/unbundle_jsonlint.js +0 -24
  326. package/src/style-spec/validate/latest.js +0 -11
  327. package/src/style-spec/validate/validate.js +0 -75
  328. package/src/style-spec/validate/validate_array.js +0 -52
  329. package/src/style-spec/validate/validate_boolean.js +0 -15
  330. package/src/style-spec/validate/validate_color.js +0 -20
  331. package/src/style-spec/validate/validate_constants.js +0 -13
  332. package/src/style-spec/validate/validate_enum.js +0 -21
  333. package/src/style-spec/validate/validate_expression.js +0 -43
  334. package/src/style-spec/validate/validate_filter.js +0 -111
  335. package/src/style-spec/validate/validate_formatted.js +0 -11
  336. package/src/style-spec/validate/validate_function.js +0 -207
  337. package/src/style-spec/validate/validate_glyphs_url.js +0 -21
  338. package/src/style-spec/validate/validate_image.js +0 -11
  339. package/src/style-spec/validate/validate_layer.js +0 -134
  340. package/src/style-spec/validate/validate_layout_property.js +0 -6
  341. package/src/style-spec/validate/validate_light.js +0 -47
  342. package/src/style-spec/validate/validate_number.js +0 -29
  343. package/src/style-spec/validate/validate_object.js +0 -61
  344. package/src/style-spec/validate/validate_paint_property.js +0 -6
  345. package/src/style-spec/validate/validate_property.js +0 -64
  346. package/src/style-spec/validate/validate_source.js +0 -111
  347. package/src/style-spec/validate/validate_string.js +0 -15
  348. package/src/style-spec/validate_mapbox_api_supported.js +0 -171
  349. package/src/style-spec/validate_style.js +0 -39
  350. package/src/style-spec/validate_style.min.js +0 -78
  351. package/src/style-spec/visit.js +0 -77
  352. package/src/symbol/anchor.js +0 -26
  353. package/src/symbol/check_max_angle.js +0 -81
  354. package/src/symbol/clip_line.js +0 -71
  355. package/src/symbol/collision_feature.js +0 -217
  356. package/src/symbol/collision_index.js +0 -372
  357. package/src/symbol/cross_tile_symbol_index.js +0 -301
  358. package/src/symbol/get_anchors.js +0 -167
  359. package/src/symbol/grid_index.js +0 -335
  360. package/src/symbol/mergelines.js +0 -82
  361. package/src/symbol/one_em.js +0 -4
  362. package/src/symbol/opacity_state.js +0 -27
  363. package/src/symbol/placement.js +0 -1062
  364. package/src/symbol/projection.js +0 -450
  365. package/src/symbol/quads.js +0 -334
  366. package/src/symbol/shaping.js +0 -816
  367. package/src/symbol/symbol_layout.js +0 -772
  368. package/src/symbol/symbol_size.js +0 -113
  369. package/src/symbol/transform_text.js +0 -29
  370. package/src/types/callback.js +0 -17
  371. package/src/types/cancelable.js +0 -3
  372. package/src/types/tilejson.js +0 -17
  373. package/src/types/transferable.js +0 -3
  374. package/src/types/window.js +0 -172
  375. package/src/ui/anchor.js +0 -32
  376. package/src/ui/bind_handlers.js +0 -202
  377. package/src/ui/camera.js +0 -1152
  378. package/src/ui/control/attribution_control.js +0 -189
  379. package/src/ui/control/fps_control.js +0 -185
  380. package/src/ui/control/fullscreen_control.js +0 -147
  381. package/src/ui/control/geolocate_control.js +0 -594
  382. package/src/ui/control/logo_control.js +0 -92
  383. package/src/ui/control/navigation_control.js +0 -148
  384. package/src/ui/control/scale_control.js +0 -142
  385. package/src/ui/crs.js +0 -64
  386. package/src/ui/default_locale.js +0 -20
  387. package/src/ui/events.js +0 -806
  388. package/src/ui/handler/box_zoom.js +0 -175
  389. package/src/ui/handler/dblclick_zoom.js +0 -139
  390. package/src/ui/handler/drag_pan.js +0 -416
  391. package/src/ui/handler/drag_rotate.js +0 -378
  392. package/src/ui/handler/keyboard.js +0 -161
  393. package/src/ui/handler/scroll_zoom.js +0 -333
  394. package/src/ui/handler/touch_zoom_rotate.js +0 -293
  395. package/src/ui/hash.js +0 -147
  396. package/src/ui/map.js +0 -2883
  397. package/src/ui/marker.js +0 -607
  398. package/src/ui/offline_map.js +0 -91
  399. package/src/ui/popup.js +0 -530
  400. package/src/util/actor.js +0 -212
  401. package/src/util/ajax.js +0 -371
  402. package/src/util/browser/web_worker.js +0 -10
  403. package/src/util/browser/window.js +0 -5
  404. package/src/util/browser.js +0 -70
  405. package/src/util/classify_rings.js +0 -52
  406. package/src/util/color_ramp.js +0 -28
  407. package/src/util/config.js +0 -30
  408. package/src/util/debug.js +0 -12
  409. package/src/util/dictionary_coder.js +0 -30
  410. package/src/util/dispatcher.js +0 -70
  411. package/src/util/dom.js +0 -144
  412. package/src/util/evented.js +0 -174
  413. package/src/util/find_pole_of_inaccessibility.js +0 -129
  414. package/src/util/global_worker_pool.js +0 -17
  415. package/src/util/image.js +0 -142
  416. package/src/util/intersection_tests.js +0 -208
  417. package/src/util/is_char_in_unicode_block.js +0 -311
  418. package/src/util/mapbox.js +0 -486
  419. package/src/util/offscreen_canvas_supported.js +0 -14
  420. package/src/util/performance.js +0 -112
  421. package/src/util/primitives.js +0 -145
  422. package/src/util/resolve_tokens.js +0 -16
  423. package/src/util/script_detection.js +0 -328
  424. package/src/util/sku_token.js +0 -42
  425. package/src/util/smart_wrap.js +0 -55
  426. package/src/util/struct_array.js +0 -243
  427. package/src/util/struct_array.js.ejs +0 -112
  428. package/src/util/struct_array_layout.js.ejs +0 -98
  429. package/src/util/task_queue.js +0 -68
  430. package/src/util/throttle.js +0 -28
  431. package/src/util/throttled_invoker.js +0 -46
  432. package/src/util/tile_cover.js +0 -101
  433. package/src/util/tile_request_cache.js +0 -172
  434. package/src/util/util.js +0 -504
  435. package/src/util/vectortile_to_geojson.js +0 -54
  436. package/src/util/verticalize_punctuation.js +0 -114
  437. package/src/util/web_worker.js +0 -91
  438. package/src/util/web_worker_transfer.js +0 -266
  439. package/src/util/webp_supported.js +0 -69
  440. package/src/util/window.js +0 -102
  441. package/src/util/worker_pool.js +0 -47
@@ -1,54 +0,0 @@
1
- // @flow
2
- import type {GeoJSONGeometry} from '@mapbox/geojson-types';
3
-
4
- class Feature {
5
- type: 'Feature';
6
- _geometry: ?GeoJSONGeometry;
7
- properties: {};
8
- id: number | string | void;
9
- epsg: string;
10
-
11
- _vectorTileFeature: VectorTileFeature;
12
-
13
- constructor(vectorTileFeature: VectorTileFeature, z: number, x: number, y: number, id: string | number | void, epsg?: string) {
14
- this.epsg = epsg || 'EPSG:3857';
15
- this.type = 'Feature';
16
-
17
- this._vectorTileFeature = vectorTileFeature;
18
- (vectorTileFeature: any)._z = z;
19
- (vectorTileFeature: any)._x = x;
20
- (vectorTileFeature: any)._y = y;
21
-
22
- this.properties = vectorTileFeature.properties;
23
- this.id = id;
24
- }
25
-
26
- get geometry(): ?GeoJSONGeometry {
27
- if (this._geometry === undefined) {
28
- this._geometry = this._vectorTileFeature.toGeoJSON(
29
- (this._vectorTileFeature: any)._x,
30
- (this._vectorTileFeature: any)._y,
31
- (this._vectorTileFeature: any)._z,
32
- this.epsg,
33
- ).geometry;
34
- }
35
- return this._geometry;
36
- }
37
-
38
- set geometry(g: ?GeoJSONGeometry) {
39
- this._geometry = g;
40
- }
41
-
42
- toJSON() {
43
- const json = {
44
- geometry: this.geometry
45
- };
46
- for (const i in this) {
47
- if (i === '_geometry' || i === '_vectorTileFeature') continue;
48
- json[i] = (this: any)[i];
49
- }
50
- return json;
51
- }
52
- }
53
-
54
- export default Feature;
@@ -1,114 +0,0 @@
1
- // @flow
2
-
3
- import {
4
- charHasRotatedVerticalOrientation,
5
- } from './script_detection';
6
-
7
- export const verticalizedCharacterMap = {
8
- '!': '︕',
9
- '#': '#',
10
- '$': '$',
11
- '%': '%',
12
- '&': '&',
13
- '(': '︵',
14
- ')': '︶',
15
- '*': '*',
16
- '+': '+',
17
- ',': '︐',
18
- '-': '︲',
19
- '.': '・',
20
- '/': '/',
21
- ':': '︓',
22
- ';': '︔',
23
- '<': '︿',
24
- '=': '=',
25
- '>': '﹀',
26
- '?': '︖',
27
- '@': '@',
28
- '[': '﹇',
29
- '\\': '\',
30
- ']': '﹈',
31
- '^': '^',
32
- '_': '︳',
33
- '`': '`',
34
- '{': '︷',
35
- '|': '―',
36
- '}': '︸',
37
- '~': '~',
38
- '¢': '¢',
39
- '£': '£',
40
- '¥': '¥',
41
- '¦': '¦',
42
- '¬': '¬',
43
- '¯': ' ̄',
44
- '–': '︲',
45
- '—': '︱',
46
- '‘': '﹃',
47
- '’': '﹄',
48
- '“': '﹁',
49
- '”': '﹂',
50
- '…': '︙',
51
- '‧': '・',
52
- '₩': '₩',
53
- '、': '︑',
54
- '。': '︒',
55
- '〈': '︿',
56
- '〉': '﹀',
57
- '《': '︽',
58
- '》': '︾',
59
- '「': '﹁',
60
- '」': '﹂',
61
- '『': '﹃',
62
- '』': '﹄',
63
- '【': '︻',
64
- '】': '︼',
65
- '〔': '︹',
66
- '〕': '︺',
67
- '〖': '︗',
68
- '〗': '︘',
69
- '!': '︕',
70
- '(': '︵',
71
- ')': '︶',
72
- ',': '︐',
73
- '-': '︲',
74
- '.': '・',
75
- ':': '︓',
76
- ';': '︔',
77
- '<': '︿',
78
- '>': '﹀',
79
- '?': '︖',
80
- '[': '﹇',
81
- ']': '﹈',
82
- '_': '︳',
83
- '{': '︷',
84
- '|': '―',
85
- '}': '︸',
86
- '⦅': '︵',
87
- '⦆': '︶',
88
- '。': '︒',
89
- '「': '﹁',
90
- '」': '﹂'
91
- };
92
-
93
- export default function verticalizePunctuation(input: string) {
94
- let output = '';
95
-
96
- for (let i = 0; i < input.length; i++) {
97
- const nextCharCode = input.charCodeAt(i + 1) || null;
98
- const prevCharCode = input.charCodeAt(i - 1) || null;
99
-
100
- const canReplacePunctuation = (
101
- (!nextCharCode || !charHasRotatedVerticalOrientation(nextCharCode) || verticalizedCharacterMap[input[i + 1]]) &&
102
- (!prevCharCode || !charHasRotatedVerticalOrientation(prevCharCode) || verticalizedCharacterMap[input[i - 1]])
103
- );
104
-
105
- if (canReplacePunctuation && verticalizedCharacterMap[input[i]]) {
106
- output += verticalizedCharacterMap[input[i]];
107
- } else {
108
- output += input[i];
109
- }
110
- }
111
-
112
- return output;
113
- }
114
-
@@ -1,91 +0,0 @@
1
- // @flow
2
-
3
- // This file is intended for use in the GL-JS test suite
4
- // It implements a MessageBus main thread interface for use in Node environments
5
- // In a browser environment, this file is replaced with ./src/util/browser/web_worker.js
6
- // when Rollup builds the main bundle.
7
- // See https://github.com/mapbox/mapbox-gl-js/blob/master/package.json#L104-L108
8
-
9
- import Worker from '../source/worker';
10
-
11
- import type {WorkerSource} from '../source/worker_source';
12
-
13
- type MessageListener = ({data: Object}) => mixed;
14
-
15
- // The main thread interface. Provided by Worker in a browser environment,
16
- // and MessageBus below in a node environment.
17
- export interface WorkerInterface {
18
- addEventListener(type: 'message', listener: MessageListener): void;
19
- removeEventListener(type: 'message', listener: MessageListener): void;
20
- postMessage(message: any): void;
21
- terminate(): void;
22
- }
23
-
24
- export interface WorkerGlobalScopeInterface {
25
- importScripts(...urls: Array<string>): void;
26
-
27
- registerWorkerSource: (string, Class<WorkerSource>) => void,
28
- registerRTLTextPlugin: (_: any) => void
29
- }
30
-
31
- class MessageBus implements WorkerInterface, WorkerGlobalScopeInterface {
32
- addListeners: Array<MessageListener>;
33
- postListeners: Array<MessageListener>;
34
- target: MessageBus;
35
- registerWorkerSource: *;
36
- registerRTLTextPlugin: *;
37
-
38
- constructor(addListeners: Array<MessageListener>, postListeners: Array<MessageListener>) {
39
- this.addListeners = addListeners;
40
- this.postListeners = postListeners;
41
- }
42
-
43
- addEventListener(event: 'message', callback: MessageListener) {
44
- if (event === 'message') {
45
- this.addListeners.push(callback);
46
- }
47
- }
48
-
49
- removeEventListener(event: 'message', callback: MessageListener) {
50
- const i = this.addListeners.indexOf(callback);
51
- if (i >= 0) {
52
- this.addListeners.splice(i, 1);
53
- }
54
- }
55
-
56
- postMessage(data: Object) {
57
- setImmediate(() => {
58
- try {
59
- for (const listener of this.postListeners) {
60
- listener({data, target: this.target});
61
- }
62
- } catch (e) {
63
- console.error(e);
64
- }
65
- });
66
- }
67
-
68
- terminate() {
69
- this.addListeners.splice(0, this.addListeners.length);
70
- this.postListeners.splice(0, this.postListeners.length);
71
- }
72
-
73
- importScripts() {}
74
- }
75
-
76
- export default function WebWorker(): WorkerInterface {
77
- const parentListeners = [],
78
- workerListeners = [],
79
- parentBus = new MessageBus(workerListeners, parentListeners),
80
- workerBus = new MessageBus(parentListeners, workerListeners);
81
-
82
- parentBus.target = workerBus;
83
- workerBus.target = parentBus;
84
-
85
- new WebWorker.Worker(workerBus);
86
-
87
- return parentBus;
88
- }
89
-
90
- // expose to allow stubbing in unit tests
91
- WebWorker.Worker = Worker;
@@ -1,266 +0,0 @@
1
- // @flow
2
-
3
- import assert from 'assert';
4
-
5
- import Grid from 'grid-index';
6
- import Color from '../style-spec/util/color';
7
- import {StylePropertyFunction, StyleExpression, ZoomDependentExpression, ZoomConstantExpression} from '../style-spec/expression';
8
- import CompoundExpression from '../style-spec/expression/compound_expression';
9
- import expressions from '../style-spec/expression/definitions';
10
- import ResolvedImage from '../style-spec/expression/types/resolved_image';
11
- import window from './window';
12
- const {ImageData, ImageBitmap} = window;
13
-
14
- import type {Transferable} from '../types/transferable';
15
-
16
- type SerializedObject = {[_: string]: Serialized }; // eslint-disable-line
17
- export type Serialized =
18
- | null
19
- | void
20
- | boolean
21
- | number
22
- | string
23
- | Boolean
24
- | Number
25
- | String
26
- | Date
27
- | RegExp
28
- | ArrayBuffer
29
- | $ArrayBufferView
30
- | ImageData
31
- | Array<Serialized>
32
- | SerializedObject;
33
-
34
- type Registry = {
35
- [_: string]: {
36
- klass: Class<any>,
37
- omit: $ReadOnlyArray<string>,
38
- shallow: $ReadOnlyArray<string>
39
- }
40
- };
41
-
42
- type RegisterOptions<T> = {
43
- omit?: $ReadOnlyArray<$Keys<T>>,
44
- shallow?: $ReadOnlyArray<$Keys<T>>
45
- }
46
-
47
- const registry: Registry = {};
48
-
49
- /**
50
- * Register the given class as serializable.
51
- *
52
- * @param options
53
- * @param options.omit List of properties to omit from serialization (e.g., cached/computed properties)
54
- * @param options.shallow List of properties that should be serialized by a simple shallow copy, rather than by a recursive call to serialize().
55
- *
56
- * @private
57
- */
58
- export function register<T: any>(name: string, klass: Class<T>, options: RegisterOptions<T> = {}) {
59
- assert(!registry[name], `${name} is already registered.`);
60
- (Object.defineProperty: any)(klass, '_classRegistryKey', {
61
- value: name,
62
- writeable: false
63
- });
64
- registry[name] = {
65
- klass,
66
- omit: options.omit || [],
67
- shallow: options.shallow || []
68
- };
69
- }
70
-
71
- register('Object', Object);
72
-
73
- type SerializedGrid = { buffer: ArrayBuffer };
74
-
75
- Grid.serialize = function serialize(grid: Grid, transferables?: Array<Transferable>): SerializedGrid {
76
- const buffer = grid.toArrayBuffer();
77
- if (transferables) {
78
- transferables.push(buffer);
79
- }
80
- return {buffer};
81
- };
82
-
83
- Grid.deserialize = function deserialize(serialized: SerializedGrid): Grid {
84
- return new Grid(serialized.buffer);
85
- };
86
- register('Grid', Grid);
87
-
88
- register('Color', Color);
89
- register('Error', Error);
90
- register('ResolvedImage', ResolvedImage);
91
-
92
- register('StylePropertyFunction', StylePropertyFunction);
93
- register('StyleExpression', StyleExpression, {omit: ['_evaluator']});
94
-
95
- register('ZoomDependentExpression', ZoomDependentExpression);
96
- register('ZoomConstantExpression', ZoomConstantExpression);
97
- register('CompoundExpression', CompoundExpression, {omit: ['_evaluate']});
98
- for (const name in expressions) {
99
- if ((expressions[name]: any)._classRegistryKey) continue;
100
- register(`Expression_${name}`, expressions[name]);
101
- }
102
-
103
- function isArrayBuffer(val: any): boolean {
104
- return val && typeof ArrayBuffer !== 'undefined' &&
105
- (val instanceof ArrayBuffer || (val.constructor && val.constructor.name === 'ArrayBuffer'));
106
- }
107
-
108
- function isImageBitmap(val: any): boolean {
109
- return ImageBitmap &&
110
- val instanceof ImageBitmap;
111
- }
112
-
113
- /**
114
- * Serialize the given object for transfer to or from a web worker.
115
- *
116
- * For non-builtin types, recursively serialize each property (possibly
117
- * omitting certain properties - see register()), and package the result along
118
- * with the constructor's `name` so that the appropriate constructor can be
119
- * looked up in `deserialize()`.
120
- *
121
- * If a `transferables` array is provided, add any transferable objects (i.e.,
122
- * any ArrayBuffers or ArrayBuffer views) to the list. (If a copy is needed,
123
- * this should happen in the client code, before using serialize().)
124
- *
125
- * @private
126
- */
127
- export function serialize(input: mixed, transferables: ?Array<Transferable>): Serialized {
128
- if (input === null ||
129
- input === undefined ||
130
- typeof input === 'boolean' ||
131
- typeof input === 'number' ||
132
- typeof input === 'string' ||
133
- input instanceof Boolean ||
134
- input instanceof Number ||
135
- input instanceof String ||
136
- input instanceof Date ||
137
- input instanceof RegExp) {
138
- return input;
139
- }
140
-
141
- if (isArrayBuffer(input) || isImageBitmap(input)) {
142
- if (transferables) {
143
- transferables.push(((input: any): ArrayBuffer));
144
- }
145
- return input;
146
- }
147
-
148
- if (ArrayBuffer.isView(input)) {
149
- const view: $ArrayBufferView = (input: any);
150
- if (transferables) {
151
- transferables.push(view.buffer);
152
- }
153
- return view;
154
- }
155
-
156
- if (input instanceof ImageData) {
157
- if (transferables) {
158
- transferables.push(input.data.buffer);
159
- }
160
- return input;
161
- }
162
-
163
- if (Array.isArray(input)) {
164
- const serialized: Array<Serialized> = [];
165
- for (const item of input) {
166
- serialized.push(serialize(item, transferables));
167
- }
168
- return serialized;
169
- }
170
-
171
- if (typeof input === 'object') {
172
- const klass = (input.constructor: any);
173
- const name = klass._classRegistryKey;
174
- if (!name) {
175
- throw new Error(`can't serialize object of unregistered class`);
176
- }
177
- assert(registry[name]);
178
-
179
- const properties: SerializedObject = klass.serialize ?
180
- // (Temporary workaround) allow a class to provide static
181
- // `serialize()` and `deserialize()` methods to bypass the generic
182
- // approach.
183
- // This temporary workaround lets us use the generic serialization
184
- // approach for objects whose members include instances of dynamic
185
- // StructArray types. Once we refactor StructArray to be static,
186
- // we can remove this complexity.
187
- (klass.serialize(input, transferables): SerializedObject) : {};
188
-
189
- if (!klass.serialize) {
190
- for (const key in input) {
191
- // any cast due to https://github.com/facebook/flow/issues/5393
192
- if (!(input: any).hasOwnProperty(key)) continue;
193
- if (registry[name].omit.indexOf(key) >= 0) continue;
194
- const property = (input: any)[key];
195
- properties[key] = registry[name].shallow.indexOf(key) >= 0 ?
196
- property :
197
- serialize(property, transferables);
198
- }
199
- if (input instanceof Error) {
200
- properties.message = input.message;
201
- }
202
- } else {
203
- // make sure statically serialized object survives transfer of $name property
204
- assert(!transferables || properties !== transferables[transferables.length - 1]);
205
- }
206
-
207
- if (properties.$name) {
208
- throw new Error('$name property is reserved for worker serialization logic.');
209
- }
210
- if (name !== 'Object') {
211
- properties.$name = name;
212
- }
213
-
214
- return properties;
215
- }
216
-
217
- throw new Error(`can't serialize object of type ${typeof input}`);
218
- }
219
-
220
- export function deserialize(input: Serialized): mixed {
221
- if (input === null ||
222
- input === undefined ||
223
- typeof input === 'boolean' ||
224
- typeof input === 'number' ||
225
- typeof input === 'string' ||
226
- input instanceof Boolean ||
227
- input instanceof Number ||
228
- input instanceof String ||
229
- input instanceof Date ||
230
- input instanceof RegExp ||
231
- isArrayBuffer(input) ||
232
- isImageBitmap(input) ||
233
- ArrayBuffer.isView(input) ||
234
- input instanceof ImageData) {
235
- return input;
236
- }
237
-
238
- if (Array.isArray(input)) {
239
- return input.map(deserialize);
240
- }
241
-
242
- if (typeof input === 'object') {
243
- const name = (input: any).$name || 'Object';
244
-
245
- const {klass} = registry[name];
246
- if (!klass) {
247
- throw new Error(`can't deserialize unregistered class ${name}`);
248
- }
249
-
250
- if (klass.deserialize) {
251
- return (klass.deserialize: typeof deserialize)(input);
252
- }
253
-
254
- const result = Object.create(klass.prototype);
255
-
256
- for (const key of Object.keys(input)) {
257
- if (key === '$name') continue;
258
- const value = (input: SerializedObject)[key];
259
- result[key] = registry[name].shallow.indexOf(key) >= 0 ? value : deserialize(value);
260
- }
261
-
262
- return result;
263
- }
264
-
265
- throw new Error(`can't deserialize object of type ${typeof input}`);
266
- }
@@ -1,69 +0,0 @@
1
- // @flow strict
2
-
3
- import window from './window';
4
-
5
- const exported = {
6
- supported: false,
7
- testSupport
8
- };
9
-
10
- export default exported;
11
-
12
- let glForTesting;
13
- let webpCheckComplete = false;
14
- let webpImgTest;
15
- let webpImgTestOnloadComplete = false;
16
-
17
- if (window.document) {
18
- webpImgTest = window.document.createElement('img');
19
- webpImgTest.onload = function() {
20
- if (glForTesting) testWebpTextureUpload(glForTesting);
21
- glForTesting = null;
22
- webpImgTestOnloadComplete = true;
23
- };
24
- webpImgTest.onerror = function() {
25
- webpCheckComplete = true;
26
- glForTesting = null;
27
- };
28
- webpImgTest.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=';
29
- }
30
-
31
- function testSupport(gl: WebGLRenderingContext) {
32
- if (webpCheckComplete || !webpImgTest) return;
33
-
34
- // HTMLImageElement.complete is set when an image is done loading it's source
35
- // regardless of whether the load was successful or not.
36
- // It's possible for an error to set HTMLImageElement.complete to true which would trigger
37
- // testWebpTextureUpload and mistakenly set exported.supported to true in browsers which don't support webp
38
- // To avoid this, we set a flag in the image's onload handler and only call testWebpTextureUpload
39
- // after a successful image load event.
40
- if (webpImgTestOnloadComplete) {
41
- testWebpTextureUpload(gl);
42
- } else {
43
- glForTesting = gl;
44
-
45
- }
46
- }
47
-
48
- function testWebpTextureUpload(gl: WebGLRenderingContext) {
49
- // Edge 18 supports WebP but not uploading a WebP image to a gl texture
50
- // Test support for this before allowing WebP images.
51
- // https://github.com/mapbox/mapbox-gl-js/issues/7671
52
- const texture = gl.createTexture();
53
- gl.bindTexture(gl.TEXTURE_2D, texture);
54
-
55
- try {
56
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, webpImgTest);
57
-
58
- // The error does not get triggered in Edge if the context is lost
59
- if (gl.isContextLost()) return;
60
-
61
- exported.supported = true;
62
- } catch (e) {
63
- // Catch "Unspecified Error." in Edge 18.
64
- }
65
-
66
- gl.deleteTexture(texture);
67
-
68
- webpCheckComplete = true;
69
- }
@@ -1,102 +0,0 @@
1
- // @flow strict
2
-
3
- // This file is intended for use in the GL-JS test suite
4
- // It implements a JSDOM window object for use in Node environments
5
- // In a browser environment, this file is replaced with ./src/util/browser/window.js
6
- // when Rollup builds the main bundle
7
- // See https://github.com/mapbox/mapbox-gl-js/blob/master/package.json#L104-L108
8
-
9
- import jsdom from 'jsdom';
10
-
11
- import gl from 'gl';
12
- import sinon from 'sinon';
13
-
14
- import type {Window} from '../types/window';
15
-
16
- const {window: _window} = new jsdom.JSDOM('', {
17
- virtualConsole: new jsdom.VirtualConsole().sendTo(console)
18
- });
19
-
20
- restore();
21
-
22
- export default _window;
23
-
24
- function restore(): Window {
25
- // Remove previous window from exported object
26
- const previousWindow = _window;
27
- if (previousWindow.close) previousWindow.close();
28
- for (const key in previousWindow) {
29
- if (previousWindow.hasOwnProperty(key)) {
30
- delete previousWindow[key];
31
- }
32
- }
33
-
34
- // Create new window and inject into exported object
35
- const {window} = new jsdom.JSDOM('', {
36
- // Send jsdom console output to the node console object.
37
- virtualConsole: new jsdom.VirtualConsole().sendTo(console)
38
- });
39
-
40
- // Delete local and session storage from JSDOM and stub them out with a warning log
41
- // Accessing these properties during extend() produces an error in Node environments
42
- // See https://github.com/mapbox/mapbox-gl-js/pull/7455 for discussion
43
- delete window.localStorage;
44
- delete window.sessionStorage;
45
- window.localStorage = window.sessionStorage = () => console.log('Local and session storage not available in Node. Use a stub implementation if needed for testing.');
46
-
47
- window.devicePixelRatio = 1;
48
-
49
- window.requestAnimationFrame = function(callback) {
50
- return setImmediate(callback, 0);
51
- };
52
- window.cancelAnimationFrame = clearImmediate;
53
-
54
- // Add webgl context with the supplied GL
55
- const originalGetContext = window.HTMLCanvasElement.prototype.getContext;
56
- window.HTMLCanvasElement.prototype.getContext = function (type, attributes) {
57
- if (type === 'webgl') {
58
- if (!this._webGLContext) {
59
- this._webGLContext = gl(this.width, this.height, attributes);
60
- }
61
- return this._webGLContext;
62
- }
63
- // Fallback to existing HTMLCanvasElement getContext behaviour
64
- return originalGetContext.call(this, type, attributes);
65
- };
66
-
67
- window.useFakeHTMLCanvasGetContext = function() {
68
- this.HTMLCanvasElement.prototype.getContext = function() { return '2d'; };
69
- };
70
-
71
- window.useFakeXMLHttpRequest = function() {
72
- sinon.xhr.supportsCORS = true;
73
- this.server = sinon.fakeServer.create();
74
- this.XMLHttpRequest = this.server.xhr;
75
- };
76
-
77
- window.URL.revokeObjectURL = function () {};
78
-
79
- window.fakeWorkerPresence = function() {
80
- global.WorkerGlobalScope = function() {};
81
- global.self = new global.WorkerGlobalScope();
82
- };
83
- window.clearFakeWorkerPresence = function() {
84
- global.WorkerGlobalScope = undefined;
85
- global.self = undefined;
86
- };
87
-
88
- window.restore = restore;
89
-
90
- window.performance.getEntriesByName = function() {};
91
- window.performance.mark = function() {};
92
- window.performance.measure = function() {};
93
- window.performance.clearMarks = function() {};
94
- window.performance.clearMeasures = function() {};
95
-
96
- window.ImageData = window.ImageData || function() { return false; };
97
- window.ImageBitmap = window.ImageBitmap || function() { return false; };
98
- window.WebGLFramebuffer = window.WebGLFramebuffer || Object;
99
- Object.assign(_window, window); // eslint-disable-line no-restricted-properties
100
-
101
- return window;
102
- }