Mapbox-gl-js: Eliminate all uses of "Uint8ClampedArray"

Created on 14 Apr 2016  ·  11Comments  ·  Source: mapbox/mapbox-gl-js

Here is a quick testing matrix showing the failure/success breakdown: https://docs.google.com/spreadsheets/d/1IV26RrQ8_55NS-P1vKsA5qrfwTsAF9146KzciSj7zxI/edit?usp=sharing

When going through the demos on mapbox.com there are several combinations of OS and Browser for Internet Explorer that will not render the map.

mapbox-gl-js version: Tested with latest 0.17.0 which is being used by the example pages.

Steps to Trigger Behavior

  1. Go to any example page on mapbox.com (used https://www.mapbox.com/mapbox-gl-js/examples/ for testing)
  2. Check the console and see the error.
  3. The most common error is the inconsistency of IE supporting Uint8ClampedArray as a defined function.

    Expected Behavior

Map to load on IE 10+

Actual Behavior

Map does not render

needs discussion

Most helpful comment

We should add a check for Uint8ClampedArray support to mapboxgl.supported.

All 11 comments

We don't support IE10, only IE11 and Edge. But IE11 failing on Win8.1 while being fine on Win7 is surprising. Are you absolutely sure you didn't accidentally check IE10 for that cell? The error about Uint8ClampedArray should only happen on IE10.

Yep. I checked it out in my personal VM's and BrowserStack just to make sure I wasn't missing something. Feel free to validate, however several people at my work were able to validate the bug as well.

Similarly you can see the JS error here (http://www.javascripture.com/Uint8ClampedArray) with the same set of browsers + OS.

Looks like it was added in a security update in April 2014. I don't think we want to support outdated IE11 versions so I'm inclined to close the issue.

We're confirming whether the version of Windows 8.1 / IE11 we're testing on has KB2929437

We should add a check for Uint8ClampedArray support to mapboxgl.supported.

I'm also wondering whether it will work just fine if we use Uint8Array
where Uint8ClampedArray is not supported

четверг, 14 апреля 2016 г. пользователь John Firebaugh написал:

We should add a check for Uint8ClampedArray support to mapboxgl.supported
https://www.mapbox.com/mapbox-gl-js/api/#mapboxgl.supported.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/mapbox/mapbox-gl-js/issues/2444#issuecomment-210034992

Vladimir Agafonkin
http://agafonkin.com/en
+380 (93) 745 44 61

We have confirmed that the original version of IE11 on Windows 8.1 (BrowserStack) doesn't have this KB installed. We'll have more details tomorrow once we have a relatively patched version of 8.1 available.

@ansis Can you comment on whether or not we can eliminate the use of Uint8ClampedArray here?

@lucaswoj we could clamp opacities manually. However I'm not sure if that IE version would work flawlessly even without ClampedArray since that IE security update mentions other WebGL fixes/improvements that we may rely on. We should make a branch and check.

@lucaswoj if this switches to a Uint8Array then these lines need manual clamping

My impression, from investigating compatibility tables, is that we don't support any browsers that don't support Uint8ClampedArray. We can close this issue and move forward with https://github.com/mapbox/mapbox-gl-js-supported/issues/1

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yoursweater picture yoursweater  ·  3Comments

PBrockmann picture PBrockmann  ·  3Comments

Scarysize picture Scarysize  ·  3Comments

bgentry picture bgentry  ·  3Comments

BernhardRode picture BernhardRode  ·  3Comments