Skip to content

[Javascript] Delete dead atoms that won't work in browsers#17227

Open
AutomatedTester wants to merge 1 commit intotrunkfrom
dead_atoms
Open

[Javascript] Delete dead atoms that won't work in browsers#17227
AutomatedTester wants to merge 1 commit intotrunkfrom
dead_atoms

Conversation

@AutomatedTester
Copy link
Member

This deletes code that have been removed from the web platform. These dont work anywhere so removing them as part of the plan to move the atoms to typescript

🔗 Related Issues

💥 What does this PR do?

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Cleanup (formatting, renaming)
  • Breaking change (fix or feature that would cause existing functionality to change)

This deletes code that have been removed from the web platform. These dont work anywhere so removing them as part of the plan to move the atoms to typescript
Copilot AI review requested due to automatic review settings March 14, 2026 13:14
@selenium-ci selenium-ci added C-java Java Bindings B-atoms JavaScript chunks generated by Google closure C-nodejs JavaScript Bindings B-build Includes scripting, bazel and CI integrations labels Mar 14, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Removes legacy JavaScript “atoms” and related WebDriver command plumbing for deprecated/removed web platform features (AppCache, WebSQL, legacy storage endpoints, and related geolocation/connection commands), aligning the codebase with modern browser capabilities and the planned TypeScript migration.

Changes:

  • Deletes dead JS atoms (storage/appcache/WebSQL/geolocation helpers) and their Bazel build targets/fragments.
  • Removes legacy command constants and codec handling for the deleted features (JS + Java remote command layers).
  • Cleans up test fixtures/pages that existed only to exercise the removed HTML5-era functionality.

Reviewed changes

Copilot reviewed 28 out of 32 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
javascript/webdriver/command.js Removes obsolete command names for deleted browser features.
javascript/webdriver/atoms/storage/session_storage.js Deletes sessionStorage atom wrapper.
javascript/webdriver/atoms/storage/local_storage.js Deletes localStorage atom wrapper.
javascript/webdriver/atoms/storage/appcache.js Deletes AppCache atom wrapper.
javascript/webdriver/atoms/inject/sql_database.js Deletes WebSQL injection atom.
javascript/webdriver/atoms/inject/session_storage.js Deletes sessionStorage injection atom.
javascript/webdriver/atoms/inject/local_storage.js Deletes localStorage injection atom.
javascript/webdriver/atoms/inject/appcache.js Deletes AppCache injection atom.
javascript/webdriver/atoms/inject/BUILD.bazel Removes build targets/fragments for deleted injection atoms.
javascript/webdriver/atoms/BUILD.bazel Stops globbing deleted storage atoms and drops html5 atom dependency/fragments.
javascript/selenium-webdriver/lib/test/fileserver.js Removes routing for deleted HTML5 offline fixture.
javascript/chrome-driver/BUILD.bazel Drops deleted atoms/fragments from ChromeDriver atom bundle.
javascript/atoms/html5/storage.js Deletes html5 storage atom implementation.
javascript/atoms/html5/location.js Deletes geolocation atom implementation.
javascript/atoms/html5/html5_browser.js Deletes html5 feature-detection helper atom.
javascript/atoms/html5/database.js Deletes WebSQL atom implementation.
javascript/atoms/html5/appcache.js Deletes AppCache atom implementation.
javascript/atoms/fragments/BUILD.bazel Removes fragments for execute-sql and get-location.
javascript/atoms/BUILD.bazel Removes the html5 library target and deps.
java/test/org/openqa/selenium/environment/webserver/AppServerTestBase.java Removes AppCache MIME type test tied to deleted fixture.
java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpCommandCodec.java Removes legacy local/session storage command aliases and script generation.
java/src/org/openqa/selenium/remote/codec/AbstractHttpCommandCodec.java Removes non-W3C /location command wiring.
java/src/org/openqa/selenium/remote/DriverCommand.java Removes deprecated driver commands for location and storage APIs.
common/src/web/html5Page.html Strips HTML5 feature test content from the fixture page.
common/src/web/html5/test.appcache Deletes AppCache manifest fixture.
common/src/web/html5/status.html Deletes AppCache-related status page fixture.
common/src/web/html5/geolocation.js Deletes geolocation demo fixture script.
common/src/web/html5/database.js Deletes WebSQL demo fixture script.
common/src/web/html5/yellow.jpg Removes AppCache demo asset.
common/src/web/html5/red.jpg Removes AppCache demo asset.
common/src/web/html5/green.jpg Removes AppCache demo asset.
common/src/web/html5/blue.jpg Removes AppCache demo asset.
Comments suppressed due to low confidence (1)

java/test/org/openqa/selenium/environment/webserver/AppServerTestBase.java:122

  • After deleting manifestHasCorrectMimeType, this file appears to have leftover unused imports (StreamSupport.stream, Contents.string, HttpClient/HttpRequest/HttpResponse, etc.) and an unused APPCACHE_MIME_TYPE constant. Unused imports will fail compilation—please remove the now-unused imports and constant (or otherwise use them).
  @Test
  void uploadsFile() throws Throwable {
    String FILE_CONTENTS = "Uploaded file";
    File testFile = File.createTempFile("webdriver", "tmp");

Comment on lines 9 to 11

</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-atoms JavaScript chunks generated by Google closure B-build Includes scripting, bazel and CI integrations C-java Java Bindings C-nodejs JavaScript Bindings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants