-
Notifications
You must be signed in to change notification settings - Fork 0
Feature implementation from commits 1efb74d..e1cb6a5 #2
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
base: feature-base-2
Are you sure you want to change the base?
Conversation
[skip ci]
…HQ#15929) Update pinned browser versions Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
* add deprecation warn for ftp proxy type * [proxy] Replace deprecation warning for FTP proxy support with logger method --------- Co-authored-by: Augustin Gottlieb <33221555+aguspe@users.noreply.github.com>
- Remove an empty space in the constructor. Co-authored-by: Diego Molina <diemol@users.noreply.github.com> [skip ci]
SeleniumHQ#15910) * [FEAT] Add macOS-specific keys (OPTION, FN) to Keys enum for improved platform support * [FEAT] These additions (RIGHT_SHIFT, RIGHT_CONTROL, RIGHT_ALT, RIGHT_COMMAND) follow conventions already in use by ChromeDriver and allow for more accurate key simulations. While not currently in the W3C WebDriver specification, they represent a practical standard used in the field. * [FEAT] Add macOS-specific and ChromeDriver-aligned extended keys - Added RIGHT_SHIFT, RIGHT_CONTROL, RIGHT_ALT, and RIGHT_COMMAND using Unicode PUA codes observed in ChromeDriver. - Included symbolic macOS keys OPTION and FN, marked with TODO comments for future validation against W3C WebDriver spec. - Updated class-level Javadoc to clarify the role of PUA mappings and their interoperability considerations. These additions improve platform representation and lay the groundwork for consistent macOS key handling. * Format script --------- Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Co-authored-by: Diego Molina <diemol@users.noreply.github.com> Co-authored-by: Diego Molina <diemol@gmail.com>
Re-word section of `CONTRIBUTING.md` to clarify development steps.
* [java][BiDi] implement web extensions * cleanup * fix spotbug --------- Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
…eleniumHQ#15885) Made ``JsonToWebElementConverter`` methods protected so that the class can be properly extended Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
…cstring updates) (SeleniumHQ#15927) * [py] Adding Note to enable_webextensions() regarding CDP (plus some docstring updates) * format.sh * update error message * Update py/selenium/webdriver/chromium/options.py Per @navin772 suggestions Co-authored-by: Navin Chandra <navinchandra772@gmail.com> --------- Co-authored-by: Navin Chandra <navinchandra772@gmail.com> Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
* [js] Update dependency ws to ^8.18.2 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
* [js] Update dependency sinon to ^19.0.5 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
* [js] Update dependency multer to v1.4.5-lts.2 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
* [grid] Session can be deleted via Grid UI * Add notification on the flag to disable session deletion * Use Node config to disable delete session on UI * Add unit test Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com> * Run format * Disable by default * Run format --------- Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com> Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
| internal sealed record RemoveUserContextCommandParameters(UserContext UserContext) : CommandParameters; | ||
|
|
||
| public record RemoveUserContextOptions : CommandOptions; | ||
| public sealed class RemoveUserContextOptions : CommandOptions; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking API change: record to class conversion.
Changing RemoveUserContextOptions from a record to a class removes value equality and immutability, breaking existing code that depends on record semantics.
Current Code (Diff):
- public sealed class RemoveUserContextOptions : CommandOptions;
+ public sealed record RemoveUserContextOptions : CommandOptions;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class RemoveUserContextOptions : CommandOptions; | |
| public sealed record RemoveUserContextOptions : CommandOptions; |
| internal sealed record HandleUserPromptCommandParameters(BrowsingContext Context, bool? Accept, string? UserText) : CommandParameters; | ||
|
|
||
| public record HandleUserPromptOptions : CommandOptions | ||
| public sealed class HandleUserPromptOptions : CommandOptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking API Change: Record to Class Conversion.
Changing HandleUserPromptOptions from a record to a class breaks compatibility with any code relying on record-specific features like value equality or deconstruction.
Current Code (Diff):
- public sealed class HandleUserPromptOptions : CommandOptions
+ public sealed record HandleUserPromptOptions : CommandOptions📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class HandleUserPromptOptions : CommandOptions | |
| public sealed record HandleUserPromptOptions : CommandOptions |
| internal sealed record SetViewportCommandParameters(BrowsingContext Context, Viewport? Viewport, double? DevicePixelRatio) : CommandParameters; | ||
|
|
||
| public record SetViewportOptions : CommandOptions | ||
| public sealed class SetViewportOptions : CommandOptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking change: record to sealed class conversion.
Changing SetViewportOptions from a record to a sealed class removes value equality semantics and other record features that dependent code may rely on.
Current Code (Diff):
- public sealed class SetViewportOptions : CommandOptions
+ public sealed record SetViewportOptions : CommandOptions📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class SetViewportOptions : CommandOptions | |
| public sealed record SetViewportOptions : CommandOptions |
| namespace OpenQA.Selenium.BiDi.Communication; | ||
|
|
||
| public record CommandOptions | ||
| public abstract class CommandOptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking change: Record to abstract class conversion.
Changing CommandOptions from a record to an abstract class breaks instantiation and equality behavior, potentially causing runtime exceptions in dependent code.
Current Code (Diff):
- public abstract class CommandOptions
+ public record CommandOptions📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public abstract class CommandOptions | |
| public record CommandOptions |
| internal sealed record ContinueRequestCommandParameters(Request Request, BytesValue? Body, IEnumerable<CookieHeader>? Cookies, IEnumerable<Header>? Headers, string? Method, string? Url) : CommandParameters; | ||
|
|
||
| public record ContinueRequestOptions : CommandOptions | ||
| public sealed class ContinueRequestOptions : CommandOptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking API Change: Record to Class Conversion.
Changing ContinueRequestOptions from record to class removes value equality, immutability, and with-expressions which may break dependent code.
Current Code (Diff):
- public sealed class ContinueRequestOptions : CommandOptions
+ public sealed record ContinueRequestOptions : CommandOptions📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class ContinueRequestOptions : CommandOptions | |
| public sealed record ContinueRequestOptions : CommandOptions |
| } | ||
|
|
||
| public record InterceptRequestOptions : AddInterceptOptions; | ||
| public sealed class InterceptRequestOptions : AddInterceptOptions; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking change: Record to class conversion.
Changing InterceptRequestOptions from record to sealed class breaks value equality semantics which could cause runtime errors in code comparing these objects
Current Code (Diff):
- public sealed class InterceptRequestOptions : AddInterceptOptions;
+ public sealed record InterceptRequestOptions : AddInterceptOptions;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class InterceptRequestOptions : AddInterceptOptions; | |
| public sealed record InterceptRequestOptions : AddInterceptOptions; |
| public sealed class InterceptRequestOptions : AddInterceptOptions; | ||
|
|
||
| public record InterceptResponseOptions : AddInterceptOptions; | ||
| public sealed class InterceptResponseOptions : AddInterceptOptions; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking change: Record to class conversion.
Changing InterceptResponseOptions from record to sealed class breaks value equality semantics which could cause runtime errors in code comparing these objects
Current Code (Diff):
- public sealed class InterceptResponseOptions : AddInterceptOptions;
+ public sealed record InterceptResponseOptions : AddInterceptOptions;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class InterceptResponseOptions : AddInterceptOptions; | |
| public sealed record InterceptResponseOptions : AddInterceptOptions; |
| public sealed class InterceptResponseOptions : AddInterceptOptions; | ||
|
|
||
| public record InterceptAuthOptions : AddInterceptOptions; | ||
| public sealed class InterceptAuthOptions : AddInterceptOptions; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking change: Record to class conversion.
Changing InterceptAuthOptions from record to sealed class breaks value equality semantics which could cause runtime errors in code comparing these objects
Current Code (Diff):
- public sealed class InterceptAuthOptions : AddInterceptOptions;
+ public sealed record InterceptAuthOptions : AddInterceptOptions;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public sealed class InterceptAuthOptions : AddInterceptOptions; | |
| public sealed record InterceptAuthOptions : AddInterceptOptions; |
| internal sealed record RemoveInterceptCommandParameters(Intercept Intercept) : CommandParameters; | ||
|
|
||
| public record RemoveInterceptOptions : CommandOptions; | ||
| public class RemoveInterceptOptions : CommandOptions; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Breaking API Change: Record to Class Conversion.
Converting RemoveInterceptOptions from a record to a class removes value equality, immutability, and other record features that existing code may depend on.
Current Code (Diff):
- public class RemoveInterceptOptions : CommandOptions;
+ public record RemoveInterceptOptions : CommandOptions;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public class RemoveInterceptOptions : CommandOptions; | |
| public record RemoveInterceptOptions : CommandOptions; |
|
|
||
| public class UninstallExtensionParameters { | ||
|
|
||
| public final Map<String, Object> extension; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐛 Correctness Issue
Exposed Mutable State.
The public final Map field allows external modification of its contents, which could lead to unexpected state changes and potential runtime exceptions.
Current Code (Diff):
- public final Map<String, Object> extension;
+ private final Map<String, Object> extension;📝 Committable suggestion
‼️ IMPORTANT
Trust, but verify! 🕵️ Please review this suggestion with the care of a code archaeologist - check that it perfectly replaces the highlighted code, preserves all lines, maintains proper indentation, and won't break anything in production. Your future self will thank you! 🚀
| public final Map<String, Object> extension; | |
| private final Map<String, Object> extension; |
This PR contains changes from a range of commits from the original repository.
Commit Range:
1efb74d..e1cb6a5Files Changed: 140 (128 programming files)
Programming Ratio: 91.4%
Commits included:
JsonToWebElementConvertermethods/fields protected ([java] MadeJsonToWebElementConvertermethods/fields protected SeleniumHQ/selenium#15885)... and 5 more commits