diff --git a/AUTHORS b/AUTHORS index c854b4ff26193..a603cb442cbb1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -257,6 +257,7 @@ Erik E. Beerepoot Erik Kuefler Evan Sangaline Evgeniy Roldukhin +EwaMarek Fan <1135611487@qq.com> Felipe Knorr Kuhn Fenil Mehta <42742240+fenilgmehta@users.noreply.github.com> diff --git a/Rakefile b/Rakefile index 0ca5ee746621e..6e2750a14fb5b 100644 --- a/Rakefile +++ b/Rakefile @@ -100,7 +100,7 @@ task '//java/test/org/openqa/selenium/environment/webserver:webserver:uber' => [ JAVA_RELEASE_TARGETS = %w[ //java/src/org/openqa/selenium/chrome:chrome.publish //java/src/org/openqa/selenium/chromium:chromium.publish - //java/src/org/openqa/selenium/devtools/v119:v119.publish + //java/src/org/openqa/selenium/devtools/v122:v122.publish //java/src/org/openqa/selenium/devtools/v120:v120.publish //java/src/org/openqa/selenium/devtools/v121:v121.publish //java/src/org/openqa/selenium/devtools/v85:v85.publish diff --git a/common/devtools/chromium/v119/BUILD.bazel b/common/devtools/chromium/v122/BUILD.bazel similarity index 100% rename from common/devtools/chromium/v119/BUILD.bazel rename to common/devtools/chromium/v122/BUILD.bazel diff --git a/common/devtools/chromium/v119/browser_protocol.pdl b/common/devtools/chromium/v122/browser_protocol.pdl similarity index 96% rename from common/devtools/chromium/v119/browser_protocol.pdl rename to common/devtools/chromium/v122/browser_protocol.pdl index 1360239087bb5..7a332989332e5 100644 --- a/common/devtools/chromium/v119/browser_protocol.pdl +++ b/common/devtools/chromium/v122/browser_protocol.pdl @@ -498,6 +498,7 @@ experimental domain Audits WarnAttributeValueExceedsMaxSize WarnDomainNonASCII WarnThirdPartyPhaseout + WarnCrossSiteRedirectDowngradeChangesInclusion type CookieOperation extends string enum @@ -544,6 +545,7 @@ experimental domain Audits Frame Image Import + JSON Manifest Ping PluginData @@ -553,6 +555,7 @@ experimental domain Audits Script ServiceWorker SharedWorker + SpeculationRules Stylesheet Track Video @@ -770,6 +773,15 @@ experimental domain Audits properties array of string trackingSites + # This issue warns about third-party sites that are accessing cookies on the + # current page, and have been permitted due to having a global metadata grant. + # Note that in this context 'site' means eTLD+1. For example, if the URL + # `https://example.test:80/web_page` was accessing cookies, the site reported + # would be `example.test`. + type CookieDeprecationMetadataIssueDetails extends object + properties + array of string allowedSites + type ClientHintIssueReason extends string enum # Items in the accept-ch meta tag allow list must be valid origins. @@ -817,6 +829,8 @@ experimental domain Audits IdTokenHttpNotFound IdTokenNoResponse IdTokenInvalidResponse + IdTokenIdpErrorResponse + IdTokenCrossSiteIdpErrorResponse IdTokenInvalidRequest IdTokenInvalidContentType ErrorIdToken @@ -824,6 +838,7 @@ experimental domain Audits RpPageNotVisible SilentMediationFailure ThirdPartyCookiesBlocked + NotSignedInWithIdp type FederatedAuthUserInfoRequestIssueDetails extends object properties @@ -914,6 +929,7 @@ experimental domain Audits ClientHintIssue FederatedAuthRequestIssue BounceTrackingIssue + CookieDeprecationMetadataIssue StylesheetLoadingIssue FederatedAuthUserInfoRequestIssue PropertyRuleIssue @@ -939,6 +955,7 @@ experimental domain Audits optional ClientHintIssueDetails clientHintIssueDetails optional FederatedAuthRequestIssueDetails federatedAuthRequestIssueDetails optional BounceTrackingIssueDetails bounceTrackingIssueDetails + optional CookieDeprecationMetadataIssueDetails cookieDeprecationMetadataIssueDetails optional StylesheetLoadingIssueDetails stylesheetLoadingIssueDetails optional PropertyRuleIssueDetails propertyRuleIssueDetails optional FederatedAuthUserInfoRequestIssueDetails federatedAuthUserInfoRequestIssueDetails @@ -1067,6 +1084,8 @@ experimental domain Autofill string autofillType # The filling strategy FillingStrategy fillingStrategy + # The form field's DOM node + DOM.BackendNodeId fieldId # Emitted when an address form is filled. event addressFormFilled @@ -1205,6 +1224,7 @@ domain Browser audioCapture backgroundSync backgroundFetch + capturedSurfaceControl clipboardReadWrite clipboardSanitizedWrite displayCapture @@ -1236,7 +1256,7 @@ domain Browser prompt # Definition of PermissionDescriptor defined in the Permissions API: - # https://w3c.github.io/permissions/#dictdef-permissiondescriptor. + # https://w3c.github.io/permissions/#dom-permissiondescriptor. experimental type PermissionDescriptor extends object properties # Name of permission. @@ -1280,7 +1300,7 @@ domain Browser optional BrowserContextID browserContextId # Reset all permission management for all origins. - experimental command resetPermissions + command resetPermissions parameters # BrowserContext to reset permissions. When omitted, default browser context is used. optional BrowserContextID browserContextId @@ -1832,6 +1852,8 @@ experimental domain CSS properties # Font's family name reported by platform. string familyName + # Font's PostScript name reported by platform. + string postScriptName # Indicates if the font was downloaded or resolved locally. boolean isCustomFont # Amount of glyphs that were rendered with this font. @@ -1911,6 +1933,19 @@ experimental domain CSS string syntax + # CSS font-palette-values rule representation. + type CSSFontPaletteValuesRule extends object + properties + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # Associated font palette name. + Value fontPaletteName + # Associated style declaration. + CSSStyle style + # CSS property at-rule representation. type CSSPropertyRule extends object properties @@ -1957,6 +1992,10 @@ experimental domain CSS string ruleText # Text position of a new rule in the target style sheet. SourceRange location + # NodeId for the DOM node in whose context custom property declarations for registered properties should be + # validated. If omitted, declarations in the new rule text can only be validated statically, which may produce + # incorrect results if the declaration contains a var() for example. + experimental optional DOM.NodeId nodeForPropertySyntaxValidation returns # The newly created rule. CSSRule rule @@ -2055,6 +2094,8 @@ experimental domain CSS optional array of CSSPropertyRule cssPropertyRules # A list of CSS property registrations matching this node. optional array of CSSPropertyRegistration cssPropertyRegistrations + # A font-palette-values rule matching this node. + optional CSSFontPaletteValuesRule cssFontPaletteValuesRule # Id of the first parent element that does not have display: contents. experimental optional DOM.NodeId parentLayoutNodeId @@ -2198,6 +2239,10 @@ experimental domain CSS command setStyleTexts parameters array of StyleDeclarationEdit edits + # NodeId for the DOM node in whose context custom property declarations for registered properties should be + # validated. If omitted, declarations in the new rule text can only be validated statically, which may produce + # incorrect results if the declaration contains a var() for example. + experimental optional DOM.NodeId nodeForPropertySyntaxValidation returns # The resulting styles after modification. array of CSSStyle styles @@ -2693,7 +2738,7 @@ domain DOM # Scrolls the specified rect of the given node into view if not already visible. # Note: exactly one between nodeId, backendNodeId and objectId should be passed # to identify the node. - experimental command scrollIntoViewIfNeeded + command scrollIntoViewIfNeeded parameters # Identifier of the node. optional NodeId nodeId @@ -3268,7 +3313,6 @@ domain DOM # execution will stop on these operations as if there was a regular breakpoint set. domain DOMDebugger depends on DOM - depends on Debugger depends on Runtime # DOM breakpoint type. @@ -3340,7 +3384,8 @@ domain DOMDebugger experimental optional string targetName # Removes breakpoint on particular native event. - experimental command removeInstrumentationBreakpoint + experimental deprecated command removeInstrumentationBreakpoint + redirect EventBreakpoints parameters # Instrumentation name to stop on. string eventName @@ -3375,7 +3420,8 @@ domain DOMDebugger experimental optional string targetName # Sets breakpoint on particular native event. - experimental command setInstrumentationBreakpoint + experimental deprecated command setInstrumentationBreakpoint + redirect EventBreakpoints parameters # Instrumentation name to stop on. string eventName @@ -3386,10 +3432,9 @@ domain DOMDebugger # Resource URL substring. All XHRs having this substring in the URL will get stopped upon. string url -# EventBreakpoints permits setting breakpoints on particular operations and -# events in targets that run JavaScript but do not have a DOM. -# JavaScript execution will stop on these operations as if there was a regular -# breakpoint set. +# EventBreakpoints permits setting JavaScript breakpoints on operations and events +# occurring in native code invoked from JavaScript. Once breakpoint is hit, it is +# reported through Debugger domain, similarly to regular breakpoints being hit. experimental domain EventBreakpoints # Sets breakpoint on particular native event. command setInstrumentationBreakpoint @@ -3403,6 +3448,9 @@ experimental domain EventBreakpoints # Instrumentation name to stop on. string eventName + # Removes all breakpoints + command disable + # This domain facilitates obtaining document snapshots with DOM, layout, and style information. experimental domain DOMSnapshot depends on CSS @@ -3881,6 +3929,13 @@ domain Emulation # A display feature that only splits content will have a 0 mask_length. integer maskLength + type DevicePosture extends object + properties + # Current posture of the device + enum type + continuous + folded + type MediaFeature extends object properties string name @@ -3919,6 +3974,49 @@ domain Emulation optional string bitness optional boolean wow64 + # Used to specify sensor types to emulate. + # See https://w3c.github.io/sensors/#automation for more information. + experimental type SensorType extends string + enum + absolute-orientation + accelerometer + ambient-light + gravity + gyroscope + linear-acceleration + magnetometer + proximity + relative-orientation + + experimental type SensorMetadata extends object + properties + optional boolean available + optional number minimumFrequency + optional number maximumFrequency + + experimental type SensorReadingSingle extends object + properties + number value + + experimental type SensorReadingXYZ extends object + properties + number x + number y + number z + + experimental type SensorReadingQuaternion extends object + properties + number x + number y + number z + number w + + experimental type SensorReading extends object + properties + optional SensorReadingSingle single + optional SensorReadingXYZ xyz + optional SensorReadingQuaternion quaternion + # Tells whether emulation is supported. command canEmulate returns @@ -3948,7 +4046,7 @@ domain Emulation optional boolean enabled # Enables CPU throttling to emulate slow CPUs. - experimental command setCPUThrottlingRate + command setCPUThrottlingRate parameters # Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc). number rate @@ -3995,6 +4093,9 @@ domain Emulation # If set, the display feature of a multi-segment screen. If not set, multi-segment support # is turned-off. experimental optional DisplayFeature displayFeature + # If set, the posture of a foldable device. If not set the posture is set + # to continuous. + experimental optional DevicePosture devicePosture experimental command setScrollbarsHidden parameters @@ -4024,7 +4125,7 @@ domain Emulation optional array of MediaFeature features # Emulates the given vision deficiency. - experimental command setEmulatedVisionDeficiency + command setEmulatedVisionDeficiency parameters # Vision deficiency to emulate. Order: best-effort emulations come first, followed by any # physiologically accurate emulations for medically recognized color vision deficiencies. @@ -4048,8 +4149,32 @@ domain Emulation # Mock accuracy optional number accuracy + experimental command getOverriddenSensorInformation + parameters + SensorType type + returns + number requestedSamplingFrequency + + # Overrides a platform sensor of a given type. If |enabled| is true, calls to + # Sensor.start() will use a virtual sensor as backend rather than fetching + # data from a real hardware sensor. Otherwise, existing virtual + # sensor-backend Sensor objects will fire an error event and new calls to + # Sensor.start() will attempt to use a real sensor instead. + experimental command setSensorOverrideEnabled + parameters + boolean enabled + SensorType type + optional SensorMetadata metadata + + # Updates the sensor readings reported by a sensor type previously overriden + # by setSensorOverrideEnabled. + experimental command setSensorOverrideReadings + parameters + SensorType type + SensorReading reading + # Overrides the Idle state. - experimental command setIdleOverride + command setIdleOverride parameters # Mock isUserActive boolean isUserActive @@ -4057,7 +4182,7 @@ domain Emulation boolean isScreenUnlocked # Clears Idle state overrides. - experimental command clearIdleOverride + command clearIdleOverride # Overrides value returned by the javascript navigator object. experimental deprecated command setNavigatorOverrides @@ -4110,7 +4235,7 @@ domain Emulation optional string locale # Overrides default host system timezone with the specified one. - experimental command setTimezoneOverride + command setTimezoneOverride parameters # The timezone identifier. If empty, disables the override and # restores default host system timezone. @@ -4150,7 +4275,7 @@ domain Emulation parameters # User agent to use. string userAgent - # Browser langugage to emulate. + # Browser language to emulate. optional string acceptLanguage # The platform navigator.platform should return. optional string platform @@ -4495,9 +4620,9 @@ domain Input # The normalized tangential pressure, which has a range of [-1,1] (default: 0). experimental optional number tangentialPressure # The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0) - experimental optional integer tiltX + optional number tiltX # The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0). - experimental optional integer tiltY + optional number tiltY # The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0). experimental optional integer twist # Identifier used to track touch sources between events, must be unique within an event. @@ -4663,9 +4788,9 @@ domain Input # The normalized tangential pressure, which has a range of [-1,1] (default: 0). experimental optional number tangentialPressure # The plane angle between the Y-Z plane and the plane containing both the stylus axis and the Y axis, in degrees of the range [-90,90], a positive tiltX is to the right (default: 0). - experimental optional integer tiltX + optional number tiltX # The plane angle between the X-Z plane and the plane containing both the stylus axis and the X axis, in degrees of the range [-90,90], a positive tiltY is towards the user (default: 0). - experimental optional integer tiltY + optional number tiltY # The clockwise rotation of a pen stylus around its own major axis, in degrees in the range [0,359] (default: 0). experimental optional integer twist # X delta in CSS pixels for mouse wheel event (default: 0). @@ -5577,6 +5702,10 @@ domain Network # This value is used when the reason is unknown. unspecifiedReason + experimental type ServiceWorkerRouterInfo extends object + properties + integer ruleIdMatched + # HTTP response data. type Response extends object properties @@ -5592,6 +5721,8 @@ domain Network deprecated optional string headersText # Resource mimeType as determined by the browser. string mimeType + # Resource charset as determined by the browser (if applicable). + string charset # Refined HTTP request headers that were actually transmitted over the network. optional Headers requestHeaders # HTTP request headers text. This has been replaced by the headers in Network.requestWillBeSentExtraInfo. @@ -5610,6 +5741,8 @@ domain Network optional boolean fromServiceWorker # Specifies that the request was served from the prefetch cache. optional boolean fromPrefetchCache + # Infomation about how Service Worker Static Router was used. + experimental optional ServiceWorkerRouterInfo serviceWorkerRouterInfo # Total number of bytes received for this request so far. number encodedDataLength # Timing information for the given request. @@ -5725,7 +5858,7 @@ domain Network # Cookie Priority experimental CookiePriority priority # True if cookie is SameParty. - experimental boolean sameParty + experimental deprecated boolean sameParty # Cookie source scheme type. experimental CookieSourceScheme sourceScheme # Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. @@ -6244,7 +6377,7 @@ domain Network array of string urls # Toggles ignoring of service worker for each request. - experimental command setBypassServiceWorker + command setBypassServiceWorker parameters # Bypass service worker and load from network. boolean bypass @@ -6327,7 +6460,7 @@ domain Network parameters # User agent to use. string userAgent - # Browser langugage to emulate. + # Browser language to emulate. optional string acceptLanguage # The platform navigator.platform should return. optional string platform @@ -6346,6 +6479,18 @@ domain Network integer dataLength # Actual bytes received (might be less than dataLength for compressed encodings). integer encodedDataLength + # Data that was received. + experimental optional binary data + + # Enables streaming of the response for the given requestId. + # If enabled, the dataReceived event contains the data that was received during streaming. + experimental command streamResourceContent + parameters + # Identifier of the request to stream. + RequestId requestId + returns + # Data that has been buffered until streaming is enabled. + binary bufferedData # Fired when EventSource message is received. event eventSourceMessageReceived @@ -7107,6 +7252,16 @@ experimental domain Overlay # The content box highlight outline color (default: transparent). optional DOM.RGBA outlineColor + # Configuration for Window Controls Overlay + type WindowControlsOverlayConfig extends object + properties + # Whether the title bar CSS should be shown when emulating the Window Controls Overlay. + boolean showCSS + # Seleted platforms to show the overlay. + string selectedPlatform + # The theme color defined in app manifest. + string themeColor + type ContainerQueryHighlightConfig extends object properties # A descriptor for the highlight appearance of container query containers. @@ -7357,6 +7512,12 @@ experimental domain Overlay # An array of node identifiers and descriptors for the highlight appearance. array of IsolatedElementHighlightConfig isolatedElementHighlightConfigs + # Show Window Controls Overlay for PWA + command setShowWindowControlsOverlay + parameters + # Window Controls Overlay data, null means hide Window Controls Overlay + optional WindowControlsOverlayConfig windowControlsOverlayConfig + # Fired when the node should be inspected. This happens after call to `setInspectMode` or when # user manually inspects an element. event inspectNodeRequested @@ -7460,6 +7621,7 @@ domain Page bluetooth browsing-topics camera + captured-surface-control ch-dpr ch-device-memory ch-downlink @@ -7515,6 +7677,7 @@ domain Page private-aggregation private-state-token-issuance private-state-token-redemption + publickey-credentials-create publickey-credentials-get run-ad-auction screen-wake-lock @@ -7524,10 +7687,13 @@ domain Page shared-storage-select-url smart-card storage-access + sub-apps sync-xhr unload usb + usb-unrestricted vertical-scroll + web-printing web-share # Alias for 'window-placement' (crbug.com/1328581). window-management @@ -8036,16 +8202,6 @@ domain Page # as an ad. Only sent if frame is labelled as an ad and id is available. optional AdScriptId adScriptId - # Returns all browser cookies for the page and all of its subframes. Depending - # on the backend support, will return detailed cookie information in the - # `cookies` field. - experimental deprecated command getCookies - # Use 'Network.getCookies' instead - redirect Network - returns - # Array of cookie objects. - array of Network.Cookie cookies - # Returns present frame tree structure. command getFrameTree returns @@ -8188,6 +8344,8 @@ domain Page ReturnAsStream # Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice. experimental optional boolean generateTaggedPDF + # Whether or not to embed the document outline into the PDF. + experimental optional boolean generateDocumentOutline returns # Base64-encoded pdf data. Empty if |returnAsStream| is specified. binary data @@ -8243,7 +8401,7 @@ domain Page boolean enabled # Enable page Content Security Policy by-passing. - experimental command setBypassCSP + command setBypassCSP parameters # Whether to bypass page CSP. boolean enabled @@ -8355,7 +8513,7 @@ domain Page optional number accuracy # Controls whether page will emit lifecycle events. - experimental command setLifecycleEventsEnabled + command setLifecycleEventsEnabled parameters # If true, starts emitting lifecycle events. boolean enabled @@ -8395,7 +8553,7 @@ domain Page experimental command crash # Tries to close page, running its beforeunload hooks, if any. - experimental command close + command close # Tries to update the web lifecycle state of the page. # It will transition the page to the given state according to: @@ -8465,7 +8623,7 @@ domain Page # Intercept file chooser requests and transfer control to protocol clients. # When file chooser interception is enabled, native file chooser dialog is not shown. # Instead, a protocol event `Page.fileChooserOpened` is emitted. - experimental command setInterceptFileChooserDialog + command setInterceptFileChooserDialog parameters boolean enabled @@ -8750,6 +8908,9 @@ domain Page WebRTCSticky WebTransportSticky WebSocketSticky + SmartCard + LiveMediaStreamTrack + UnloadHandler # Disabled for RenderFrameHost reasons # See content/browser/renderer_host/back_forward_cache_disable.h for explanations. ContentSecurityHandler @@ -8787,6 +8948,17 @@ domain Page PageSupportNeeded Circumstantial + experimental type BackForwardCacheBlockingDetails extends object + properties + # Url of the file where blockage happened. Optional because of tests. + optional string url + # Function name where blockage happened. Optional because of anonymous functions and tests. + optional string function + # Line number in the script (0-based). + integer lineNumber + # Column number in the script (0-based). + integer columnNumber + experimental type BackForwardCacheNotRestoredExplanation extends object properties # Type of the reason @@ -8798,6 +8970,7 @@ domain Page # - EmbedderExtensionSentMessageToCachedFrame: the extension ID. # optional string context + optional array of BackForwardCacheBlockingDetails details experimental type BackForwardCacheNotRestoredExplanationTree extends object properties @@ -9136,7 +9309,7 @@ domain Security command enable # Enable/disable whether all certificate errors should be ignored. - experimental command setIgnoreCertificateErrors + command setIgnoreCertificateErrors parameters # If true, all certificate errors will be ignored. boolean ignore @@ -9233,6 +9406,7 @@ experimental domain ServiceWorker optional number scriptResponseTime optional array of Target.TargetID controlledClients optional Target.TargetID targetId + optional string routerRules # ServiceWorker error message. type ServiceWorkerErrorMessage extends object @@ -9348,6 +9522,9 @@ experimental domain Storage string issuerOrigin number count + # Protected audience interest group auction identifier. + type InterestGroupAuctionId extends string + # Enum of interest group access types. type InterestGroupAccessType extends string enum @@ -9359,8 +9536,16 @@ experimental domain Storage win additionalBid additionalBidWin + topLevelBid + topLevelAdditionalBid clear + # Enum of auction events. + type InterestGroupAuctionEventType extends string + enum + started + configResolved + # Ad advertising element inside an interest group. type InterestGroupAd extends object properties @@ -9640,6 +9825,11 @@ experimental domain Storage parameters boolean enable + # Enables/Disables issuing of interestGroupAuctionEvent events. + experimental command setInterestGroupAuctionTracking + parameters + boolean enable + # Gets metadata for an origin's shared storage. experimental command getSharedStorageMetadata parameters @@ -9747,13 +9937,34 @@ experimental domain Storage # Storage bucket to update. string bucketId - # One of the interest groups was accessed by the associated page. + # One of the interest groups was accessed. Note that these events are global + # to all targets sharing an interest group store. event interestGroupAccessed parameters Network.TimeSinceEpoch accessTime InterestGroupAccessType type string ownerOrigin string name + # For topLevelBid/topLevelAdditionalBid, and when appropriate, + # win and additionalBidWin + optional string componentSellerOrigin + # For bid or somethingBid event, if done locally and not on a server. + optional number bid + optional string bidCurrency + # For non-global events --- links to interestGroupAuctionEvent + optional InterestGroupAuctionId uniqueAuctionId + + # An auction involving interest groups is taking place. These events are + # target-specific. + event interestGroupAuctionEventOccurred + parameters + Network.TimeSinceEpoch eventTime + InterestGroupAuctionEventType type + InterestGroupAuctionId uniqueAuctionId + # Set for child auctions. + optional InterestGroupAuctionId parentAuctionId + # Set for started and configResolved + optional object auctionConfig # Shared storage was accessed by the associated page. # The following parameters are included in all events. @@ -9804,6 +10015,17 @@ experimental domain Storage string key array of string values + experimental type AttributionReportingFilterConfig extends object + properties + array of AttributionReportingFilterDataEntry filterValues + # duration in seconds + optional integer lookbackWindow + + experimental type AttributionReportingFilterPair extends object + properties + array of AttributionReportingFilterConfig filters + array of AttributionReportingFilterConfig notFilters + experimental type AttributionReportingAggregationKeysEntry extends object properties string key @@ -9816,17 +10038,26 @@ experimental domain Storage # duration in seconds array of integer ends + experimental type AttributionReportingTriggerSpec extends object + properties + # number instead of integer because not all uint32 can be represented by + # int + array of number triggerData + AttributionReportingEventReportWindows eventReportWindows + + experimental type AttributionReportingTriggerDataMatching extends string + enum + exact + modulus + experimental type AttributionReportingSourceRegistration extends object properties Network.TimeSinceEpoch time # duration in seconds - optional integer expiry - # eventReportWindow and eventReportWindows are mutually exclusive - # duration in seconds - optional integer eventReportWindow - optional AttributionReportingEventReportWindows eventReportWindows + integer expiry + array of AttributionReportingTriggerSpec triggerSpecs # duration in seconds - optional integer aggregatableReportWindow + integer aggregatableReportWindow AttributionReportingSourceType type string sourceOrigin string reportingOrigin @@ -9836,6 +10067,7 @@ experimental domain Storage array of AttributionReportingFilterDataEntry filterData array of AttributionReportingAggregationKeysEntry aggregationKeys optional UnsignedInt64AsBase10 debugKey + AttributionReportingTriggerDataMatching triggerDataMatching experimental type AttributionReportingSourceRegistrationResult extends string enum @@ -9852,13 +10084,99 @@ experimental domain Storage reportingOriginsPerSiteLimitReached exceedsMaxChannelCapacity - # TODO(crbug.com/1458532): Add other Attribution Reporting events, e.g. - # trigger registration. experimental event attributionReportingSourceRegistered parameters AttributionReportingSourceRegistration registration AttributionReportingSourceRegistrationResult result + experimental type AttributionReportingSourceRegistrationTimeConfig extends string + enum + include + exclude + + experimental type AttributionReportingAggregatableValueEntry extends object + properties + string key + # number instead of integer because not all uint32 can be represented by + # int + number value + + experimental type AttributionReportingEventTriggerData extends object + properties + UnsignedInt64AsBase10 data + SignedInt64AsBase10 priority + optional UnsignedInt64AsBase10 dedupKey + AttributionReportingFilterPair filters + + experimental type AttributionReportingAggregatableTriggerData extends object + properties + UnsignedInt128AsBase16 keyPiece + array of string sourceKeys + AttributionReportingFilterPair filters + + experimental type AttributionReportingAggregatableDedupKey extends object + properties + optional UnsignedInt64AsBase10 dedupKey + AttributionReportingFilterPair filters + + experimental type AttributionReportingTriggerRegistration extends object + properties + AttributionReportingFilterPair filters + optional UnsignedInt64AsBase10 debugKey + array of AttributionReportingAggregatableDedupKey aggregatableDedupKeys + array of AttributionReportingEventTriggerData eventTriggerData + array of AttributionReportingAggregatableTriggerData aggregatableTriggerData + array of AttributionReportingAggregatableValueEntry aggregatableValues + boolean debugReporting + optional string aggregationCoordinatorOrigin + AttributionReportingSourceRegistrationTimeConfig sourceRegistrationTimeConfig + optional string triggerContextId + + experimental type AttributionReportingEventLevelResult extends string + enum + success + successDroppedLowerPriority + internalError + noCapacityForAttributionDestination + noMatchingSources + deduplicated + excessiveAttributions + priorityTooLow + neverAttributedSource + excessiveReportingOrigins + noMatchingSourceFilterData + prohibitedByBrowserPolicy + noMatchingConfigurations + excessiveReports + falselyAttributedSource + reportWindowPassed + notRegistered + reportWindowNotStarted + noMatchingTriggerData + + experimental type AttributionReportingAggregatableResult extends string + enum + success + internalError + noCapacityForAttributionDestination + noMatchingSources + excessiveAttributions + excessiveReportingOrigins + noHistograms + insufficientBudget + noMatchingSourceFilterData + notRegistered + prohibitedByBrowserPolicy + deduplicated + reportWindowPassed + excessiveReports + + experimental event attributionReportingTriggerRegistered + parameters + AttributionReportingTriggerRegistration registration + AttributionReportingEventLevelResult eventLevel + AttributionReportingAggregatableResult aggregatable + # The SystemInfo domain defines methods and events for querying low-level system information. experimental domain SystemInfo @@ -10094,23 +10412,23 @@ domain Target # Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than # one. - experimental command createBrowserContext + command createBrowserContext parameters # If specified, disposes this context when debugging session disconnects. - optional boolean disposeOnDetach + experimental optional boolean disposeOnDetach # Proxy server, similar to the one passed to --proxy-server - optional string proxyServer + experimental optional string proxyServer # Proxy bypass list, similar to the one passed to --proxy-bypass-list - optional string proxyBypassList + experimental optional string proxyBypassList # An optional list of origins to grant unlimited cross-origin access to. # Parts of the URL other than those constituting origin are ignored. - optional array of string originsWithUniversalNetworkAccess + experimental optional array of string originsWithUniversalNetworkAccess returns # The id of the context created. Browser.BrowserContextID browserContextId # Returns all browser contexts created with `Target.createBrowserContext` method. - experimental command getBrowserContexts + command getBrowserContexts returns # An array of browser context ids. array of Browser.BrowserContextID browserContextIds @@ -10150,7 +10468,7 @@ domain Target # Deletes a BrowserContext. All the belonging pages will be closed without calling their # beforeunload hooks. - experimental command disposeBrowserContext + command disposeBrowserContext parameters Browser.BrowserContextID browserContextId @@ -10188,7 +10506,7 @@ domain Target # automatically detaches from all currently attached targets. # This also clears all targets added by `autoAttachRelated` from the list of targets to watch # for creation of related targets. - experimental command setAutoAttach + command setAutoAttach parameters # Whether to auto-attach to related targets. boolean autoAttach @@ -10198,7 +10516,7 @@ domain Target # Enables "flat" access to the session via specifying sessionId attribute in the commands. # We plan to make this the default, deprecate non-flattened mode, # and eventually retire it. See crbug.com/991325. - optional boolean flatten + experimental optional boolean flatten # Only targets matching filter will be attached. experimental optional TargetFilter filter @@ -10962,6 +11280,14 @@ experimental domain WebAuthn # Sets whether User Verification succeeds or fails for an authenticator. # Defaults to false. optional boolean isUserVerified + # Credentials created by this authenticator will have the backup + # eligibility (BE) flag set to this value. Defaults to false. + # https://w3c.github.io/webauthn/#sctn-credential-backup + optional boolean defaultBackupEligibility + # Credentials created by this authenticator will have the backup state + # (BS) flag set to this value. Defaults to false. + # https://w3c.github.io/webauthn/#sctn-credential-backup + optional boolean defaultBackupState type Credential extends object properties @@ -11375,7 +11701,6 @@ experimental domain Preload MemoryPressureOnTrigger MemoryPressureAfterTriggered PrerenderingDisabledByDevTools - ResourceLoadBlockedByClient SpeculationRuleRemoved ActivatedWithAuxiliaryBrowsingContexts MaxNumOfRunningEagerPrerendersExceeded @@ -11418,7 +11743,8 @@ experimental domain Preload PrefetchFailedNetError PrefetchFailedNon2XX PrefetchFailedPerPageLimitExceeded - PrefetchEvicted + PrefetchEvictedAfterCandidateRemoved + PrefetchEvictedForNewerPrefetch PrefetchHeldback # A previous prefetch to the origin got a HTTP 503 response with an # Retry-After header that has no elapsed yet. @@ -11458,6 +11784,13 @@ experimental domain Preload PrefetchStatus prefetchStatus Network.RequestId requestId + # Information of headers to be displayed when the header mismatch occurred. + type PrerenderMismatchedHeaders extends object + properties + string headerName + optional string initialValue + optional string activationValue + # Fired when a prerender attempt is updated. event prerenderStatusUpdated parameters @@ -11467,6 +11800,7 @@ experimental domain Preload # This is used to give users more information about the name of Mojo interface # that is incompatible with prerender and has caused the cancellation of the attempt. optional string disallowedMojoInterface + optional array of PrerenderMismatchedHeaders mismatchedHeaders # Send a list of sources for all preloading attempts in a document. event preloadingAttemptSourcesUpdated @@ -11483,12 +11817,26 @@ experimental domain FedCm SignIn SignUp - # Whether the dialog shown is an account chooser or an auto re-authentication dialog. + # The types of FedCM dialogs. type DialogType extends string enum AccountChooser AutoReauthn ConfirmIdpLogin + Error + + # The buttons on the FedCM dialog. + type DialogButton extends string + enum + ConfirmIdpLoginContinue + ErrorGotIt + ErrorMoreDetails + + # The URLs that each account has + type AccountUrlType extends string + enum + TermsOfService + PrivacyPolicy # Corresponds to IdentityRequestAccount type Account extends object @@ -11515,6 +11863,12 @@ experimental domain FedCm string title optional string subtitle + # Triggered when a dialog is closed, either by user action, JS abort, + # or a command below. + event dialogClosed + parameters + string dialogId + command enable parameters # Allows callers to disable the promise rejection delay that would @@ -11529,11 +11883,16 @@ experimental domain FedCm string dialogId integer accountIndex - # Only valid if the dialog type is ConfirmIdpLogin. Acts as if the user had - # clicked the continue button. - command confirmIdpLogin + command clickDialogButton parameters string dialogId + DialogButton dialogButton + + command openUrl + parameters + string dialogId + integer accountIndex + AccountUrlType accountUrlType command dismissDialog parameters diff --git a/common/devtools/chromium/v119/js_protocol.pdl b/common/devtools/chromium/v122/js_protocol.pdl similarity index 99% rename from common/devtools/chromium/v119/js_protocol.pdl rename to common/devtools/chromium/v122/js_protocol.pdl index 4754f17c5b02d..8dad9c98de9f6 100644 --- a/common/devtools/chromium/v119/js_protocol.pdl +++ b/common/devtools/chromium/v122/js_protocol.pdl @@ -1665,7 +1665,7 @@ domain Runtime # Binding function takes exactly one argument, this argument should be string, # in case of any other input, function throws an exception. # Each binding function call produces Runtime.bindingCalled notification. - experimental command addBinding + command addBinding parameters string name # If specified, the binding would only be exposed to the specified @@ -1675,17 +1675,17 @@ domain Runtime # Deprecated in favor of `executionContextName` due to an unclear use case # and bugs in implementation (crbug.com/1169639). `executionContextId` will be # removed in the future. - deprecated optional ExecutionContextId executionContextId + experimental deprecated optional ExecutionContextId executionContextId # If specified, the binding is exposed to the executionContext with # matching name, even for contexts created after the binding is added. # See also `ExecutionContext.name` and `worldName` parameter to # `Page.addScriptToEvaluateOnNewDocument`. # This parameter is mutually exclusive with `executionContextId`. - experimental optional string executionContextName + optional string executionContextName # This method does not remove binding function from global object but # unsubscribes current runtime agent from Runtime.bindingCalled notifications. - experimental command removeBinding + command removeBinding parameters string name diff --git a/common/repositories.bzl b/common/repositories.bzl index 6d621735106f4..06eebd95801a8 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -10,8 +10,8 @@ def pin_browsers(): http_archive( name = "linux_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/121.0.1/linux-x86_64/en-US/firefox-121.0.1.tar.bz2", - sha256 = "0fb696e03ac444d6c973cf3ff9f9c123b369e2091c80b50753ff1b447f1a96c1", + url = "https://ftp.mozilla.org/pub/firefox/releases/122.0/linux-x86_64/en-US/firefox-122.0.tar.bz2", + sha256 = "0b36d796ba88d48000b0a3e43854a00556148221776879c91fae03735a0e5c21", build_file_content = """ filegroup( name = "files", @@ -27,15 +27,15 @@ exports_files( dmg_archive( name = "mac_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/121.0.1/mac/en-US/Firefox%20121.0.1.dmg", - sha256 = "234b599abbbcf2ba553a625e2e97437cef08008a4d8484d9b889d8954372acf2", + url = "https://ftp.mozilla.org/pub/firefox/releases/122.0/mac/en-US/Firefox%20122.0.dmg", + sha256 = "ccd68fe5388b044062410ce71885911f618fd4222cd617e429eb8ab0b68795d4", build_file_content = "exports_files([\"Firefox.app\"])", ) http_archive( name = "linux_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/122.0b9/linux-x86_64/en-US/firefox-122.0b9.tar.bz2", - sha256 = "f556ac661b870f791eac7ed5a3cd1299f4cd370cbfd671dd3d26277502470b16", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b3/linux-x86_64/en-US/firefox-123.0b3.tar.bz2", + sha256 = "496be0e58074ce544a00fce8e67c36db685590f5ecc0319c8388fdda0b9f0dd0", build_file_content = """ filegroup( name = "files", @@ -51,15 +51,15 @@ exports_files( dmg_archive( name = "mac_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/122.0b9/mac/en-US/Firefox%20122.0b9.dmg", - sha256 = "ad9eb86051a84445f8d519cc38ebbf06a55a2ed60d371ddc143c6bf42a548f8e", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b3/mac/en-US/Firefox%20123.0b3.dmg", + sha256 = "ba06728492cbe18f1194cf7cd5e9ee3ad271cda5ae9e2f845851691911b72a84", build_file_content = "exports_files([\"Firefox.app\"])", ) http_archive( name = "linux_dev_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/122.0b9/linux-x86_64/en-US/firefox-122.0b9.tar.bz2", - sha256 = "f556ac661b870f791eac7ed5a3cd1299f4cd370cbfd671dd3d26277502470b16", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b3/linux-x86_64/en-US/firefox-123.0b3.tar.bz2", + sha256 = "496be0e58074ce544a00fce8e67c36db685590f5ecc0319c8388fdda0b9f0dd0", build_file_content = """ filegroup( name = "files", @@ -75,8 +75,8 @@ exports_files( dmg_archive( name = "mac_dev_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/122.0b9/mac/en-US/Firefox%20122.0b9.dmg", - sha256 = "ad9eb86051a84445f8d519cc38ebbf06a55a2ed60d371ddc143c6bf42a548f8e", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b3/mac/en-US/Firefox%20123.0b3.dmg", + sha256 = "ba06728492cbe18f1194cf7cd5e9ee3ad271cda5ae9e2f845851691911b72a84", build_file_content = "exports_files([\"Firefox.app\"])", ) @@ -96,10 +96,10 @@ exports_files( pkg_archive( name = "mac_edge", - url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/8e50e03c-aa9a-467d-bbb4-3b93045ed5b9/MicrosoftEdge-120.0.2210.144.pkg", - sha256 = "5f5190720d612224222dfba6746d9893d73f70abe57d14866552b3944b0d01f3", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7a610a85-f171-4858-ab93-06908d04c1d6/MicrosoftEdge-121.0.2277.83.pkg", + sha256 = "3b2b3b919558147dccf993a0d86f7eb04782b8d7f39aeb9c719b2dc381f262ba", move = { - "MicrosoftEdge-120.0.2210.144.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-121.0.2277.83.pkg/Payload/Microsoft Edge.app": "Edge.app", }, build_file_content = "exports_files([\"Edge.app\"])", ) @@ -120,8 +120,8 @@ exports_files( http_archive( name = "linux_chrome", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/linux64/chrome-linux64.zip", - sha256 = "0d4c2fbb4db86121bc72450cb9e8659335a72c1719c348e32331cf512ab1487c", + url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.6/linux64/chrome-linux64.zip", + sha256 = "ae9976196d8ec3f42c54a7bb6dea4051e6578268c04f5353ff1623c6903399f8", build_file_content = """ filegroup( name = "files", @@ -137,8 +137,8 @@ exports_files( http_archive( name = "mac_chrome", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/mac-x64/chrome-mac-x64.zip", - sha256 = "e150319a0fb5e13adbc703772545c7c9fa20b0474b56667f99f7967f5eefe0b8", + url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.6/mac-x64/chrome-mac-x64.zip", + sha256 = "53a61f985aa185ea313f83a3b172da84ec62693287c3b1dcb92ff0c4c9ccfb56", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -149,16 +149,16 @@ exports_files( http_archive( name = "linux_chromedriver", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/linux64/chromedriver-linux64.zip", - sha256 = "3bc538a59efafcdeeaf5b57b77403ec2522aa9aa33e96c9f6503b87085760883", + url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.6/linux64/chromedriver-linux64.zip", + sha256 = "502776181ae0ecf450b4a6943050cbe8eef40430a25a489fd2e46af5bca0f650", strip_prefix = "chromedriver-linux64", build_file_content = "exports_files([\"chromedriver\"])", ) http_archive( name = "mac_chromedriver", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/mac-x64/chromedriver-mac-x64.zip", - sha256 = "2033dd8eadc5a4bcba63dc64475e66cdb21a97cc23790cf35ad5ae678b8a9b30", + url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/122.0.6261.6/mac-x64/chromedriver-mac-x64.zip", + sha256 = "a3aed446fab7b123d0a1cd93579156e144a61dad513fc4b451d291f059e62db3", strip_prefix = "chromedriver-mac-x64", build_file_content = "exports_files([\"chromedriver\"])", ) diff --git a/common/selenium_manager.bzl b/common/selenium_manager.bzl index 62026bb73f577..9f0b3b859f796 100644 --- a/common/selenium_manager.bzl +++ b/common/selenium_manager.bzl @@ -6,20 +6,20 @@ def selenium_manager(): http_file( name = "download_sm_linux", executable = True, - sha256 = "b417e4faad5ab781102f6ba83f0bfc39b60343fbc43455a2732cab82420dcd0e", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-linux", + sha256 = "8f11d3e6aa028e7625d0323e9348afc82bde818d8a4ba0e273ae301aa5112230", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-d089802/selenium-manager-linux", ) http_file( name = "download_sm_macos", executable = True, - sha256 = "f0990a97a24db5b0aa9d2fcbc7b69eaad11e96a4f3a75887f667b874bdc5e713", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-macos", + sha256 = "bd7530c0132b60a2922f85e38e0780603423c1f9ff1e8dcb3d7725664de02556", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-d089802/selenium-manager-macos", ) http_file( name = "download_sm_windows", executable = True, - sha256 = "cb6e0b5ca072038e7626f77263c4b443b1f3e6c550cf3ebf09bf7d2c237a7389", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-windows.exe", + sha256 = "ee6042eb0c4ffe139d0c8ef394c0069c3667bd84eed0435aedf97e2e45e7903a", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-d089802/selenium-manager-windows.exe", ) diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG index ed8745347edef..4a6fc1a026958 100644 --- a/dotnet/CHANGELOG +++ b/dotnet/CHANGELOG @@ -1,3 +1,8 @@ +v4.18.0 +====== + +>>> Update supported versions for Chrome DevTools + v4.17.0 ====== diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl index 8fe3291a4194e..1c940f253fcee 100644 --- a/dotnet/selenium-dotnet-version.bzl +++ b/dotnet/selenium-dotnet-version.bzl @@ -1,12 +1,12 @@ # BUILD FILE SYNTAX: STARLARK -SE_VERSION = "4.17.0" +SE_VERSION = "4.18.0" ASSEMBLY_VERSION = "4.0.0.0" SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"] SUPPORTED_DEVTOOLS_VERSIONS = [ "v85", - "v119", + "v122", "v120", "v121", ] diff --git a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs index eabbed72fe077..619f265c74cd4 100644 --- a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs +++ b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs @@ -39,7 +39,7 @@ public abstract class DevToolsDomains { { 121, typeof(V121.V121Domains) }, { 120, typeof(V120.V120Domains) }, - { 119, typeof(V119.V119Domains) }, + { 122, typeof(V122.V122Domains) }, { 85, typeof(V85.V85Domains) } }; diff --git a/dotnet/src/webdriver/DevTools/v119/V119Domains.cs b/dotnet/src/webdriver/DevTools/v122/V122Domains.cs similarity index 79% rename from dotnet/src/webdriver/DevTools/v119/V119Domains.cs rename to dotnet/src/webdriver/DevTools/v122/V122Domains.cs index 46df3efc8bf46..04cbfeab52d67 100644 --- a/dotnet/src/webdriver/DevTools/v119/V119Domains.cs +++ b/dotnet/src/webdriver/DevTools/v122/V122Domains.cs @@ -1,4 +1,4 @@ -// +// // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -19,20 +19,20 @@ using System.Collections.Generic; using System.Text; -namespace OpenQA.Selenium.DevTools.V119 +namespace OpenQA.Selenium.DevTools.V122 { /// - /// Class containing the domain implementation for version 119 of the DevTools Protocol. + /// Class containing the domain implementation for version 122 of the DevTools Protocol. /// - public class V119Domains : DevToolsDomains + public class V122Domains : DevToolsDomains { private DevToolsSessionDomains domains; /// - /// Initializes a new instance of the V119Domains class. + /// Initializes a new instance of the V122Domains class. /// /// The DevToolsSession to use with this set of domains. - public V119Domains(DevToolsSession session) + public V122Domains(DevToolsSession session) { this.domains = new DevToolsSessionDomains(session); } @@ -40,7 +40,7 @@ public V119Domains(DevToolsSession session) /// /// Gets the DevTools Protocol version for which this class is valid. /// - public static int DevToolsVersion => 119; + public static int DevToolsVersion => 122; /// /// Gets the version-specific domains for the DevTools session. This value must be cast to a version specific type to be at all useful. @@ -50,21 +50,21 @@ public V119Domains(DevToolsSession session) /// /// Gets the object used for manipulating network information in the browser. /// - public override DevTools.Network Network => new V119Network(domains.Network, domains.Fetch); + public override DevTools.Network Network => new V122Network(domains.Network, domains.Fetch); /// /// Gets the object used for manipulating the browser's JavaScript execution. /// - public override JavaScript JavaScript => new V119JavaScript(domains.Runtime, domains.Page); + public override JavaScript JavaScript => new V122JavaScript(domains.Runtime, domains.Page); /// /// Gets the object used for manipulating DevTools Protocol targets. /// - public override DevTools.Target Target => new V119Target(domains.Target); + public override DevTools.Target Target => new V122Target(domains.Target); /// /// Gets the object used for manipulating the browser's logs. /// - public override DevTools.Log Log => new V119Log(domains.Log); + public override DevTools.Log Log => new V122Log(domains.Log); } } diff --git a/dotnet/src/webdriver/DevTools/v119/V119JavaScript.cs b/dotnet/src/webdriver/DevTools/v122/V122JavaScript.cs similarity index 94% rename from dotnet/src/webdriver/DevTools/v119/V119JavaScript.cs rename to dotnet/src/webdriver/DevTools/v122/V122JavaScript.cs index f62d2b01499b6..3aff8fab7551b 100644 --- a/dotnet/src/webdriver/DevTools/v119/V119JavaScript.cs +++ b/dotnet/src/webdriver/DevTools/v122/V122JavaScript.cs @@ -1,4 +1,4 @@ -// +// // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -18,25 +18,25 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using OpenQA.Selenium.DevTools.V119.Page; -using OpenQA.Selenium.DevTools.V119.Runtime; +using OpenQA.Selenium.DevTools.V122.Page; +using OpenQA.Selenium.DevTools.V122.Runtime; -namespace OpenQA.Selenium.DevTools.V119 +namespace OpenQA.Selenium.DevTools.V122 { /// - /// Class containing the JavaScript implementation for version 119 of the DevTools Protocol. + /// Class containing the JavaScript implementation for version 122 of the DevTools Protocol. /// - public class V119JavaScript : JavaScript + public class V122JavaScript : JavaScript { private RuntimeAdapter runtime; private PageAdapter page; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The DevTools Protocol adapter for the Runtime domain. /// The DevTools Protocol adapter for the Page domain. - public V119JavaScript(RuntimeAdapter runtime, PageAdapter page) + public V122JavaScript(RuntimeAdapter runtime, PageAdapter page) { this.runtime = runtime; this.page = page; diff --git a/dotnet/src/webdriver/DevTools/v119/V119Log.cs b/dotnet/src/webdriver/DevTools/v122/V122Log.cs similarity index 89% rename from dotnet/src/webdriver/DevTools/v119/V119Log.cs rename to dotnet/src/webdriver/DevTools/v122/V122Log.cs index f25e52634dd4a..47a5fec58008a 100644 --- a/dotnet/src/webdriver/DevTools/v119/V119Log.cs +++ b/dotnet/src/webdriver/DevTools/v122/V122Log.cs @@ -1,4 +1,4 @@ -// +// // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -20,22 +20,22 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using OpenQA.Selenium.DevTools.V119.Log; +using OpenQA.Selenium.DevTools.V122.Log; -namespace OpenQA.Selenium.DevTools.V119 +namespace OpenQA.Selenium.DevTools.V122 { /// - /// Class containing the browser's log as referenced by version 119 of the DevTools Protocol. + /// Class containing the browser's log as referenced by version 122 of the DevTools Protocol. /// - public class V119Log : DevTools.Log + public class V122Log : DevTools.Log { private LogAdapter adapter; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The adapter for the Log domain. - public V119Log(LogAdapter adapter) + public V122Log(LogAdapter adapter) { this.adapter = adapter; this.adapter.EntryAdded += OnAdapterEntryAdded; diff --git a/dotnet/src/webdriver/DevTools/v119/V119Network.cs b/dotnet/src/webdriver/DevTools/v122/V122Network.cs similarity index 95% rename from dotnet/src/webdriver/DevTools/v119/V119Network.cs rename to dotnet/src/webdriver/DevTools/v122/V122Network.cs index b999e4b9459b8..c23007f7a1a92 100644 --- a/dotnet/src/webdriver/DevTools/v119/V119Network.cs +++ b/dotnet/src/webdriver/DevTools/v122/V122Network.cs @@ -1,4 +1,4 @@ -// +// // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -20,25 +20,25 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; -using OpenQA.Selenium.DevTools.V119.Fetch; -using OpenQA.Selenium.DevTools.V119.Network; +using OpenQA.Selenium.DevTools.V122.Fetch; +using OpenQA.Selenium.DevTools.V122.Network; -namespace OpenQA.Selenium.DevTools.V119 +namespace OpenQA.Selenium.DevTools.V122 { /// - /// Class providing functionality for manipulating network calls using version 119 of the DevTools Protocol + /// Class providing functionality for manipulating network calls using version 122 of the DevTools Protocol /// - public class V119Network : DevTools.Network + public class V122Network : DevTools.Network { private FetchAdapter fetch; private NetworkAdapter network; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The adapter for the Network domain. /// The adapter for the Fetch domain. - public V119Network(NetworkAdapter network, FetchAdapter fetch) + public V122Network(NetworkAdapter network, FetchAdapter fetch) { this.network = network; this.fetch = fetch; @@ -216,9 +216,9 @@ public override async Task ContinueWithAuth(string requestId, string userName, s await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings() { RequestId = requestId, - AuthChallengeResponse = new V119.Fetch.AuthChallengeResponse() + AuthChallengeResponse = new V122.Fetch.AuthChallengeResponse() { - Response = V119.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials, + Response = V122.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials, Username = userName, Password = password } @@ -235,9 +235,9 @@ public override async Task CancelAuth(string requestId) await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings() { RequestId = requestId, - AuthChallengeResponse = new OpenQA.Selenium.DevTools.V119.Fetch.AuthChallengeResponse() + AuthChallengeResponse = new OpenQA.Selenium.DevTools.V122.Fetch.AuthChallengeResponse() { - Response = V119.Fetch.AuthChallengeResponseResponseValues.CancelAuth + Response = V122.Fetch.AuthChallengeResponseResponseValues.CancelAuth } }).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/DevTools/v119/V119Target.cs b/dotnet/src/webdriver/DevTools/v122/V122Target.cs similarity index 94% rename from dotnet/src/webdriver/DevTools/v119/V119Target.cs rename to dotnet/src/webdriver/DevTools/v122/V122Target.cs index 90b5e8ffaef5e..0f2e42c4ceaf3 100644 --- a/dotnet/src/webdriver/DevTools/v119/V119Target.cs +++ b/dotnet/src/webdriver/DevTools/v122/V122Target.cs @@ -1,4 +1,4 @@ -// +// // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information @@ -21,22 +21,22 @@ using System.Collections.ObjectModel; using System.Text; using System.Threading.Tasks; -using OpenQA.Selenium.DevTools.V119.Target; +using OpenQA.Selenium.DevTools.V122.Target; -namespace OpenQA.Selenium.DevTools.V119 +namespace OpenQA.Selenium.DevTools.V122 { /// - /// Class providing functionality for manipulating targets for version 119 of the DevTools Protocol + /// Class providing functionality for manipulating targets for version 122 of the DevTools Protocol /// - public class V119Target : DevTools.Target + public class V122Target : DevTools.Target { private TargetAdapter adapter; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The adapter for the Target domain. - public V119Target(TargetAdapter adapter) + public V122Target(TargetAdapter adapter) { this.adapter = adapter; adapter.DetachedFromTarget += OnDetachedFromTarget; diff --git a/dotnet/src/webdriver/WebDriver.csproj b/dotnet/src/webdriver/WebDriver.csproj index 536a48df73f99..6f3be90614998 100644 --- a/dotnet/src/webdriver/WebDriver.csproj +++ b/dotnet/src/webdriver/WebDriver.csproj @@ -106,7 +106,7 @@ - + diff --git a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs index 62330cdf37497..840be91cc6083 100644 --- a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs +++ b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs @@ -20,7 +20,7 @@ public StableChannelChromeDriver(ChromeDriverService service, ChromeOptions opti public static ChromeOptions DefaultOptions { - get { return new ChromeOptions() { BrowserVersion = "121" }; } + get { return new ChromeOptions() { BrowserVersion = "122" }; } } } } diff --git a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs index aae152144be6d..f353ebf45289e 100644 --- a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs +++ b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs @@ -6,7 +6,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsConsoleTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsLogTest.cs b/dotnet/test/common/DevTools/DevToolsLogTest.cs index 75de6361ade3e..88337533940d4 100644 --- a/dotnet/test/common/DevTools/DevToolsLogTest.cs +++ b/dotnet/test/common/DevTools/DevToolsLogTest.cs @@ -6,7 +6,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsLogTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs index 080a87a8bc5cd..3c21ef767c534 100644 --- a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs +++ b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs @@ -6,7 +6,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsNetworkTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs index c1a733fa43cea..a52a58a053aa0 100644 --- a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs +++ b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs @@ -3,7 +3,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsPerformanceTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs index cf9c35fc1fdd5..5bc144d0ef90d 100644 --- a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs +++ b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs @@ -5,7 +5,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsProfilerTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs index c7da098bcd96e..7830da5b5cfd9 100644 --- a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs +++ b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs @@ -6,7 +6,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsSecurityTest : DevToolsTestFixture diff --git a/dotnet/test/common/DevTools/DevToolsTargetTest.cs b/dotnet/test/common/DevTools/DevToolsTargetTest.cs index ad0d7e0a9584c..3e6a36baec532 100644 --- a/dotnet/test/common/DevTools/DevToolsTargetTest.cs +++ b/dotnet/test/common/DevTools/DevToolsTargetTest.cs @@ -6,7 +6,7 @@ namespace OpenQA.Selenium.DevTools { - using CurrentCdpVersion = V121; + using CurrentCdpVersion = V122; [TestFixture] public class DevToolsTargetTest : DevToolsTestFixture diff --git a/java/CHANGELOG b/java/CHANGELOG index f830df55253cf..872d480e8f1a6 100644 --- a/java/CHANGELOG +++ b/java/CHANGELOG @@ -1,3 +1,18 @@ +v4.18.0 +====== + +>>> [java] Recommitting self-signed certificate should not require certificate file +>>> [bidi] Add browsing context destroyed event +>>> [java] Add missing support events for Web Driver Listener (#13210) +* add missing events to listeners w/ javadoc and tests +* run format script +* run format script +>>> [bidi][java] Add network intercept commands +>>> [bidi][java] Add command "continuewithAuth" +>>> [bidi][java] Add failRequest command +>>> [java] use the W3C state to detect errors +>>> Update supported versions for Chrome DevTools + v4.17.0 ====== diff --git a/java/maven_deps.bzl b/java/maven_deps.bzl index 60b6ef0cfbc85..b060a6363f0c0 100644 --- a/java/maven_deps.bzl +++ b/java/maven_deps.bzl @@ -41,7 +41,7 @@ def selenium_java_deps(): "org.htmlunit:htmlunit-core-js:3.10.0", "org.apache.commons:commons-exec:1.3", "org.apache.logging.log4j:log4j-core:2.22.1", - "org.assertj:assertj-core:3.25.1", + "org.assertj:assertj-core:3.25.2", "org.bouncycastle:bcpkix-jdk18on:1.77", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", "org.hsqldb:hsqldb:2.7.2", @@ -52,7 +52,7 @@ def selenium_java_deps(): "org.junit.platform:junit-platform-reporting:1.10.1", "org.junit.platform:junit-platform-commons:1.10.1", "org.junit.platform:junit-platform-engine:1.10.1", - "org.mockito:mockito-core:5.9.0", + "org.mockito:mockito-core:5.10.0", "org.mockito:mockito-inline:5.2.0", "org.redisson:redisson:3.26.0", "org.slf4j:slf4j-api:2.0.11", diff --git a/java/maven_install.json b/java/maven_install.json index 5be19360e420c..6d71964e8416d 100644 --- a/java/maven_install.json +++ b/java/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 892178197, - "__RESOLVED_ARTIFACTS_HASH": -1231266529, + "__INPUT_ARTIFACTS_HASH": -1190160492, + "__RESOLVED_ARTIFACTS_HASH": -481511397, "artifacts": { "com.beust:jcommander": { "shasums": { @@ -558,10 +558,10 @@ }, "org.assertj:assertj-core": { "shasums": { - "jar": "620da4e4de03108c2f412ec17a7ed44b0112dc65e181bd0732dc96fa3b65356f", - "sources": "511d810fd60b6d4874326354eff9e657bbe37fa3a2b8658f22c49a48fe5fa195" + "jar": "d33a5726430285b7fd6629405ad54eea4994054dbfb71296d4aef82d25455f4b", + "sources": "095a9f1edb2effd26965b361930af515385fc45ff18592a61e8dfd0fb05bfbf3" }, - "version": "3.25.1" + "version": "3.25.2" }, "org.bouncycastle:bcpkix-jdk18on": { "shasums": { @@ -698,10 +698,10 @@ }, "org.mockito:mockito-core": { "shasums": { - "jar": "bbad9185ed734965fac7e367f0e51596f69531e51d8b2cbcec1048dd6fb41f2c", - "sources": "3da5c463fe8daeec00829a9d6eaaea59e552fca3114be918cfcb01d52fd2c6a1" + "jar": "0323f591b04d3a0d7ca9ebeebb9e9f34a07c0ec9169b7444ee3951b71d4cad56", + "sources": "de416c7c3f519da04575bfc5587aada7cf8ad1c4ea40e00d5999273941fde309" }, - "version": "5.9.0" + "version": "5.10.0" }, "org.mockito:mockito-inline": { "shasums": { diff --git a/java/src/org/openqa/selenium/devtools/v119/BUILD.bazel b/java/src/org/openqa/selenium/devtools/v122/BUILD.bazel similarity index 98% rename from java/src/org/openqa/selenium/devtools/v119/BUILD.bazel rename to java/src/org/openqa/selenium/devtools/v122/BUILD.bazel index dd5db63f0636f..1435a2c368ece 100644 --- a/java/src/org/openqa/selenium/devtools/v119/BUILD.bazel +++ b/java/src/org/openqa/selenium/devtools/v122/BUILD.bazel @@ -2,7 +2,7 @@ load("//common:defs.bzl", "copy_file") load("//java:defs.bzl", "java_export", "java_library") load("//java:version.bzl", "SE_VERSION") -cdp_version = "v119" +cdp_version = "v122" java_export( name = cdp_version, diff --git a/java/src/org/openqa/selenium/devtools/v119/v119CdpInfo.java b/java/src/org/openqa/selenium/devtools/v122/v122CdpInfo.java similarity index 86% rename from java/src/org/openqa/selenium/devtools/v119/v119CdpInfo.java rename to java/src/org/openqa/selenium/devtools/v122/v122CdpInfo.java index 288640092e2c7..2185e7a484771 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119CdpInfo.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122CdpInfo.java @@ -15,15 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import com.google.auto.service.AutoService; import org.openqa.selenium.devtools.CdpInfo; @AutoService(CdpInfo.class) -public class v119CdpInfo extends CdpInfo { +public class v122CdpInfo extends CdpInfo { - public v119CdpInfo() { - super(119, v119Domains::new); + public v122CdpInfo() { + super(122, v122Domains::new); } } diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Domains.java b/java/src/org/openqa/selenium/devtools/v122/v122Domains.java similarity index 77% rename from java/src/org/openqa/selenium/devtools/v119/v119Domains.java rename to java/src/org/openqa/selenium/devtools/v122/v122Domains.java index c4ebff219e51b..cba8352459be8 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Domains.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Domains.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import org.openqa.selenium.devtools.DevTools; import org.openqa.selenium.devtools.idealized.Domains; @@ -26,21 +26,21 @@ import org.openqa.selenium.devtools.idealized.target.Target; import org.openqa.selenium.internal.Require; -public class v119Domains implements Domains { +public class v122Domains implements Domains { - private final v119Javascript js; - private final v119Events events; - private final v119Log log; - private final v119Network network; - private final v119Target target; + private final v122Javascript js; + private final v122Events events; + private final v122Log log; + private final v122Network network; + private final v122Target target; - public v119Domains(DevTools devtools) { + public v122Domains(DevTools devtools) { Require.nonNull("DevTools", devtools); - events = new v119Events(devtools); - js = new v119Javascript(devtools); - log = new v119Log(); - network = new v119Network(devtools); - target = new v119Target(); + events = new v122Events(devtools); + js = new v122Javascript(devtools); + log = new v122Log(); + network = new v122Network(devtools); + target = new v122Target(); } @Override diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Events.java b/java/src/org/openqa/selenium/devtools/v122/v122Events.java similarity index 86% rename from java/src/org/openqa/selenium/devtools/v119/v119Events.java rename to java/src/org/openqa/selenium/devtools/v122/v122Events.java index 474e774c91712..845d5963bac4e 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Events.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Events.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import java.time.Instant; import java.util.List; @@ -28,15 +28,15 @@ import org.openqa.selenium.devtools.events.ConsoleEvent; import org.openqa.selenium.devtools.idealized.Events; import org.openqa.selenium.devtools.idealized.runtime.model.RemoteObject; -import org.openqa.selenium.devtools.v119.runtime.Runtime; -import org.openqa.selenium.devtools.v119.runtime.model.ConsoleAPICalled; -import org.openqa.selenium.devtools.v119.runtime.model.ExceptionDetails; -import org.openqa.selenium.devtools.v119.runtime.model.ExceptionThrown; -import org.openqa.selenium.devtools.v119.runtime.model.StackTrace; +import org.openqa.selenium.devtools.v122.runtime.Runtime; +import org.openqa.selenium.devtools.v122.runtime.model.ConsoleAPICalled; +import org.openqa.selenium.devtools.v122.runtime.model.ExceptionDetails; +import org.openqa.selenium.devtools.v122.runtime.model.ExceptionThrown; +import org.openqa.selenium.devtools.v122.runtime.model.StackTrace; -public class v119Events extends Events { +public class v122Events extends Events { - public v119Events(DevTools devtools) { + public v122Events(DevTools devtools) { super(devtools); } @@ -77,7 +77,7 @@ protected ConsoleEvent toConsoleEvent(ConsoleAPICalled event) { protected JavascriptException toJsException(ExceptionThrown event) { ExceptionDetails details = event.getExceptionDetails(); Optional maybeTrace = details.getStackTrace(); - Optional maybeException = + Optional maybeException = details.getException(); String message = diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Javascript.java b/java/src/org/openqa/selenium/devtools/v122/v122Javascript.java similarity index 85% rename from java/src/org/openqa/selenium/devtools/v119/v119Javascript.java rename to java/src/org/openqa/selenium/devtools/v122/v122Javascript.java index 1ed097cada99e..5491170c54cbe 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Javascript.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Javascript.java @@ -15,21 +15,21 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import java.util.Optional; import org.openqa.selenium.devtools.Command; import org.openqa.selenium.devtools.DevTools; import org.openqa.selenium.devtools.Event; import org.openqa.selenium.devtools.idealized.Javascript; -import org.openqa.selenium.devtools.v119.page.Page; -import org.openqa.selenium.devtools.v119.page.model.ScriptIdentifier; -import org.openqa.selenium.devtools.v119.runtime.Runtime; -import org.openqa.selenium.devtools.v119.runtime.model.BindingCalled; +import org.openqa.selenium.devtools.v122.page.Page; +import org.openqa.selenium.devtools.v122.page.model.ScriptIdentifier; +import org.openqa.selenium.devtools.v122.runtime.Runtime; +import org.openqa.selenium.devtools.v122.runtime.model.BindingCalled; -public class v119Javascript extends Javascript { +public class v122Javascript extends Javascript { - public v119Javascript(DevTools devtools) { + public v122Javascript(DevTools devtools) { super(devtools); } diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Log.java b/java/src/org/openqa/selenium/devtools/v122/v122Log.java similarity index 89% rename from java/src/org/openqa/selenium/devtools/v119/v119Log.java rename to java/src/org/openqa/selenium/devtools/v122/v122Log.java index 0b163ee40045f..a44c1c84cdb67 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Log.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Log.java @@ -15,19 +15,19 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import java.util.function.Function; import java.util.logging.Level; import org.openqa.selenium.devtools.Command; import org.openqa.selenium.devtools.ConverterFunctions; import org.openqa.selenium.devtools.Event; -import org.openqa.selenium.devtools.v119.log.Log; -import org.openqa.selenium.devtools.v119.log.model.LogEntry; -import org.openqa.selenium.devtools.v119.runtime.model.Timestamp; +import org.openqa.selenium.devtools.v122.log.Log; +import org.openqa.selenium.devtools.v122.log.model.LogEntry; +import org.openqa.selenium.devtools.v122.runtime.model.Timestamp; import org.openqa.selenium.json.JsonInput; -public class v119Log implements org.openqa.selenium.devtools.idealized.log.Log { +public class v122Log implements org.openqa.selenium.devtools.idealized.log.Log { @Override public Command enable() { diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Network.java b/java/src/org/openqa/selenium/devtools/v122/v122Network.java similarity index 92% rename from java/src/org/openqa/selenium/devtools/v119/v119Network.java rename to java/src/org/openqa/selenium/devtools/v122/v122Network.java index 83d2268443a52..6d5b128d9ac3c 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Network.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Network.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import static java.net.HttpURLConnection.HTTP_OK; @@ -30,35 +30,35 @@ import org.openqa.selenium.devtools.DevToolsException; import org.openqa.selenium.devtools.Event; import org.openqa.selenium.devtools.idealized.Network; -import org.openqa.selenium.devtools.v119.fetch.Fetch; -import org.openqa.selenium.devtools.v119.fetch.model.*; -import org.openqa.selenium.devtools.v119.network.model.Request; +import org.openqa.selenium.devtools.v122.fetch.Fetch; +import org.openqa.selenium.devtools.v122.fetch.model.*; +import org.openqa.selenium.devtools.v122.network.model.Request; import org.openqa.selenium.internal.Either; import org.openqa.selenium.remote.http.HttpRequest; import org.openqa.selenium.remote.http.HttpResponse; -public class v119Network extends Network { +public class v122Network extends Network { - private static final Logger LOG = Logger.getLogger(v119Network.class.getName()); + private static final Logger LOG = Logger.getLogger(v122Network.class.getName()); - public v119Network(DevTools devTools) { + public v122Network(DevTools devTools) { super(devTools); } @Override protected Command setUserAgentOverride(UserAgent userAgent) { - return org.openqa.selenium.devtools.v119.network.Network.setUserAgentOverride( + return org.openqa.selenium.devtools.v122.network.Network.setUserAgentOverride( userAgent.userAgent(), userAgent.acceptLanguage(), userAgent.platform(), Optional.empty()); } @Override protected Command enableNetworkCaching() { - return org.openqa.selenium.devtools.v119.network.Network.setCacheDisabled(false); + return org.openqa.selenium.devtools.v122.network.Network.setCacheDisabled(false); } @Override protected Command disableNetworkCaching() { - return org.openqa.selenium.devtools.v119.network.Network.setCacheDisabled(true); + return org.openqa.selenium.devtools.v122.network.Network.setCacheDisabled(true); } @Override diff --git a/java/src/org/openqa/selenium/devtools/v119/v119Target.java b/java/src/org/openqa/selenium/devtools/v122/v122Target.java similarity index 83% rename from java/src/org/openqa/selenium/devtools/v119/v119Target.java rename to java/src/org/openqa/selenium/devtools/v122/v122Target.java index e5f78df15c6f2..1140c96a9510a 100644 --- a/java/src/org/openqa/selenium/devtools/v119/v119Target.java +++ b/java/src/org/openqa/selenium/devtools/v122/v122Target.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.openqa.selenium.devtools.v119; +package org.openqa.selenium.devtools.v122; import java.util.List; import java.util.Map; @@ -28,21 +28,21 @@ import org.openqa.selenium.devtools.idealized.browser.model.BrowserContextID; import org.openqa.selenium.devtools.idealized.target.model.SessionID; import org.openqa.selenium.devtools.idealized.target.model.TargetID; -import org.openqa.selenium.devtools.v119.target.Target; -import org.openqa.selenium.devtools.v119.target.model.TargetInfo; +import org.openqa.selenium.devtools.v122.target.Target; +import org.openqa.selenium.devtools.v122.target.model.TargetInfo; import org.openqa.selenium.json.JsonInput; import org.openqa.selenium.json.TypeToken; -public class v119Target implements org.openqa.selenium.devtools.idealized.target.Target { +public class v122Target implements org.openqa.selenium.devtools.idealized.target.Target { @Override public Command detachFromTarget( Optional sessionId, Optional targetId) { return Target.detachFromTarget( sessionId.map( - id -> new org.openqa.selenium.devtools.v119.target.model.SessionID(id.toString())), + id -> new org.openqa.selenium.devtools.v122.target.model.SessionID(id.toString())), targetId.map( - id -> new org.openqa.selenium.devtools.v119.target.model.TargetID(id.toString()))); + id -> new org.openqa.selenium.devtools.v122.target.model.TargetID(id.toString()))); } @Override @@ -74,19 +74,19 @@ public Command detachFromTarget( @Override public Command attachToTarget(TargetID targetId) { - Function mapper = + Function mapper = ConverterFunctions.map( - "sessionId", org.openqa.selenium.devtools.v119.target.model.SessionID.class); + "sessionId", org.openqa.selenium.devtools.v122.target.model.SessionID.class); return new Command<>( "Target.attachToTarget", Map.of( "targetId", - new org.openqa.selenium.devtools.v119.target.model.TargetID(targetId.toString()), + new org.openqa.selenium.devtools.v122.target.model.TargetID(targetId.toString()), "flatten", true), input -> { - org.openqa.selenium.devtools.v119.target.model.SessionID id = mapper.apply(input); + org.openqa.selenium.devtools.v122.target.model.SessionID id = mapper.apply(input); return new SessionID(id.toString()); }); } @@ -101,9 +101,9 @@ public Event detached() { return new Event<>( "Target.detachedFromTarget", input -> { - Function converter = + Function converter = ConverterFunctions.map( - "targetId", org.openqa.selenium.devtools.v119.target.model.TargetID.class); + "targetId", org.openqa.selenium.devtools.v122.target.model.TargetID.class); return new TargetID(converter.apply(input).toString()); }); } diff --git a/java/src/org/openqa/selenium/devtools/versions.bzl b/java/src/org/openqa/selenium/devtools/versions.bzl index bbf0e350a1f3a..b66e9f88da819 100644 --- a/java/src/org/openqa/selenium/devtools/versions.bzl +++ b/java/src/org/openqa/selenium/devtools/versions.bzl @@ -1,6 +1,6 @@ CDP_VERSIONS = [ "v85", # Required by Firefox - "v119", + "v122", "v120", "v121", ] diff --git a/java/version.bzl b/java/version.bzl index 579d06445b01e..d541a133e7159 100644 --- a/java/version.bzl +++ b/java/version.bzl @@ -1,2 +1,2 @@ -SE_VERSION = "4.18.0-SNAPSHOT" +SE_VERSION = "4.18.0" TOOLS_JAVA_VERSION = "17" diff --git a/javascript/node/selenium-webdriver/BUILD.bazel b/javascript/node/selenium-webdriver/BUILD.bazel index 53c8ffe5a36f4..7af6f8949c4df 100644 --- a/javascript/node/selenium-webdriver/BUILD.bazel +++ b/javascript/node/selenium-webdriver/BUILD.bazel @@ -4,7 +4,7 @@ load("//common:defs.bzl", "copy_file") BROWSER_VERSIONS = [ "v85", - "v119", + "v122", "v120", "v121", ] diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index 1a29c8a37a7c5..885e238d4f947 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -1,3 +1,15 @@ +## 4.18.0 + +>>> [js] Fix running the casting related methods in chromium (#13479) +Casting methods call "this.schedule", but it does not exist in the class. Updating the methods to actually execute the commands. +>>> [js] Enabling virtual authenticator tests for Firefox +@whimboo mentioned this is supported now +>>> [bidi] Add browsing context destroyed event +>>> [bidi][js] Add test for basic auth network event +>>> [bidi] [js] Add realm destroyed event +>>> [build] update version in package-lock for node +>>> Update supported versions for Chrome DevTools + ## 4.17.0 * Add javascript to Selenium Manager input for tracking (see #13288) diff --git a/javascript/node/selenium-webdriver/package-lock.json b/javascript/node/selenium-webdriver/package-lock.json index dc503a74f3bf5..131336edafac4 100644 --- a/javascript/node/selenium-webdriver/package-lock.json +++ b/javascript/node/selenium-webdriver/package-lock.json @@ -1,12 +1,12 @@ { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "license": "Apache-2.0", "dependencies": { "jszip": "^3.10.1", @@ -48,7 +48,7 @@ "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" @@ -80,7 +80,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -92,7 +92,7 @@ "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -893,7 +893,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -998,7 +998,7 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1034,7 +1034,7 @@ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1124,7 +1124,7 @@ "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" diff --git a/javascript/node/selenium-webdriver/package.json b/javascript/node/selenium-webdriver/package.json index 72eabdc9af080..3c497e82d56da 100644 --- a/javascript/node/selenium-webdriver/package.json +++ b/javascript/node/selenium-webdriver/package.json @@ -1,6 +1,6 @@ { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "description": "The official WebDriver JavaScript bindings from the Selenium project", "license": "Apache-2.0", "keywords": [ diff --git a/py/BUILD.bazel b/py/BUILD.bazel index 986fbc747149a..f0dd9fa8c4198 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -36,11 +36,11 @@ compile_pip_requirements( ], ) -SE_VERSION = "4.17.2" +SE_VERSION = "4.18.0" BROWSER_VERSIONS = [ "v85", - "v119", + "v122", "v120", "v121", ] diff --git a/py/CHANGES b/py/CHANGES index edb05c297e29a..805ed1160f766 100644 --- a/py/CHANGES +++ b/py/CHANGES @@ -1,3 +1,6 @@ +Selenium 4.18.0 + + Selenium 4.17.2 * py] Correct typing_extension dependency for wheel generation diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py index 43517b5beedab..584dc8d3adaa9 100644 --- a/py/docs/source/conf.py +++ b/py/docs/source/conf.py @@ -56,9 +56,9 @@ # built documents. # # The short X.Y version. -version = '4.17' +version = '4.18' # The full version, including alpha/beta/rc tags. -release = '4.17.2' +release = '4.18.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py index 46a5f545f7655..1cf7c5a4f9841 100644 --- a/py/selenium/__init__.py +++ b/py/selenium/__init__.py @@ -16,4 +16,4 @@ # under the License. -__version__ = "4.17.2" +__version__ = "4.18.0" diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index 711d8aa9ccbf3..ce84c019c9963 100644 --- a/py/selenium/webdriver/__init__.py +++ b/py/selenium/webdriver/__init__.py @@ -44,7 +44,7 @@ from .wpewebkit.service import Service as WPEWebKitService # noqa from .wpewebkit.webdriver import WebDriver as WPEWebKit # noqa -__version__ = "4.17.2" +__version__ = "4.18.0" # We need an explicit __all__ because the above won't otherwise be exported. __all__ = [ diff --git a/py/setup.py b/py/setup.py index 24ec88ad9f134..a203a695acd33 100755 --- a/py/setup.py +++ b/py/setup.py @@ -27,7 +27,7 @@ setup_args = { 'cmdclass': {'install': install}, 'name': 'selenium', - 'version': "4.17.2", + 'version': "4.18.0", 'license': 'Apache 2.0', 'description': 'Python bindings for Selenium', 'long_description': open(join(abspath(dirname(__file__)), "README.rst")).read(), diff --git a/rb/CHANGES b/rb/CHANGES index 2f1d68def8897..90bd294d4861e 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,3 +1,13 @@ +4.18.0 (2024-01-26) +========================= + +>>> updating versions to nightly +>>> [rb] make suggested updates from rubocop +>>> [rb] fix bad rubocop autocorrection +>>> [rb] fix another bad rubocop autocorrection +>>> [rb] update rubocop and revert incorrect changes +>>> Update supported versions for Chrome DevTools + 4.17.0 (2024-01-22) ========================= diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock index 36708379c9b3e..c66547e45de31 100644 --- a/rb/Gemfile.lock +++ b/rb/Gemfile.lock @@ -1,9 +1,9 @@ PATH remote: . specs: - selenium-devtools (0.121.0) + selenium-devtools (0.122.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.18.0.nightly) + selenium-webdriver (4.18.0) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -40,7 +40,6 @@ GEM drb (2.2.0) ruby2_keywords ffi (1.16.3) - ffi (1.16.3-x64-mingw32) fileutils (1.7.2) git (1.19.1) addressable (~> 2.8) @@ -76,7 +75,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rbs (3.4.2) + rbs (3.4.3) abbrev rchardet (1.8.0) rdoc (6.6.2) diff --git a/rb/lib/selenium/devtools/BUILD.bazel b/rb/lib/selenium/devtools/BUILD.bazel index c94bb6ee38fda..92626fe9a4f20 100644 --- a/rb/lib/selenium/devtools/BUILD.bazel +++ b/rb/lib/selenium/devtools/BUILD.bazel @@ -5,7 +5,7 @@ package(default_visibility = ["//rb:__subpackages__"]) CDP_VERSIONS = [ "v85", - "v119", + "v122", "v120", "v121", ] diff --git a/rb/lib/selenium/devtools/version.rb b/rb/lib/selenium/devtools/version.rb index a87c1bab56f74..bc70f2b5ea9a3 100644 --- a/rb/lib/selenium/devtools/version.rb +++ b/rb/lib/selenium/devtools/version.rb @@ -19,6 +19,6 @@ module Selenium module DevTools - VERSION = '0.121.0' + VERSION = '0.122.0' end # DevTools end # Selenium diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb index 0fdff5de07409..7904acc8b3d40 100644 --- a/rb/lib/selenium/webdriver/version.rb +++ b/rb/lib/selenium/webdriver/version.rb @@ -19,6 +19,6 @@ module Selenium module WebDriver - VERSION = '4.18.0.nightly' + VERSION = '4.18.0' end # WebDriver end # Selenium diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index c63b7b25c7a55..6888d0de60a20 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,3 +1,7 @@ +0.4.18 +====== + + 0.4.17 ======