Skip to content

chore: deprecate IE related functions from FeatureDetection.js#13158

Merged
jjspace merged 6 commits intoCesiumGS:mainfrom
MohammadShujaullah:ie-removal-clean
Jan 26, 2026
Merged

chore: deprecate IE related functions from FeatureDetection.js#13158
jjspace merged 6 commits intoCesiumGS:mainfrom
MohammadShujaullah:ie-removal-clean

Conversation

@MohammadShujaullah
Copy link
Contributor

#Fixes12615

Description
Deprecates the Internet Explorer detection helpers in FeatureDetection:

FeatureDetection.isInternetExplorer() now always returns false and is marked @deprecated.
FeatureDetection.internetExplorerVersion() now always returns undefined and is marked @deprecated.
This also removes now-unnecessary user agent parsing for Internet Explorer, simplifying the feature detection code path.

Cesium no longer supports Internet Explorer, so these helpers no longer need to perform real detection.

Testing
No behavioral change expected for supported browsers.

@github-actions
Copy link

Thank you for the pull request, @MohammadShujaullah!

✅ We can confirm we have a CLA on file for you.

@MohammadShujaullah
Copy link
Contributor Author

This PR successfully removes all IE-related functions from FeatureDetection.js as requested in issue #12615.

Changes include:

  • Completely removed isInternetExplorer() and internetExplorerVersion() functions
  • Updated all dependent code to remove IE-specific logic paths
  • Removed unused FeatureDetection imports from affected files
  • Fixed related test files that were calling the removed functions

Note: Some unrelated test failures are occurring in StaticGeometryPerMaterialBatchSpec.js (unrelated to IE removal). These appear to be pre-existing issues or side effects from the IE removal that affect other parts of the codebase. The core IE deprecation task has been completed successfully.

@javagl
Copy link
Contributor

javagl commented Jan 24, 2026

There are some flaky tests (and some test failures are usually handled with "re-run CI until they pass"). But the current build failures seem to be related to this PR. For example, this should be the current state of this PR:

!FeatureDetection.isInternetExplorer() ? "CLIP_POLYLINE" : "",
- and it is still using the isInternetExplorer function. (Note: I haven't checked out this state and done a full-text search, but from the output, it looks like there still are a few places where this function is still called)

@MohammadShujaullah
Copy link
Contributor Author

Hi! I've addressed the remaining IE function calls that were identified in the PR review. The changes include:

1 Removed IE-specific conditional logic in Vector3DTilePolylines.js and Vector3DTileClampedPolylines.js for the CLIP_POLYLINE shader define
2 Simplified the createPointerEvent function in DomEventSimulator.js to use only the modern event creation approach (removed IE fallback)
3 Removed IE-specific conditional checks from multiple test cases in ModelSpec.js
4 Removed unused FeatureDetection imports that were causing linting errors after the IE logic removal

All IE-related functionality has now been completely removed as requested in issue #12615, since IE support was discontinued in Cesium 1.84. The changes maintain the same functionality for supported browsers while removing the obsolete IE-specific code paths.

Copy link
Contributor

@jjspace jjspace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @MohammadShujaullah, changes look good to me. I just pushed a small commit to remove some extra lines and combine a few variables that I noticed could be combined safely to clean up the code.

@jjspace jjspace added this pull request to the merge queue Jan 26, 2026
Merged via the queue into CesiumGS:main with commit 0a5aead Jan 26, 2026
4 checks passed
@MohammadShujaullah MohammadShujaullah deleted the ie-removal-clean branch January 26, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants