From e8cf89572a4f220c52afdb768c52a17231caf058 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Wed, 9 Sep 2020 00:58:25 -0700 Subject: [PATCH] feat(chromium): roll Chromium to r799411 (#3811) --- README.md | 4 +- browsers.json | 2 +- src/server/chromium/protocol.ts | 227 +++++++++++++++++++++++++++++++- 3 files changed, 226 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ebc7ca88a67bc..17e44cd47f657 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🎭 Playwright -[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://join.slack.com/t/playwright/shared_invite/enQtOTEyMTUxMzgxMjIwLThjMDUxZmIyNTRiMTJjNjIyMzdmZDA3MTQxZWUwZTFjZjQwNGYxZGM5MzRmNzZlMWI5ZWUyOTkzMjE5Njg1NDg) [![Chromium version](https://img.shields.io/badge/chromium-86.0.4217.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-80.0b8-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-14.0-blue.svg?logo=safari)](https://webkit.org/) +[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://join.slack.com/t/playwright/shared_invite/enQtOTEyMTUxMzgxMjIwLThjMDUxZmIyNTRiMTJjNjIyMzdmZDA3MTQxZWUwZTFjZjQwNGYxZGM5MzRmNzZlMWI5ZWUyOTkzMjE5Njg1NDg) [![Chromium version](https://img.shields.io/badge/chromium-86.0.4238.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-80.0b8-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-14.0-blue.svg?logo=safari)](https://webkit.org/) ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/#?path=docs/api.md) @@ -8,7 +8,7 @@ Playwright is a Node.js library to automate [Chromium](https://www.chromium.org/ | | Linux | macOS | Windows | | :--- | :---: | :---: | :---: | -| Chromium 86.0.4217.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| Chromium 86.0.4238.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | WebKit 14.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Firefox 80.0b8 | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/browsers.json b/browsers.json index c376ab8666454..afed4120e07fb 100644 --- a/browsers.json +++ b/browsers.json @@ -3,7 +3,7 @@ "browsers": [ { "name": "chromium", - "revision": "792639", + "revision": "799411", "download": true }, { diff --git a/src/server/chromium/protocol.ts b/src/server/chromium/protocol.ts index 8565cf7516983..0f6c051a6dbf3 100644 --- a/src/server/chromium/protocol.ts +++ b/src/server/chromium/protocol.ts @@ -650,7 +650,7 @@ associated with some application cache. export interface AffectedFrame { frameId: Page.FrameId; } - export type SameSiteCookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"|"ExcludeSameSiteNoneInsecure"; + export type SameSiteCookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"|"ExcludeSameSiteNoneInsecure"|"ExcludeSameSiteLax"|"ExcludeSameSiteStrict"; export type SameSiteCookieWarningReason = "WarnSameSiteUnspecifiedCrossSiteContext"|"WarnSameSiteNoneInsecure"|"WarnSameSiteUnspecifiedLaxAllowUnsafe"|"WarnSameSiteStrictLaxDowngradeStrict"|"WarnSameSiteStrictCrossDowngradeStrict"|"WarnSameSiteStrictCrossDowngradeLax"|"WarnSameSiteLaxCrossDowngradeStrict"|"WarnSameSiteLaxCrossDowngradeLax"; export type SameSiteCookieOperation = "SetCookie"|"ReadCookie"; /** @@ -715,7 +715,8 @@ some CSP errors in the future. */ export interface BlockedByResponseIssueDetails { request: AffectedRequest; - frame?: AffectedFrame; + parentFrame?: AffectedFrame; + blockedFrame?: AffectedFrame; reason: BlockedByResponseReason; } export type HeavyAdResolutionStatus = "HeavyAdBlocked"|"HeavyAdWarning"; @@ -752,6 +753,7 @@ some CSP errors in the future. contentSecurityPolicyViolationType: ContentSecurityPolicyViolationType; frameAncestor?: AffectedFrame; sourceCodeLocation?: SourceCodeLocation; + violatingNodeId?: DOM.BackendNodeId; } /** * A unique identifier for the type of issue. Each type may use one of the @@ -2037,6 +2039,30 @@ node. */ text: string; } + /** + * Starts tracking the given computed styles for updates. The specified array of properties +replaces the one previously specified. Pass empty array to disable tracking. +Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified. +The changes to computed style properties are only tracked for nodes pushed to the front-end +by the DOM agent. If no changes to the tracked properties occur after the node has been pushed +to the front-end, no updates will be issued for the node. + */ + export type trackComputedStyleUpdatesParameters = { + propertiesToTrack: CSSComputedStyleProperty[]; + } + export type trackComputedStyleUpdatesReturnValue = { + } + /** + * Polls the next batch of computed style updates. + */ + export type takeComputedStyleUpdatesParameters = { + } + export type takeComputedStyleUpdatesReturnValue = { + /** + * The list of node Ids that have their tracked computed styles updated + */ + nodeIds: DOM.NodeId[]; + } /** * Find a rule with the given active property for the given node and set the new value for this property @@ -2669,6 +2695,16 @@ fire DOM events for nodes known to the client. */ height: number; } + export interface CSSComputedStyleProperty { + /** + * Computed style property name. + */ + name: string; + /** + * Computed style property value. + */ + value: string; + } /** * Fired when `Element`'s attribute is modified. @@ -3079,6 +3115,8 @@ entire subtree or provide an integer larger than 0. } /** * Returns the root DOM node (and optionally the subtree) to the caller. +Deprecated, as it is not designed to work well with the rest of the DOM agent. +Use DOMSnapshot.captureSnapshot instead. */ export type getFlattenedDocumentParameters = { /** @@ -3098,6 +3136,30 @@ entire subtree or provide an integer larger than 0. */ nodes: Node[]; } + /** + * Finds nodes with a given computed style in a subtree. + */ + export type getNodesForSubtreeByStyleParameters = { + /** + * Node ID pointing to the root of a subtree. + */ + nodeId: NodeId; + /** + * The style to filter nodes by (includes nodes if any of properties matches). + */ + computedStyles: CSSComputedStyleProperty[]; + /** + * Whether or not iframes and shadow roots in the same target should be traversed when returning the +results (default is false). + */ + pierce?: boolean; + } + export type getNodesForSubtreeByStyleReturnValue = { + /** + * Resulting nodes. + */ + nodeIds: NodeId[]; + } /** * Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not. @@ -4788,6 +4850,28 @@ unavailable. } export type setGeolocationOverrideReturnValue = { } + /** + * Overrides the Idle state. + */ + export type setIdleOverrideParameters = { + /** + * Mock isUserActive + */ + isUserActive: boolean; + /** + * Mock isScreenUnlocked + */ + isScreenUnlocked: boolean; + } + export type setIdleOverrideReturnValue = { + } + /** + * Clears Idle state overrides. + */ + export type clearIdleOverrideParameters = { + } + export type clearIdleOverrideReturnValue = { + } /** * Overrides value returned by the javascript navigator object. */ @@ -7174,6 +7258,18 @@ https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges- */ errors?: SignedExchangeError[]; } + export type CrossOriginOpenerPolicyValue = "SameOrigin"|"SameOriginAllowPopups"|"UnsafeNone"|"SameOriginPlusCoep"; + export interface CrossOriginOpenerPolicyStatus { + value: CrossOriginOpenerPolicyValue; + } + export type CrossOriginEmbedderPolicyValue = "None"|"RequireCorp"; + export interface CrossOriginEmbedderPolicyStatus { + value: CrossOriginEmbedderPolicyValue; + } + export interface SecurityIsolationStatus { + coop: CrossOriginOpenerPolicyStatus; + coep: CrossOriginEmbedderPolicyStatus; + } /** * Fired when data chunk was received over the network. @@ -8091,12 +8187,37 @@ continueInterceptedRequest call. } export type setUserAgentOverrideReturnValue = { } + /** + * Returns information about the COEP/COOP isolation status. + */ + export type getSecurityIsolationStatusParameters = { + /** + * If no frameId is provided, the status of the target is provided. + */ + frameId?: Page.FrameId; + } + export type getSecurityIsolationStatusReturnValue = { + status: SecurityIsolationStatus; + } } /** * This domain provides various functionality related to drawing atop the inspected page. */ export module Overlay { + /** + * Configuration data for drawing the source order of an elements children. + */ + export interface SourceOrderConfig { + /** + * the color to outline the givent element in. + */ + parentOutlineColor: DOM.RGBA; + /** + * the color to outline the child elements in. + */ + childOutlineColor: DOM.RGBA; + } /** * Configuration data for the highlighting of Grid elements. */ @@ -8130,17 +8251,33 @@ continueInterceptedRequest call. */ gridBorderColor?: DOM.RGBA; /** - * The cell border color (default: transparent). + * The cell border color (default: transparent). Deprecated, please use rowLineColor and columnLineColor instead. */ cellBorderColor?: DOM.RGBA; + /** + * The row line color (default: transparent). + */ + rowLineColor?: DOM.RGBA; + /** + * The column line color (default: transparent). + */ + columnLineColor?: DOM.RGBA; /** * Whether the grid border is dashed (default: false). */ gridBorderDash?: boolean; /** - * Whether the cell border is dashed (default: false). + * Whether the cell border is dashed (default: false). Deprecated, please us rowLineDash and columnLineDash instead. */ cellBorderDash?: boolean; + /** + * Whether row lines are dashed (default: false). + */ + rowLineDash?: boolean; + /** + * Whether column lines are dashed (default: false). + */ + columnLineDash?: boolean; /** * The row gap highlight fill color (default: transparent). */ @@ -8350,6 +8487,21 @@ user manually inspects an element. */ highlights: { [key: string]: string }; } + /** + * For Source Order Viewer testing. + */ + export type getSourceOrderHighlightObjectForTestParameters = { + /** + * Id of the node to highlight. + */ + nodeId: DOM.NodeId; + } + export type getSourceOrderHighlightObjectForTestReturnValue = { + /** + * Source order highlight data for the node id provided. + */ + highlight: { [key: string]: string }; + } /** * Hides any highlight. */ @@ -8454,6 +8606,30 @@ objectId must be specified. } export type highlightRectReturnValue = { } + /** + * Highlights the source order of the children of the DOM node with given id or with the given +JavaScript object wrapper. Either nodeId or objectId must be specified. + */ + export type highlightSourceOrderParameters = { + /** + * A descriptor for the appearance of the overlay drawing. + */ + sourceOrderConfig: SourceOrderConfig; + /** + * Identifier of the node to highlight. + */ + nodeId?: DOM.NodeId; + /** + * Identifier of the backend node to highlight. + */ + backendNodeId?: DOM.BackendNodeId; + /** + * JavaScript object id of the node to be highlighted. + */ + objectId?: Runtime.RemoteObjectId; + } + export type highlightSourceOrderReturnValue = { + } /** * Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted. Backend then generates 'inspectNodeRequested' event upon element selection. @@ -8631,6 +8807,13 @@ Backend then generates 'inspectNodeRequested' event upon element selection. * Frame document's URL fragment including the '#'. */ urlFragment?: string; + /** + * Frame document's registered domain, taking the public suffixes list into account. +Extracted from the Frame's url. +Example URLs: http://www.google.com/file.html -> "google.com" + http://a.b.co.uk/file.html -> "b.co.uk" + */ + domainAndRegistry: string; /** * Frame document's security origin. */ @@ -11054,6 +11237,10 @@ supported. * Opener target Id */ openerId?: TargetID; + /** + * Whether the opened window has access to the originating window. + */ + canAccessOpener: boolean; browserContextId?: Browser.BrowserContextID; } export interface RemoteLocation { @@ -12535,6 +12722,14 @@ breakpoints, stepping through execution, exploring stack traces, etc. lineNumber: number; columnNumber: number; } + /** + * Location range within one script. + */ + export interface LocationRange { + scriptId: Runtime.ScriptId; + start: ScriptPosition; + end: ScriptPosition; + } /** * JavaScript call frame. Array of call frames form the call stack. */ @@ -13385,6 +13580,10 @@ scope types are allowed. Other scopes could be manipulated manually. before next pause. */ breakOnAsyncCall?: boolean; + /** + * The skipList specifies location ranges that should be skipped on step into. + */ + skipList?: LocationRange[]; } export type stepIntoReturnValue = { } @@ -13399,6 +13598,10 @@ before next pause. * Steps over the statement. */ export type stepOverParameters = { + /** + * The skipList specifies location ranges that should be skipped on step over. + */ + skipList?: LocationRange[]; } export type stepOverReturnValue = { } @@ -15123,6 +15326,8 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "CSS.getMediaQueries": CSS.getMediaQueriesParameters; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeParameters; "CSS.getStyleSheetText": CSS.getStyleSheetTextParameters; + "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesParameters; + "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesParameters; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeParameters; "CSS.setKeyframeKey": CSS.setKeyframeKeyParameters; "CSS.setMediaText": CSS.setMediaTextParameters; @@ -15156,6 +15361,7 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "DOM.getContentQuads": DOM.getContentQuadsParameters; "DOM.getDocument": DOM.getDocumentParameters; "DOM.getFlattenedDocument": DOM.getFlattenedDocumentParameters; + "DOM.getNodesForSubtreeByStyle": DOM.getNodesForSubtreeByStyleParameters; "DOM.getNodeForLocation": DOM.getNodeForLocationParameters; "DOM.getOuterHTML": DOM.getOuterHTMLParameters; "DOM.getRelayoutBoundary": DOM.getRelayoutBoundaryParameters; @@ -15227,6 +15433,8 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Emulation.setEmulatedMedia": Emulation.setEmulatedMediaParameters; "Emulation.setEmulatedVisionDeficiency": Emulation.setEmulatedVisionDeficiencyParameters; "Emulation.setGeolocationOverride": Emulation.setGeolocationOverrideParameters; + "Emulation.setIdleOverride": Emulation.setIdleOverrideParameters; + "Emulation.clearIdleOverride": Emulation.clearIdleOverrideParameters; "Emulation.setNavigatorOverrides": Emulation.setNavigatorOverridesParameters; "Emulation.setPageScaleFactor": Emulation.setPageScaleFactorParameters; "Emulation.setScriptExecutionDisabled": Emulation.setScriptExecutionDisabledParameters; @@ -15314,15 +15522,18 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Network.setExtraHTTPHeaders": Network.setExtraHTTPHeadersParameters; "Network.setRequestInterception": Network.setRequestInterceptionParameters; "Network.setUserAgentOverride": Network.setUserAgentOverrideParameters; + "Network.getSecurityIsolationStatus": Network.getSecurityIsolationStatusParameters; "Overlay.disable": Overlay.disableParameters; "Overlay.enable": Overlay.enableParameters; "Overlay.getHighlightObjectForTest": Overlay.getHighlightObjectForTestParameters; "Overlay.getGridHighlightObjectsForTest": Overlay.getGridHighlightObjectsForTestParameters; + "Overlay.getSourceOrderHighlightObjectForTest": Overlay.getSourceOrderHighlightObjectForTestParameters; "Overlay.hideHighlight": Overlay.hideHighlightParameters; "Overlay.highlightFrame": Overlay.highlightFrameParameters; "Overlay.highlightNode": Overlay.highlightNodeParameters; "Overlay.highlightQuad": Overlay.highlightQuadParameters; "Overlay.highlightRect": Overlay.highlightRectParameters; + "Overlay.highlightSourceOrder": Overlay.highlightSourceOrderParameters; "Overlay.setInspectMode": Overlay.setInspectModeParameters; "Overlay.setShowAdHighlights": Overlay.setShowAdHighlightsParameters; "Overlay.setPausedInDebuggerMessage": Overlay.setPausedInDebuggerMessageParameters; @@ -15608,6 +15819,8 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "CSS.getMediaQueries": CSS.getMediaQueriesReturnValue; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeReturnValue; "CSS.getStyleSheetText": CSS.getStyleSheetTextReturnValue; + "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesReturnValue; + "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesReturnValue; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeReturnValue; "CSS.setKeyframeKey": CSS.setKeyframeKeyReturnValue; "CSS.setMediaText": CSS.setMediaTextReturnValue; @@ -15641,6 +15854,7 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "DOM.getContentQuads": DOM.getContentQuadsReturnValue; "DOM.getDocument": DOM.getDocumentReturnValue; "DOM.getFlattenedDocument": DOM.getFlattenedDocumentReturnValue; + "DOM.getNodesForSubtreeByStyle": DOM.getNodesForSubtreeByStyleReturnValue; "DOM.getNodeForLocation": DOM.getNodeForLocationReturnValue; "DOM.getOuterHTML": DOM.getOuterHTMLReturnValue; "DOM.getRelayoutBoundary": DOM.getRelayoutBoundaryReturnValue; @@ -15712,6 +15926,8 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Emulation.setEmulatedMedia": Emulation.setEmulatedMediaReturnValue; "Emulation.setEmulatedVisionDeficiency": Emulation.setEmulatedVisionDeficiencyReturnValue; "Emulation.setGeolocationOverride": Emulation.setGeolocationOverrideReturnValue; + "Emulation.setIdleOverride": Emulation.setIdleOverrideReturnValue; + "Emulation.clearIdleOverride": Emulation.clearIdleOverrideReturnValue; "Emulation.setNavigatorOverrides": Emulation.setNavigatorOverridesReturnValue; "Emulation.setPageScaleFactor": Emulation.setPageScaleFactorReturnValue; "Emulation.setScriptExecutionDisabled": Emulation.setScriptExecutionDisabledReturnValue; @@ -15799,15 +16015,18 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Network.setExtraHTTPHeaders": Network.setExtraHTTPHeadersReturnValue; "Network.setRequestInterception": Network.setRequestInterceptionReturnValue; "Network.setUserAgentOverride": Network.setUserAgentOverrideReturnValue; + "Network.getSecurityIsolationStatus": Network.getSecurityIsolationStatusReturnValue; "Overlay.disable": Overlay.disableReturnValue; "Overlay.enable": Overlay.enableReturnValue; "Overlay.getHighlightObjectForTest": Overlay.getHighlightObjectForTestReturnValue; "Overlay.getGridHighlightObjectsForTest": Overlay.getGridHighlightObjectsForTestReturnValue; + "Overlay.getSourceOrderHighlightObjectForTest": Overlay.getSourceOrderHighlightObjectForTestReturnValue; "Overlay.hideHighlight": Overlay.hideHighlightReturnValue; "Overlay.highlightFrame": Overlay.highlightFrameReturnValue; "Overlay.highlightNode": Overlay.highlightNodeReturnValue; "Overlay.highlightQuad": Overlay.highlightQuadReturnValue; "Overlay.highlightRect": Overlay.highlightRectReturnValue; + "Overlay.highlightSourceOrder": Overlay.highlightSourceOrderReturnValue; "Overlay.setInspectMode": Overlay.setInspectModeReturnValue; "Overlay.setShowAdHighlights": Overlay.setShowAdHighlightsReturnValue; "Overlay.setPausedInDebuggerMessage": Overlay.setPausedInDebuggerMessageReturnValue;