Skip to content

[rb] Remove local storage and session storage interfaces and methods #16015

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: trunk
Choose a base branch
from

Conversation

iampopovich
Copy link
Contributor

@iampopovich iampopovich commented Jul 7, 2025

User description

🔗 Related Issues

fixes #10397
there are no mentions for removed classes and related interfaces according to docs

💥 What does this PR do?

This pull request removes support for local and session storage functionality from the Selenium WebDriver library. The changes include the removal of related classes, modules, methods, and interfaces.

Removal of Local and Session Storage Features:

Removal of Related Methods in Remote Bridge:

  • rb/sig/lib/selenium/webdriver/remote/bridge.rbs: Removed methods for interacting with local and session storage (local_storage_item, remove_local_storage_item, local_storage_keys, clear_local_storage, local_storage_size, session_storage_item, remove_session_storage_item, session_storage_keys, clear_session_storage, session_storage_size).

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Cleanup (formatting, renaming)

PR Type

Other


Description

  • Remove HTML5 local storage and session storage classes

  • Delete SharedWebStorage module and LocalStorage interface

  • Remove storage-related methods from remote bridge

  • Clean up deprecated HTML5 storage functionality


Changes diagram

flowchart LR
  A["HTML5 Storage Classes"] --> B["LocalStorage"]
  A --> C["SessionStorage"]
  A --> D["SharedWebStorage"]
  A --> E["_LocalStorage Interface"]
  F["Remote Bridge"] --> G["Storage Methods"]
  B --> H["Removed"]
  C --> H
  D --> H
  E --> H
  G --> H
Loading

Changes walkthrough 📝

Relevant files
Cleanup
local_storage.rbs
Remove LocalStorage interface                                                       

rb/sig/interfaces/local_storage.rbs

  • Remove _LocalStorage interface definition
  • Delete keys method signature
  • +0/-3     
    local_storage.rbs
    Remove LocalStorage class                                                               

    rb/sig/lib/selenium/webdriver/common/html5/local_storage.rbs

  • Remove entire LocalStorage class
  • Delete storage methods ([], []=, delete, clear, size, keys)
  • Remove SharedWebStorage inclusion
  • +0/-25   
    session_storage.rbs
    Remove SessionStorage class                                                           

    rb/sig/lib/selenium/webdriver/common/html5/session_storage.rbs

  • Remove entire SessionStorage class
  • Delete storage methods and Enumerable inclusion
  • Remove SharedWebStorage inclusion
  • +0/-27   
    shared_web_storage.rbs
    Remove SharedWebStorage module                                                     

    rb/sig/lib/selenium/webdriver/common/html5/shared_web_storage.rbs

  • Remove entire SharedWebStorage module
  • Delete common storage methods (key?, fetch, empty?, each)
  • Remove Enumerable and _LocalStorage inclusions
  • +0/-24   
    bridge.rbs
    Remove storage methods from bridge                                             

    rb/sig/lib/selenium/webdriver/remote/bridge.rbs

  • Remove local storage methods (local_storage_item,
    remove_local_storage_item, etc.)
  • Remove session storage methods (session_storage_item,
    remove_session_storage_item, etc.)
  • Delete storage size and keys methods
  • +0/-18   

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @selenium-ci selenium-ci added the C-rb Ruby Bindings label Jul 7, 2025
    @iampopovich iampopovich marked this pull request as ready for review July 8, 2025 08:46
    Copy link
    Contributor

    qodo-merge-pro bot commented Jul 8, 2025

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Breaking Change

    The removal of local and session storage methods from the bridge interface represents a significant breaking change that could affect existing code. Verify that all dependent code has been updated and that proper deprecation notices were provided before removal.

    def set_window_rect: (?x: untyped?, ?y: untyped?, ?width: untyped?, ?height: untyped?) -> untyped
    
    def window_rect: () -> untyped
    
    def screenshot: () -> untyped
    
    def element_screenshot: (untyped element) -> untyped
    
    
    
    def execute_script: (untyped script, *untyped args) -> untyped
    
    def execute_async_script: (untyped script, *untyped args) -> untyped

    Copy link
    Contributor

    qodo-merge-pro bot commented Jul 8, 2025

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    Remove HTML 5 functionality helper code
    2 participants