diff --git a/DEPS b/DEPS index ca6d4b14..2a50cac 100644 --- a/DEPS +++ b/DEPS
@@ -245,15 +245,15 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': '0aad22f5686a3a55af266f2ab21479feb00dae80', + 'skia_revision': 'a379b7d4a3d48e3b4e9ae05fb8f5d45c47d94b91', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': 'e5acd25f590121376fd5b1e83081e2ffee87d09a', + 'v8_revision': 'e71f02677bbbd96acd659b3a168f15ff596ce4ef', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': 'd4412d0a01247291a8357933c9c844cc55cb7490', + 'angle_revision': '814a78af5dd96c29487e1d7161b0a971612b2f3a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -261,7 +261,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': '81683d4924b14869564198f832a20f46926cbad1', + 'pdfium_revision': '1438873bba3d78ff70d4ad436f83f7d33f70276e', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling BoringSSL # and whatever else without interference from each other. @@ -276,7 +276,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling googletest # and whatever else without interference from each other. - 'googletest_revision': 'aea0874c4252d47d1da096ad763b9c04b42c8514', + 'googletest_revision': '2d07f12b607c528b21795ab672cff3afaf64f7a1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling lighttpd # and whatever else without interference from each other. @@ -320,7 +320,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': 'ea3f685d39b2173e3287dd81d4bcfeee69658c6b', + 'devtools_frontend_revision': '72ee54b64e74d79938d55d8b5cc7781a5c144d37', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -805,7 +805,7 @@ 'packages': [ { 'package': 'chromium/third_party/androidx', - 'version': 'bebl7HT6pBH_Y5G5q4holx3hZg80BJB9yRxLViJOONEC', + 'version': '5A6-vFfKBBqjWxMf3X5-bFSV_gRaWMhZwAKo7mR2WsgC', }, ], 'condition': 'checkout_android', @@ -1427,7 +1427,7 @@ }, 'src/third_party/perfetto': - Var('android_git') + '/platform/external/perfetto.git' + '@' + '123bcd603d4bbce8eae4622981b390ba98d52bc7', + Var('android_git') + '/platform/external/perfetto.git' + '@' + 'd21ed9d314f222f0d931f66742108403580a3ac4', 'src/third_party/perl': { 'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3', @@ -1648,7 +1648,7 @@ Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + 'fca7b339442bd70c5dc49bb33ee7f9466b560a97', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '4be9da34f464f5f2ba6094a478919b6cd64b91b0', + Var('webrtc_git') + '/src.git' + '@' + '766c80b2564b8af82f9f500e2825f2bc6e5b2d5f', 'src/third_party/libgifcodec': Var('skia_git') + '/libgifcodec' + '@'+ Var('libgifcodec_revision'), @@ -1718,7 +1718,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@feb2f8ee78ef33667c0f733b16bed1c5f49374b6', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@5dd937e8ef614004545e50612e7f0849500f8c01', 'condition': 'checkout_src_internal', }, @@ -1770,7 +1770,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/projector_app/app', - 'version': 'b3Fx7KeNToUdFzzxQB-hR5a5EdcIWf7OBgSv8eM4aHsC', + 'version': 'iZEAwsFPirtNq6EcGOaxqVfq-cGUGt7NBtmCDiCzc8oC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/ash/webui/camera_app_ui/resources/js/js.gni b/ash/webui/camera_app_ui/resources/js/js.gni index 1bf4085..5d95e18 100644 --- a/ash/webui/camera_app_ui/resources/js/js.gni +++ b/ash/webui/camera_app_ui/resources/js/js.gni
@@ -79,7 +79,7 @@ "views/camera/mode/scan.ts", "views/camera/mode/square.ts", "views/camera/mode/video.ts", - "views/camera/document_corner_overlay.js", + "views/camera/document_corner_overlay.ts", "views/camera/options.ts", "views/camera/preview.js", "views/camera/scan_options.ts", @@ -87,9 +87,9 @@ "views/camera/video_encoder_options.ts", "views/crop_document.ts", "views/dialog.ts", - "views/ptz_panel.js", + "views/ptz_panel.ts", "views/review.ts", - "views/settings.js", + "views/settings.ts", "views/view.ts", "views/warning.ts", "waitable_event.ts",
diff --git a/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.js b/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.js deleted file mode 100644 index 1477cd3..0000000 --- a/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.js +++ /dev/null
@@ -1,588 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import {assert, assertInstanceof, assertString} from '../../assert.js'; -import * as dom from '../../dom.js'; -import { - Point, - PolarVector, - Vector, - vectorFromPoints, -} from '../../geometry.js'; -import {I18nString} from '../../i18n_string.js'; -import {DeviceOperator} from '../../mojo/device_operator.js'; -import { - PointF, // eslint-disable-line no-unused-vars -} from '../../mojo/type.js'; -import { - closeEndpoint, - MojoEndpoint, // eslint-disable-line no-unused-vars -} from '../../mojo/util.js'; -import * as toast from '../../toast.js'; -import * as util from '../../util.js'; - -/** - * Base length of line without scaling in px. - */ -const BASE_LENGTH = 100; - -/** - * Threshold of the document area scale difference. - */ -const THRESHOLD_SCALE_DIFF = 0.3; - -/** - * @typedef {{ - * position?: !Point, - * angle?: number, - * length?: number - * }} - */ -let PlaceParams; // eslint-disable-line no-unused-vars - -/** - * Information to roughly represents the area of the document displaying on the - * stream. - * The |center| is the center point of the detected document area and the - * |scale| is calculated by the longest length among the document edges. - * @typedef {{ - * center: !Point, - * scale: number, - * }} - */ -let DocumentArea; // eslint-disable-line no-unused-vars - -/** - * Controller for placing line-like element. - */ -class Line { - /** - * @param {!HTMLDivElement} el - */ - constructor(el) { - /** - * @const {!HTMLDivElement} - * @private - */ - this.el_ = el; - } - - /** - * @param {PlaceParams} params - * 'position' is the x, y coordinates of start endpoint in px. 'angle' is - * the rotate angle in rad. 'length' is the length of the line. - */ - place({position, angle, length}) { - const transforms = []; - if (position !== undefined) { - transforms.push(new CSSTranslate(CSS.px(position.x), CSS.px(position.y))); - } - if (angle !== undefined) { - const prevAngle = this.angle_(); - if (prevAngle !== null) { - // Derive new angle from prevAngle + smallest rotation angle between new - // and prev to ensure the rotation transition like -pi to pi won't jump - // too much. - angle = prevAngle - - new PolarVector(angle, 1).rotation(new PolarVector(prevAngle, 1)); - } - transforms.push(new CSSRotate(CSS.rad(angle))); - } - if (length !== undefined) { - // To prevent floating point precision error during transform scale - // calculation. Scale from a larger base length instead of from 1px. See - // b/194264574. - this.el_.attributeStyleMap.set('width', CSS.px(BASE_LENGTH)); - const scale = length / BASE_LENGTH; - transforms.push(new CSSScale(CSS.number(scale), CSS.number(1))); - } - this.el_.attributeStyleMap.set( - 'transform', new CSSTransformValue(transforms)); - } - - /** - * @return {?CSSTransformValue} - */ - getTransform_() { - const trans = this.el_.attributeStyleMap.get('transform'); - return trans && assertInstanceof(trans, CSSTransformValue); - } - - /** - * @return {?number} - */ - angle_() { - const transforms = this.getTransform_(); - if (transforms === null) { - return null; - } - for (const transform of transforms) { - if (transform instanceof CSSRotate) { - return transform.angle.to('rad').value; - } - } - return null; - } -} - -/** - * Controller for placing corner indicator on preview overlay. - */ -class Corner { - /** - * @param {!HTMLDivElement} container - */ - constructor(container) { - const tpl = util.instantiateTemplate('#document-corner-template'); - - /** - * @const {!HTMLDivElement} - * @private - */ - this.corner_ = dom.getFrom(tpl, `div.corner`, HTMLDivElement); - - /** - * @const {!Line} - * @private - */ - this.prevLine_ = - new Line(dom.getAllFrom(tpl, `div.line`, HTMLDivElement)[0]); - - /** - * @const {!Line} - * @private - */ - this.nextLine_ = - new Line(dom.getAllFrom(tpl, `div.line`, HTMLDivElement)[1]); - - container.appendChild(tpl); - } - - /** - * @param {!Point} pt - * @param {!Point} prevPt - * @param {!Point} nextPt - */ - place(pt, prevPt, nextPt) { - this.corner_.attributeStyleMap.set('left', CSS.px(pt.x)); - this.corner_.attributeStyleMap.set('top', CSS.px(pt.y)); - this.prevLine_.place( - {angle: vectorFromPoints(prevPt, pt).cssRotateAngle()}); - this.nextLine_.place( - {angle: vectorFromPoints(nextPt, pt).cssRotateAngle()}); - } -} - -/** - * Timeout to show toast message when no document is detected within the time. - */ -const SHOW_NO_DOCUMENT_TOAST_TIMEOUT_MS = 4000; - -/** - * An overlay to show document corner rectangles over preview. - */ -export class DocumentCornerOverlay { - /** - * @param {!function(!Point): !Promise<void>} updatePointOfInterest function - * to update point of interest on the stream. - * @public - */ - constructor(updatePointOfInterest) { - /** - * @const {!HTMLDivElement} - * @private - */ - this.overlay_ = dom.get('#preview-document-corner-overlay', HTMLDivElement); - - /** - * @const {!HTMLDivElement} - * @private - */ - this.noDocumentToast_ = - dom.getFrom(this.overlay_, '.no-document-toast', HTMLDivElement); - - /** - * @const {!HTMLDivElement} - * @private - */ - this.cornerContainer_ = - dom.getFrom(this.overlay_, '.corner-container', HTMLDivElement); - - /** - * @const {!function(!Point): !Promise<void>} - */ - this.updatePointOfInterest_ = updatePointOfInterest; - - /** - * @type {?string} - * @private - */ - this.deviceId_ = null; - - /** - * @type {?MojoEndpoint} - * @private - */ - this.observer_ = null; - - /** - * @type {!Array<!Line>} - * @private - */ - this.sides_ = (() => { - const lines = []; - for (let i = 0; i < 4; i++) { - const tpl = util.instantiateTemplate('#document-side-template'); - const el = dom.getFrom(tpl, `div`, HTMLDivElement); - lines.push(new Line(el)); - this.cornerContainer_.appendChild(tpl); - } - return lines; - })(); - - /** - * @type {!Array<!Corner>} - * @private - */ - this.corners_ = (() => { - const corners = []; - for (let i = 0; i < 4; i++) { - corners.push(new Corner(this.cornerContainer_)); - } - return corners; - })(); - - /** - * @type {?number} - * @private - */ - this.noDocumentTimerId_ = null; - - /** - * Previous document area which are used to calculate the point of interest. - * @type {!DocumentArea} - * @private - */ - this.prevDocArea_ = null; - - this.hide_(); - } - - /** - * Attaches to camera with specified device id. - * @param {string} deviceId - */ - attach(deviceId) { - assert(this.deviceId_ === null); - this.deviceId_ = deviceId; - } - - /** - * Detaches from previous attached camera. - * @return {!Promise} - */ - async detach() { - await this.stop(); - this.deviceId_ = null; - } - - /** - * @return {!Promise} - */ - async start() { - if (this.observer_ !== null) { - return; - } - const deviceOperator = await DeviceOperator.getInstance(); - if (deviceOperator === null) { - // Skip showing indicator on fake camera. - return; - } - this.observer_ = await deviceOperator.registerDocumentCornersObserver( - assertString(this.deviceId_), (corners) => { - if (corners.length === 0) { - this.onNoCornerDetected_(); - return; - } - this.maybeUpdatePointOfInterest_(corners); - const rect = this.cornerContainer_.getBoundingClientRect(); - const toOverlaySpace = (pt) => - new Point(rect.width * pt.x, rect.height * pt.y); - this.onCornerDetected_(corners.map(toOverlaySpace)); - }); - this.hide_(); - this.clearNoDocumentTimer_(); - this.setNoDocumentTimer_(); - } - - /** - * @return {!Promise} - */ - async stop() { - if (this.observer_ === null) { - return; - } - closeEndpoint(this.observer_); - this.observer_ = null; - this.hide_(); - this.clearNoDocumentTimer_(); - } - - /** - * @return {boolean} - */ - isEnabled() { - return this.observer_ !== null; - } - - /** - * @private - */ - onNoCornerDetected_() { - this.hideIndicators_(); - if (this.isNoDocumentToastShown_()) { - return; - } - if (this.noDocumentTimerId_ === null) { - this.setNoDocumentTimer_(); - } - } - - /** - * @param {!Array<!PointF>} corners - * @return {!Promise<void>} - */ - async maybeUpdatePointOfInterest_(corners) { - assert(corners.length === 4); - - const newDocArea = (() => { - let centerX = 0; - let centerY = 0; - let maxEdgeLength = 0; - const shouldUpdatePOI = (() => { - let isPreviousPOIOutsideNewDoc = this.prevDocArea_ === null; - const {x: xp, y: yp} = this.prevDocArea_?.center || {x: 0, y: 0}; - for (let i = 0; i < corners.length; ++i) { - const {x: x1, y: y1} = corners[i]; - const {x: x2, y: y2} = corners[(i + 1) % 4]; - - centerX += x1 / 4; - centerY += y1 / 4; - - const edgeLength = (new Vector(x2 - x1, y2 - y1)).length(); - maxEdgeLength = Math.max(maxEdgeLength, edgeLength); - - const d = (x2 - x1) * (yp - y1) - (xp - x1) * (y2 - y1); - if (d >= 0) { - isPreviousPOIOutsideNewDoc = true; - } - } - const isDocScaleChanges = this.prevDocArea_ === null || - Math.abs(maxEdgeLength - this.prevDocArea_.scale) / - this.prevDocArea_.scale > - THRESHOLD_SCALE_DIFF; - return isPreviousPOIOutsideNewDoc || isDocScaleChanges; - })(); - if (!shouldUpdatePOI) { - return null; - } - return {center: new Point(centerX, centerY), scale: maxEdgeLength}; - })(); - - if (newDocArea !== null) { - try { - await this.updatePointOfInterest_(newDocArea.center); - } catch { - // POI might not be supported on device so it is acceptable to fail. - } - this.prevDocArea_ = newDocArea; - } - } - - /** - * @param {!Array<!Point>} corners - */ - onCornerDetected_(corners) { - this.hideNoDocumentToast_(); - this.clearNoDocumentTimer_(); - if (this.isIndicatorsShown_()) { - this.updateCorners_(corners); - } else { - toast.speak(I18nString.MSG_DOCUMENT_DETECTED); - this.showIndicators_(); - this.settleCorners_(corners); - } - } - - /** - * Place first 4 corners on the overlay and play settle animation. - * @param {!Array<!Point>} corners - * @private - */ - settleCorners_(corners) { - /** - * Start point(corner coordinates + outer shift) of settle animation. - * @param {!Point} corn - * @param {!Point} corn2 - * @param {!Point} corn3 - * @param {number} d - * @return {!Point} - */ - const calSettleStart = (corn, corn2, corn3, d) => { - const side = vectorFromPoints(corn2, corn); - const norm = side.normal().multiply(d); - - const side2 = vectorFromPoints(corn2, corn3); - const angle = side.rotation(side2); - const dir = side.direction().multiply(d / Math.tan(angle / 2)); - - return vectorFromPoints(corn2).add(norm).add(dir).point(); - }; - const starts = corners.map((_, idx) => { - const prevIdx = (idx + 3) % 4; - const nextIdx = (idx + 1) % 4; - return calSettleStart( - corners[prevIdx], corners[idx], corners[nextIdx], 50); - }); - - // Set start of dot transition. - starts.forEach((corn, idx) => { - const prevIdx = (idx + 3) % 4; - const nextIdx = (idx + 1) % 4; - this.corners_[idx].place(corn, starts[prevIdx], starts[nextIdx]); - }); - - // Set start of line transition. - this.sides_.forEach((line, i) => { - const startCorn = starts[i]; - const startCorn2 = starts[(i + 1) % 4]; - const startSide = vectorFromPoints(startCorn2, startCorn); - line.place({ - position: startCorn, - angle: startSide.cssRotateAngle(), - length: startSide.length(), - }); - }); - - /** @suppress {suspiciousCode} */ - this.cornerContainer_.offsetParent; // Force start state of transition. - - // Set end of dot transition. - corners.forEach((corn, i) => { - const prevIdx = (i + 3) % 4; - const nextIdx = (i + 1) % 4; - this.corners_[i].place(corn, corners[prevIdx], corners[nextIdx]); - }); - - this.sides_.forEach((line, i) => { - const endCorn = corners[i]; - const endCorn2 = corners[(i + 1) % 4]; - const endSide = vectorFromPoints(endCorn2, endCorn); - line.place({ - position: endCorn, - angle: endSide.cssRotateAngle(), - length: endSide.length(), - }); - }); - } - - /** - * Place first 4 corners on the overlay and play settle animation. - * @param {!Array<!Point>} corners - * @private - */ - updateCorners_(corners) { - corners.forEach((corn, i) => { - const prevIdx = (i + 3) % 4; - const nextIdx = (i + 1) % 4; - this.corners_[i].place(corn, corners[prevIdx], corners[nextIdx]); - }); - this.sides_.forEach((line, i) => { - const corn = corners[i]; - const corn2 = corners[(i + 1) % 4]; - const side = vectorFromPoints(corn2, corn); - line.place({ - position: corn, - angle: side.cssRotateAngle(), - length: side.length(), - }); - }); - } - - /** - * Hides overlay related UIs. - * @private - */ - hide_() { - this.hideIndicators_(); - this.hideNoDocumentToast_(); - } - - /** - * @private - * @return {boolean} - */ - isIndicatorsShown_() { - return this.overlay_.classList.contains('show-corner-indicator'); - } - - /** - * @private - */ - showIndicators_() { - this.overlay_.classList.add('show-corner-indicator'); - } - - /** - * @private - */ - hideIndicators_() { - this.overlay_.classList.remove('show-corner-indicator'); - } - - /** - * @private - */ - showNoDocumentToast_() { - this.noDocumentToast_.attributeStyleMap.delete('visibility'); - } - - /** - * @private - */ - hideNoDocumentToast_() { - this.noDocumentToast_.attributeStyleMap.set('visibility', 'hidden'); - } - - /** - * @private - * @return {boolean} - */ - isNoDocumentToastShown_() { - return !this.noDocumentToast_.attributeStyleMap.has('visibility'); - } - - /** - * @private - */ - setNoDocumentTimer_() { - if (this.noDocumentTimerId_ !== null) { - clearTimeout(this.noDocumentTimerId_); - } - this.noDocumentTimerId_ = setTimeout(() => { - this.showNoDocumentToast_(); - this.clearNoDocumentTimer_(); - }, SHOW_NO_DOCUMENT_TOAST_TIMEOUT_MS); - } - - /** - * @private - */ - clearNoDocumentTimer_() { - if (this.noDocumentTimerId_ !== null) { - clearTimeout(this.noDocumentTimerId_); - this.noDocumentTimerId_ = null; - } - } -}
diff --git a/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.ts b/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.ts new file mode 100644 index 0000000..cc19b818 --- /dev/null +++ b/ash/webui/camera_app_ui/resources/js/views/camera/document_corner_overlay.ts
@@ -0,0 +1,452 @@ +// Copyright 2021 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import {assert, assertInstanceof, assertString} from '../../assert.js'; +import * as dom from '../../dom.js'; +import { + Point, + PolarVector, + Vector, + vectorFromPoints, +} from '../../geometry.js'; +import {I18nString} from '../../i18n_string.js'; +import {DeviceOperator} from '../../mojo/device_operator.js'; +import { + PointF, +} from '../../mojo/type.js'; +import { + closeEndpoint, + MojoEndpoint, +} from '../../mojo/util.js'; +import * as toast from '../../toast.js'; +import * as util from '../../util.js'; + +/** + * Base length of line without scaling in px. + */ +const BASE_LENGTH = 100; + +/** + * Threshold of the document area scale difference. + */ +const THRESHOLD_SCALE_DIFF = 0.3; + +/** + * Information to roughly represents the area of the document displaying on the + * stream. + * The |center| is the center point of the detected document area and the + * |scale| is calculated by the longest length among the document edges. + */ +interface DocumentArea { + center: Point; + scale: number; +} + +/** + * Controller for placing line-like element. + */ +class Line { + constructor(private readonly el: HTMLDivElement) {} + + /** + * @param params + * 'position' is the x, y coordinates of start endpoint in px. 'angle' is + * the rotate angle in rad. 'length' is the length of the line. + */ + place({position, angle, length}: { + position?: Point, + angle?: number, + length?: number, + }) { + const transforms = []; + if (position !== undefined) { + transforms.push(new CSSTranslate(CSS.px(position.x), CSS.px(position.y))); + } + if (angle !== undefined) { + const prevAngle = this.angle(); + if (prevAngle !== null) { + // Derive new angle from prevAngle + smallest rotation angle between new + // and prev to ensure the rotation transition like -pi to pi won't jump + // too much. + angle = prevAngle - + new PolarVector(angle, 1).rotation(new PolarVector(prevAngle, 1)); + } + transforms.push(new CSSRotate(CSS.rad(angle))); + } + if (length !== undefined) { + // To prevent floating point precision error during transform scale + // calculation. Scale from a larger base length instead of from 1px. See + // b/194264574. + this.el.attributeStyleMap.set('width', CSS.px(BASE_LENGTH)); + const scale = length / BASE_LENGTH; + transforms.push(new CSSScale(CSS.number(scale), CSS.number(1))); + } + this.el.attributeStyleMap.set( + 'transform', new CSSTransformValue(transforms)); + } + + private getTransform(): CSSTransformValue|null { + const trans = this.el.attributeStyleMap.get('transform'); + return trans && assertInstanceof(trans, CSSTransformValue); + } + + private angle(): number|null { + const transforms = this.getTransform(); + if (transforms === null) { + return null; + } + for (const transform of transforms) { + if (transform instanceof CSSRotate) { + return transform.angle.to('rad').value; + } + } + return null; + } +} + +/** + * Controller for placing corner indicator on preview overlay. + */ +class Corner { + private readonly corner: HTMLDivElement; + private readonly prevLine: Line; + private readonly nextLine: Line; + + constructor(container: HTMLDivElement) { + const tpl = util.instantiateTemplate('#document-corner-template'); + + this.corner = dom.getFrom(tpl, `div.corner`, HTMLDivElement); + this.prevLine = + new Line(dom.getAllFrom(tpl, `div.line`, HTMLDivElement)[0]); + this.nextLine = + new Line(dom.getAllFrom(tpl, `div.line`, HTMLDivElement)[1]); + + container.appendChild(tpl); + } + + place(pt: Point, prevPt: Point, nextPt: Point): void { + this.corner.attributeStyleMap.set('left', CSS.px(pt.x)); + this.corner.attributeStyleMap.set('top', CSS.px(pt.y)); + this.prevLine.place({angle: vectorFromPoints(prevPt, pt).cssRotateAngle()}); + this.nextLine.place({angle: vectorFromPoints(nextPt, pt).cssRotateAngle()}); + } +} + +/** + * Timeout to show toast message when no document is detected within the time. + */ +const SHOW_NO_DOCUMENT_TOAST_TIMEOUT_MS = 4000; + +/** + * An overlay to show document corner rectangles over preview. + */ +export class DocumentCornerOverlay { + private readonly overlay = + dom.get('#preview-document-corner-overlay', HTMLDivElement); + private readonly noDocumentToast: HTMLDivElement; + private readonly cornerContainer: HTMLDivElement; + private deviceId: string|null = null; + private observer: MojoEndpoint|null = null; + private readonly sides: Line[]; + private readonly corners: Corner[]; + private noDocumentTimerId: number|null = null; + + /** + * Previous document area which are used to calculate the point of interest. + */ + private prevDocArea: DocumentArea|null = null; + + /** + * @param updatePointOfInterest function to update point of interest on the + * stream. + */ + constructor( + private readonly updatePointOfInterest: (point: Point) => Promise<void>) { + this.noDocumentToast = + dom.getFrom(this.overlay, '.no-document-toast', HTMLDivElement); + this.cornerContainer = + dom.getFrom(this.overlay, '.corner-container', HTMLDivElement); + this.sides = (() => { + const lines = []; + for (let i = 0; i < 4; i++) { + const tpl = util.instantiateTemplate('#document-side-template'); + const el = dom.getFrom(tpl, `div`, HTMLDivElement); + lines.push(new Line(el)); + this.cornerContainer.appendChild(tpl); + } + return lines; + })(); + + this.corners = (() => { + const corners = []; + for (let i = 0; i < 4; i++) { + corners.push(new Corner(this.cornerContainer)); + } + return corners; + })(); + + this.hide(); + } + + /** + * Attaches to camera with specified device id. + */ + attach(deviceId: string): void { + assert(this.deviceId === null); + this.deviceId = deviceId; + } + + /** + * Detaches from previous attached camera. + */ + async detach(): Promise<void> { + await this.stop(); + this.deviceId = null; + } + + async start(): Promise<void> { + if (this.observer !== null) { + return; + } + const deviceOperator = await DeviceOperator.getInstance(); + if (deviceOperator === null) { + // Skip showing indicator on fake camera. + return; + } + this.observer = await deviceOperator.registerDocumentCornersObserver( + assertString(this.deviceId), (corners) => { + if (corners.length === 0) { + this.onNoCornerDetected(); + return; + } + this.maybeUpdatePointOfInterest(corners); + const rect = this.cornerContainer.getBoundingClientRect(); + const toOverlaySpace = (pt) => + new Point(rect.width * pt.x, rect.height * pt.y); + this.onCornerDetected(corners.map(toOverlaySpace)); + }); + this.hide(); + this.clearNoDocumentTimer(); + this.setNoDocumentTimer(); + } + + async stop(): Promise<void> { + if (this.observer === null) { + return; + } + closeEndpoint(this.observer); + this.observer = null; + this.hide(); + this.clearNoDocumentTimer(); + } + + isEnabled(): boolean { + return this.observer !== null; + } + + private onNoCornerDetected() { + this.hideIndicators(); + if (this.isNoDocumentToastShown()) { + return; + } + if (this.noDocumentTimerId === null) { + this.setNoDocumentTimer(); + } + } + + private async maybeUpdatePointOfInterest(corners: PointF[]): Promise<void> { + assert(corners.length === 4); + + const newDocArea = (() => { + let centerX = 0; + let centerY = 0; + let maxEdgeLength = 0; + const shouldUpdatePOI = (() => { + let isPreviousPOIOutsideNewDoc = this.prevDocArea === null; + const {x: xp, y: yp} = this.prevDocArea?.center || {x: 0, y: 0}; + for (let i = 0; i < corners.length; ++i) { + const {x: x1, y: y1} = corners[i]; + const {x: x2, y: y2} = corners[(i + 1) % 4]; + + centerX += x1 / 4; + centerY += y1 / 4; + + const edgeLength = (new Vector(x2 - x1, y2 - y1)).length(); + maxEdgeLength = Math.max(maxEdgeLength, edgeLength); + + const d = (x2 - x1) * (yp - y1) - (xp - x1) * (y2 - y1); + if (d >= 0) { + isPreviousPOIOutsideNewDoc = true; + } + } + const isDocScaleChanges = this.prevDocArea === null || + Math.abs(maxEdgeLength - this.prevDocArea.scale) / + this.prevDocArea.scale > + THRESHOLD_SCALE_DIFF; + return isPreviousPOIOutsideNewDoc || isDocScaleChanges; + })(); + if (!shouldUpdatePOI) { + return null; + } + return {center: new Point(centerX, centerY), scale: maxEdgeLength}; + })(); + + if (newDocArea !== null) { + try { + await this.updatePointOfInterest(newDocArea.center); + } catch { + // POI might not be supported on device so it is acceptable to fail. + } + this.prevDocArea = newDocArea; + } + } + + private onCornerDetected(corners: Point[]) { + this.hideNoDocumentToast(); + this.clearNoDocumentTimer(); + if (this.isIndicatorsShown()) { + this.updateCorners(corners); + } else { + toast.speak(I18nString.MSG_DOCUMENT_DETECTED); + this.showIndicators(); + this.settleCorners(corners); + } + } + + /** + * Place first 4 corners on the overlay and play settle animation. + */ + private settleCorners(corners: Point[]) { + /** + * Start point(corner coordinates + outer shift) of settle animation. + */ + const calSettleStart = + (corn: Point, corn2: Point, corn3: Point, d: number): Point => { + const side = vectorFromPoints(corn2, corn); + const norm = side.normal().multiply(d); + + const side2 = vectorFromPoints(corn2, corn3); + const angle = side.rotation(side2); + const dir = side.direction().multiply(d / Math.tan(angle / 2)); + + return vectorFromPoints(corn2).add(norm).add(dir).point(); + }; + const starts = corners.map((_, idx) => { + const prevIdx = (idx + 3) % 4; + const nextIdx = (idx + 1) % 4; + return calSettleStart( + corners[prevIdx], corners[idx], corners[nextIdx], 50); + }); + + // Set start of dot transition. + starts.forEach((corn, idx) => { + const prevIdx = (idx + 3) % 4; + const nextIdx = (idx + 1) % 4; + this.corners[idx].place(corn, starts[prevIdx], starts[nextIdx]); + }); + + // Set start of line transition. + this.sides.forEach((line, i) => { + const startCorn = starts[i]; + const startCorn2 = starts[(i + 1) % 4]; + const startSide = vectorFromPoints(startCorn2, startCorn); + line.place({ + position: startCorn, + angle: startSide.cssRotateAngle(), + length: startSide.length(), + }); + }); + + /** @suppress {suspiciousCode} */ + this.cornerContainer.offsetParent; // Force start state of transition. + + // Set end of dot transition. + corners.forEach((corn, i) => { + const prevIdx = (i + 3) % 4; + const nextIdx = (i + 1) % 4; + this.corners[i].place(corn, corners[prevIdx], corners[nextIdx]); + }); + + this.sides.forEach((line, i) => { + const endCorn = corners[i]; + const endCorn2 = corners[(i + 1) % 4]; + const endSide = vectorFromPoints(endCorn2, endCorn); + line.place({ + position: endCorn, + angle: endSide.cssRotateAngle(), + length: endSide.length(), + }); + }); + } + + /** + * Place first 4 corners on the overlay and play settle animation. + */ + private updateCorners(corners: Point[]) { + corners.forEach((corn, i) => { + const prevIdx = (i + 3) % 4; + const nextIdx = (i + 1) % 4; + this.corners[i].place(corn, corners[prevIdx], corners[nextIdx]); + }); + this.sides.forEach((line, i) => { + const corn = corners[i]; + const corn2 = corners[(i + 1) % 4]; + const side = vectorFromPoints(corn2, corn); + line.place({ + position: corn, + angle: side.cssRotateAngle(), + length: side.length(), + }); + }); + } + + /** + * Hides overlay related UIs. + */ + private hide() { + this.hideIndicators(); + this.hideNoDocumentToast(); + } + + private isIndicatorsShown(): boolean { + return this.overlay.classList.contains('show-corner-indicator'); + } + + private showIndicators() { + this.overlay.classList.add('show-corner-indicator'); + } + + private hideIndicators() { + this.overlay.classList.remove('show-corner-indicator'); + } + + private showNoDocumentToast() { + this.noDocumentToast.attributeStyleMap.delete('visibility'); + } + + private hideNoDocumentToast() { + this.noDocumentToast.attributeStyleMap.set('visibility', 'hidden'); + } + + private isNoDocumentToastShown(): boolean { + return !this.noDocumentToast.attributeStyleMap.has('visibility'); + } + + private setNoDocumentTimer() { + if (this.noDocumentTimerId !== null) { + clearTimeout(this.noDocumentTimerId); + } + this.noDocumentTimerId = setTimeout(() => { + this.showNoDocumentToast(); + this.clearNoDocumentTimer(); + }, SHOW_NO_DOCUMENT_TOAST_TIMEOUT_MS); + } + + private clearNoDocumentTimer() { + if (this.noDocumentTimerId !== null) { + clearTimeout(this.noDocumentTimerId); + this.noDocumentTimerId = null; + } + } +}
diff --git a/ash/webui/camera_app_ui/resources/js/views/ptz_panel.js b/ash/webui/camera_app_ui/resources/js/views/ptz_panel.js deleted file mode 100644 index 4925142..0000000 --- a/ash/webui/camera_app_ui/resources/js/views/ptz_panel.js +++ /dev/null
@@ -1,469 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import {assertInstanceof} from '../assert.js'; -import {AsyncJobQueue} from '../async_job_queue.js'; -import * as dom from '../dom.js'; -import * as focusRing from '../focus_ring.js'; -import * as metrics from '../metrics.js'; -import * as nav from '../nav.js'; -import * as state from '../state.js'; -import * as tooltip from '../tooltip.js'; -import {ViewName} from '../type.js'; -import {DelayInterval} from '../util.js'; - -import {PTZPanelOptions, View} from './view.js'; - -/** - * A set of vid:pid of digital zoom cameras whose PT control is disabled when - * all zooming out. - * @const {!Set<string>} - */ -const digitalZoomCameras = new Set([ - '046d:0809', - '046d:0823', - '046d:0825', - '046d:082d', - '046d:0843', - '046d:085c', - '046d:085e', - '046d:0893', -]); - -/** - * Detects hold gesture on UI and triggers corresponding handler. - * @param {{ - * button: !HTMLButtonElement, - * handlePress: function(): *, - * handleHold: function(): *, - * handleRelease: function(): *, - * pressTimeout: number, - * holdInterval: number, - * }} params For the first press, triggers |handlePress| handler once. When - * holding UI for more than |pressTimeout| ms, triggers |handleHold| handler - * every |holdInterval| ms. Triggers |handleRelease| once the user releases the - * button. - */ -function detectHoldGesture({ - button, - handlePress, - handleHold, - handleRelease, - pressTimeout, - holdInterval, -}) { - /** - * @type {?DelayInterval} - */ - let interval = null; - - const press = () => { - if (interval !== null) { - interval.stop(); - } - handlePress(); - interval = new DelayInterval(handleHold, pressTimeout, holdInterval); - }; - - const release = () => { - if (interval !== null) { - interval.stop(); - interval = null; - } - handleRelease(); - }; - - button.onpointerdown = press; - button.onpointerleave = release; - button.onpointerup = release; - button.onkeydown = ({key}) => { - if (key === 'Enter' || key === ' ') { - press(); - } - }; - button.onkeyup = ({key}) => { - if (key === 'Enter' || key === ' ') { - release(); - } - }; - // Prevent context menu popping out when touch hold buttons. - button.oncontextmenu = () => false; -} - -/** - * View controller for PTZ panel. - */ -export class PTZPanel extends View { - /** - * @public - */ - constructor() { - super( - ViewName.PTZ_PANEL, - {dismissByEsc: true, dismissByBackgroundClick: true}); - - /** - * Video track of opened stream having PTZ support. - * @private {?MediaStreamTrack} - */ - this.track_ = null; - - /** - * @type {?function(): !Promise} - * @private - */ - this.resetPTZ_ = null; - - /** - * @private {!HTMLDivElement} - * @const - */ - this.panel_ = dom.get('#ptz-panel', HTMLDivElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.resetAll_ = dom.get('#ptz-reset-all', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.panLeft_ = dom.get('#pan-left', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.panRight_ = dom.get('#pan-right', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.tiltUp_ = dom.get('#tilt-up', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.tiltDown_ = dom.get('#tilt-down', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.zoomIn_ = dom.get('#zoom-in', HTMLButtonElement); - - /** - * @private {!HTMLButtonElement} - * @const - */ - this.zoomOut_ = dom.get('#zoom-out', HTMLButtonElement); - - /** - * @type {?function(boolean): void} - * @private - */ - this.mirrorObserver_ = null; - - /** - * Queues asynchronous pan change jobs in sequence. - * @type {!AsyncJobQueue} - * @private - */ - this.panQueues_ = new AsyncJobQueue(); - - /** - * Queues asynchronous tilt change jobs in sequence. - * @type {!AsyncJobQueue} - * @private - */ - this.tiltQueues_ = new AsyncJobQueue(); - - /** - * Queues asynchronous zoom change jobs in sequence. - * @type {!AsyncJobQueue} - * @private - */ - this.zoomQueues_ = new AsyncJobQueue(); - - /** - * Whether the camera associated with current track is a digital zoom - * cameras whose PT control is disabled when all zooming out. - * @type {boolean} - * @private - */ - this.isDigitalZoom_ = false; - - [this.panLeft_, this.panRight_, this.tiltUp_, this.tiltDown_, this.zoomIn_, - this.zoomOut_] - .forEach((el) => { - el.addEventListener( - focusRing.FOCUS_RING_UI_RECT_EVENT_NAME, (evt) => { - if (!(state.get(state.State.HAS_PAN_SUPPORT) && - state.get(state.State.HAS_TILT_SUPPORT) && - state.get(state.State.HAS_ZOOM_SUPPORT))) { - return; - } - const style = getComputedStyle(el, '::before'); - const getStyleValue = (attr) => { - const px = style.getPropertyValue(attr); - return Number(px.replace(/^([\d.]+)px$/, '$1')); - }; - const pRect = el.getBoundingClientRect(); - focusRing.setUIRect(new DOMRectReadOnly( - /* x */ pRect.left + getStyleValue('left'), - /* y */ pRect.top + getStyleValue('top'), - getStyleValue('width'), getStyleValue('height'))); - evt.preventDefault(); - }); - }); - - state.addObserver(state.State.STREAMING, (streaming) => { - if (!streaming && state.get(this.name)) { - nav.close(this.name); - } - }); - - [this.panRight_, this.panLeft_, this.tiltUp_, this.tiltDown_].forEach( - (btn) => { - btn.addEventListener(tooltip.TOOLTIP_POSITION_EVENT_NAME, (e) => { - const target = assertInstanceof(e.target, HTMLElement); - const pRect = target.offsetParent.getBoundingClientRect(); - const style = getComputedStyle(target, '::before'); - const getStyleValue = (attr) => { - const px = style.getPropertyValue(attr); - return Number(px.replace(/^([\d.]+)px$/, '$1')); - }; - const offsetX = getStyleValue('left'); - const offsetY = getStyleValue('top'); - const width = getStyleValue('width'); - const height = getStyleValue('height'); - tooltip.position(new DOMRectReadOnly( - /* x */ pRect.left + offsetX, /* y */ pRect.top + offsetY, - width, height)); - e.preventDefault(); - }); - }); - - this.setMirrorObserver_(() => { - this.checkDisabled_(); - }); - } - - /** - * @private - */ - removeMirrorObserver_() { - if (this.mirrorObserver_ !== null) { - state.removeObserver(state.State.MIRROR, this.mirrorObserver_); - } - } - - /** - * @param {function(boolean): void} observer - * @private - */ - setMirrorObserver_(observer) { - this.removeMirrorObserver_(); - this.mirrorObserver_ = observer; - state.addObserver(state.State.MIRROR, observer); - } - - /** - * Binds buttons with the attribute name to be controlled. - * @param {string} attr One of pan, tilt, zoom attribute name to be bound. - * @param {!HTMLButtonElement} incBtn Button for increasing the value. - * @param {!HTMLButtonElement} decBtn Button for decreasing the value. - * @return {!AsyncJobQueue} - */ - bind_(attr, incBtn, decBtn) { - const {min, max, step} = this.track_.getCapabilities()[attr]; - const getCurrent = () => this.track_.getSettings()[attr]; - this.checkDisabled_(); - - const queue = new AsyncJobQueue(); - - /** - * Returns a function triggering |attr| change of preview moving toward - * +1/-1 direction with |deltaInPercent|. - * @param {number} deltaInPercent Change rate in percent with respect to - * min/max range. - * @param {number} direction Change in +1 or -1 direction. - * @return {function(): void} - */ - const onTrigger = (deltaInPercent, direction) => { - const delta = - Math.max(Math.round((max - min) / step * deltaInPercent / 100), 1) * - step * direction; - return () => { - queue.push(async () => { - if (!this.track_.enabled) { - return; - } - const current = getCurrent(); - const needMirror = attr === 'pan' && state.get(state.State.MIRROR); - const next = Math.max( - min, Math.min(max, current + delta * (needMirror ? -1 : 1))); - if (current === next) { - return; - } - await this.track_.applyConstraints({advanced: [{[attr]: next}]}); - this.checkDisabled_(); - }); - }; - }; - - const PRESS_TIMEOUT = 500; - const HOLD_INTERVAL = 200; - const pressStepPercent = attr === 'zoom' ? 10 : 1; - const holdStepPercent = HOLD_INTERVAL / 1000; // Move 1% in 1000 ms. - detectHoldGesture({ - button: incBtn, - handlePress: onTrigger(pressStepPercent, 1), - handleHold: onTrigger(holdStepPercent, 1), - handleRelease: () => queue.clear(), - pressTimeout: PRESS_TIMEOUT, - holdInterval: HOLD_INTERVAL, - }); - detectHoldGesture({ - button: decBtn, - handlePress: onTrigger(pressStepPercent, -1), - handleHold: onTrigger(holdStepPercent, -1), - handleRelease: () => queue.clear(), - pressTimeout: PRESS_TIMEOUT, - holdInterval: HOLD_INTERVAL, - }); - - return queue; - } - - /** - * @return {boolean} - * @private - */ - canPan_() { - return this.track_.getCapabilities().pan !== undefined; - } - - /** - * @return {boolean} - * @private - */ - canTilt_() { - return this.track_.getCapabilities().tilt !== undefined; - } - - /** - * @return {boolean} - * @private - */ - canZoom_() { - return this.track_.getCapabilities().zoom !== undefined; - } - - /** - * @private - */ - checkDisabled_() { - if (this.track_ === null) { - return; - } - const capabilities = this.track_.getCapabilities(); - const settings = this.track_.getSettings(); - const updateDisable = (incBtn, decBtn, attr) => { - const current = settings[attr]; - const {min, max, step} = capabilities[attr]; - decBtn.disabled = current - step < min; - incBtn.disabled = current + step > max; - }; - if (capabilities.zoom !== undefined) { - updateDisable(this.zoomIn_, this.zoomOut_, 'zoom'); - } - const allZoomOut = this.zoomOut_.disabled; - - if (capabilities.tilt !== undefined) { - if (allZoomOut && this.isDigitalZoom_) { - this.tiltUp_.disabled = this.tiltDown_.disabled = true; - } else { - updateDisable(this.tiltUp_, this.tiltDown_, 'tilt'); - } - } - if (capabilities.pan !== undefined) { - if (allZoomOut && this.isDigitalZoom_) { - this.panLeft_.disabled = this.panRight_.disabled = true; - } else { - let incBtn = this.panRight_; - let decBtn = this.panLeft_; - if (state.get(state.State.MIRROR)) { - ([incBtn, decBtn] = [decBtn, incBtn]); - } - updateDisable(incBtn, decBtn, 'pan'); - } - } - } - - /** - * @override - */ - entering(options) { - const {stream, vidPid, resetPTZ} = - assertInstanceof(options, PTZPanelOptions); - const {bottom, right} = - dom.get('#open-ptz-panel', HTMLButtonElement).getBoundingClientRect(); - this.panel_.style.bottom = `${window.innerHeight - bottom}px`; - this.panel_.style.left = `${right + 6}px`; - this.track_ = assertInstanceof(stream, MediaStream).getVideoTracks()[0]; - this.isDigitalZoom_ = state.get(state.State.USE_FAKE_CAMERA) || - (vidPid !== null && digitalZoomCameras.has(vidPid)); - this.resetPTZ_ = resetPTZ; - - - const canPan = this.canPan_(); - const canTilt = this.canTilt_(); - const canZoom = this.canZoom_(); - - metrics.sendOpenPTZPanelEvent({ - pan: canPan, - tilt: canTilt, - zoom: canZoom, - }); - - state.set(state.State.HAS_PAN_SUPPORT, canPan); - state.set(state.State.HAS_TILT_SUPPORT, canTilt); - state.set(state.State.HAS_ZOOM_SUPPORT, canZoom); - - if (canPan) { - this.panQueues_ = this.bind_('pan', this.panRight_, this.panLeft_); - } - - if (canTilt) { - this.tiltQueues_ = this.bind_('tilt', this.tiltUp_, this.tiltDown_); - } - - if (canZoom) { - this.zoomQueues_ = this.bind_('zoom', this.zoomIn_, this.zoomOut_); - } - - this.resetAll_.onclick = async () => { - await Promise.all([ - this.panQueues_.clear(), - this.tiltQueues_.clear(), - this.zoomQueues_.clear(), - ]); - await this.resetPTZ_(); - this.checkDisabled_(); - }; - } - - /** - * @override - */ - leaving() { - this.removeMirrorObserver_(); - return true; - } -}
diff --git a/ash/webui/camera_app_ui/resources/js/views/ptz_panel.ts b/ash/webui/camera_app_ui/resources/js/views/ptz_panel.ts new file mode 100644 index 0000000..dac5c9e --- /dev/null +++ b/ash/webui/camera_app_ui/resources/js/views/ptz_panel.ts
@@ -0,0 +1,378 @@ +// Copyright 2021 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import {assertInstanceof} from '../assert.js'; +import {AsyncJobQueue} from '../async_job_queue.js'; +import * as dom from '../dom.js'; +import * as focusRing from '../focus_ring.js'; +import * as metrics from '../metrics.js'; +import * as nav from '../nav.js'; +import * as state from '../state.js'; +import * as tooltip from '../tooltip.js'; +import {ViewName} from '../type.js'; +import {DelayInterval} from '../util.js'; + +import {EnterOptions, PTZPanelOptions, View} from './view.js'; + +/** + * A set of vid:pid of digital zoom cameras whose PT control is disabled when + * all zooming out. + */ +const digitalZoomCameras = new Set([ + '046d:0809', + '046d:0823', + '046d:0825', + '046d:082d', + '046d:0843', + '046d:085c', + '046d:085e', + '046d:0893', +]); + +/** + * Detects hold gesture on UI and triggers corresponding handler. + * @param params For the first press, triggers |handlePress| handler once. When + * holding UI for more than |pressTimeout| ms, triggers |handleHold| handler + * every |holdInterval| ms. Triggers |handleRelease| once the user releases the + * button. + */ +function detectHoldGesture({ + button, + handlePress, + handleHold, + handleRelease, + pressTimeout, + holdInterval, +}: { + button: HTMLButtonElement, + handlePress: () => void, + handleHold: () => void, + handleRelease: () => void, + pressTimeout: number, + holdInterval: number, +}) { + let interval: DelayInterval|null = null; + + const press = () => { + if (interval !== null) { + interval.stop(); + } + handlePress(); + interval = new DelayInterval(handleHold, pressTimeout, holdInterval); + }; + + const release = () => { + if (interval !== null) { + interval.stop(); + interval = null; + } + handleRelease(); + }; + + button.onpointerdown = press; + button.onpointerleave = release; + button.onpointerup = release; + button.onkeydown = ({key}) => { + if (key === 'Enter' || key === ' ') { + press(); + } + }; + button.onkeyup = ({key}) => { + if (key === 'Enter' || key === ' ') { + release(); + } + }; + // Prevent context menu popping out when touch hold buttons. + button.oncontextmenu = () => false; +} + +/** + * View controller for PTZ panel. + */ +export class PTZPanel extends View { + /** + * Video track of opened stream having PTZ support. + */ + private track: MediaStreamTrack|null = null; + + private resetPTZ: (() => Promise<void>)|null = null; + private readonly panel = dom.get('#ptz-panel', HTMLDivElement); + private readonly resetAll = dom.get('#ptz-reset-all', HTMLButtonElement); + private readonly panLeft = dom.get('#pan-left', HTMLButtonElement); + private readonly panRight = dom.get('#pan-right', HTMLButtonElement); + private readonly tiltUp = dom.get('#tilt-up', HTMLButtonElement); + private readonly tiltDown = dom.get('#tilt-down', HTMLButtonElement); + private readonly zoomIn = dom.get('#zoom-in', HTMLButtonElement); + private readonly zoomOut = dom.get('#zoom-out', HTMLButtonElement); + private mirrorObserver: ((mirror: boolean) => void)|null = null; + + /** + * Queues asynchronous pan change jobs in sequence. + */ + private panQueues = new AsyncJobQueue(); + + /** + * Queues asynchronous tilt change jobs in sequence. + */ + private tiltQueues = new AsyncJobQueue(); + + /** + * Queues asynchronous zoom change jobs in sequence. + */ + private zoomQueues = new AsyncJobQueue(); + + /** + * Whether the camera associated with current track is a digital zoom + * cameras whose PT control is disabled when all zooming out. + */ + private isDigitalZoom = false; + + constructor() { + super( + ViewName.PTZ_PANEL, + {dismissByEsc: true, dismissByBackgroundClick: true}); + + for (const el + of [this.panLeft, this.panRight, this.tiltUp, this.tiltDown, + this.zoomIn, this.zoomOut]) { + el.addEventListener(focusRing.FOCUS_RING_UI_RECT_EVENT_NAME, (evt) => { + if (!(state.get(state.State.HAS_PAN_SUPPORT) && + state.get(state.State.HAS_TILT_SUPPORT) && + state.get(state.State.HAS_ZOOM_SUPPORT))) { + return; + } + const style = getComputedStyle(el, '::before'); + const getStyleValue = (attr) => { + const px = style.getPropertyValue(attr); + return Number(px.replace(/^([\d.]+)px$/, '$1')); + }; + const pRect = el.getBoundingClientRect(); + focusRing.setUIRect(new DOMRectReadOnly( + /* x */ pRect.left + getStyleValue('left'), + /* y */ pRect.top + getStyleValue('top'), getStyleValue('width'), + getStyleValue('height'))); + evt.preventDefault(); + }); + } + + state.addObserver(state.State.STREAMING, (streaming) => { + if (!streaming && state.get(this.name)) { + nav.close(this.name); + } + }); + + for (const btn + of [this.panRight, this.panLeft, this.tiltUp, this.tiltDown]) { + btn.addEventListener(tooltip.TOOLTIP_POSITION_EVENT_NAME, (e) => { + const target = assertInstanceof(e.target, HTMLElement); + const pRect = target.offsetParent.getBoundingClientRect(); + const style = getComputedStyle(target, '::before'); + const getStyleValue = (attr) => { + const px = style.getPropertyValue(attr); + return Number(px.replace(/^([\d.]+)px$/, '$1')); + }; + const offsetX = getStyleValue('left'); + const offsetY = getStyleValue('top'); + const width = getStyleValue('width'); + const height = getStyleValue('height'); + tooltip.position(new DOMRectReadOnly( + /* x */ pRect.left + offsetX, /* y */ pRect.top + offsetY, width, + height)); + e.preventDefault(); + }); + } + + this.setMirrorObserver(() => { + this.checkDisabled(); + }); + } + + private removeMirrorObserver() { + if (this.mirrorObserver !== null) { + state.removeObserver(state.State.MIRROR, this.mirrorObserver); + } + } + + private setMirrorObserver(observer: (mirror: boolean) => void) { + this.removeMirrorObserver(); + this.mirrorObserver = observer; + state.addObserver(state.State.MIRROR, observer); + } + + /** + * Binds buttons with the attribute name to be controlled. + * @param attr One of pan, tilt, zoom attribute name to be bound. + * @param incBtn Button for increasing the value. + * @param decBtn Button for decreasing the value. + */ + private bind( + attr: string, incBtn: HTMLButtonElement, + decBtn: HTMLButtonElement): AsyncJobQueue { + const {min, max, step} = this.track.getCapabilities()[attr]; + const getCurrent = () => this.track.getSettings()[attr]; + this.checkDisabled(); + + const queue = new AsyncJobQueue(); + + /** + * Returns a function triggering |attr| change of preview moving toward + * +1/-1 direction with |deltaInPercent|. + * @param deltaInPercent Change rate in percent with respect to min/max + * range. + * @param direction Change in +1 or -1 direction. + */ + const onTrigger = (deltaInPercent: number, direction: number): () => + void => { + const delta = + Math.max( + Math.round((max - min) / step * deltaInPercent / 100), 1) * + step * direction; + return () => { + queue.push(async () => { + if (!this.track.enabled) { + return; + } + const current = getCurrent(); + const needMirror = + attr === 'pan' && state.get(state.State.MIRROR); + const next = Math.max( + min, Math.min(max, current + delta * (needMirror ? -1 : 1))); + if (current === next) { + return; + } + await this.track.applyConstraints({advanced: [{[attr]: next}]}); + this.checkDisabled(); + }); + }; + }; + + const PRESS_TIMEOUT = 500; + const HOLD_INTERVAL = 200; + const pressStepPercent = attr === 'zoom' ? 10 : 1; + const holdStepPercent = HOLD_INTERVAL / 1000; // Move 1% in 1000 ms. + detectHoldGesture({ + button: incBtn, + handlePress: onTrigger(pressStepPercent, 1), + handleHold: onTrigger(holdStepPercent, 1), + handleRelease: () => queue.clear(), + pressTimeout: PRESS_TIMEOUT, + holdInterval: HOLD_INTERVAL, + }); + detectHoldGesture({ + button: decBtn, + handlePress: onTrigger(pressStepPercent, -1), + handleHold: onTrigger(holdStepPercent, -1), + handleRelease: () => queue.clear(), + pressTimeout: PRESS_TIMEOUT, + holdInterval: HOLD_INTERVAL, + }); + + return queue; + } + + private canPan(): boolean { + return this.track.getCapabilities().pan !== undefined; + } + + private canTilt(): boolean { + return this.track.getCapabilities().tilt !== undefined; + } + + private canZoom(): boolean { + return this.track.getCapabilities().zoom !== undefined; + } + + private checkDisabled() { + if (this.track === null) { + return; + } + const capabilities = this.track.getCapabilities(); + const settings = this.track.getSettings(); + const updateDisable = (incBtn, decBtn, attr) => { + const current = settings[attr]; + const {min, max, step} = capabilities[attr]; + decBtn.disabled = current - step < min; + incBtn.disabled = current + step > max; + }; + if (capabilities.zoom !== undefined) { + updateDisable(this.zoomIn, this.zoomOut, 'zoom'); + } + const allZoomOut = this.zoomOut.disabled; + + if (capabilities.tilt !== undefined) { + if (allZoomOut && this.isDigitalZoom) { + this.tiltUp.disabled = this.tiltDown.disabled = true; + } else { + updateDisable(this.tiltUp, this.tiltDown, 'tilt'); + } + } + if (capabilities.pan !== undefined) { + if (allZoomOut && this.isDigitalZoom) { + this.panLeft.disabled = this.panRight.disabled = true; + } else { + let incBtn = this.panRight; + let decBtn = this.panLeft; + if (state.get(state.State.MIRROR)) { + ([incBtn, decBtn] = [decBtn, incBtn]); + } + updateDisable(incBtn, decBtn, 'pan'); + } + } + } + + entering(options: EnterOptions): void { + const {stream, vidPid, resetPTZ} = + assertInstanceof(options, PTZPanelOptions); + const {bottom, right} = + dom.get('#open-ptz-panel', HTMLButtonElement).getBoundingClientRect(); + this.panel.style.bottom = `${window.innerHeight - bottom}px`; + this.panel.style.left = `${right + 6}px`; + this.track = assertInstanceof(stream, MediaStream).getVideoTracks()[0]; + this.isDigitalZoom = state.get(state.State.USE_FAKE_CAMERA) || + (vidPid !== null && digitalZoomCameras.has(vidPid)); + this.resetPTZ = resetPTZ; + + + const canPan = this.canPan(); + const canTilt = this.canTilt(); + const canZoom = this.canZoom(); + + metrics.sendOpenPTZPanelEvent({ + pan: canPan, + tilt: canTilt, + zoom: canZoom, + }); + + state.set(state.State.HAS_PAN_SUPPORT, canPan); + state.set(state.State.HAS_TILT_SUPPORT, canTilt); + state.set(state.State.HAS_ZOOM_SUPPORT, canZoom); + + if (canPan) { + this.panQueues = this.bind('pan', this.panRight, this.panLeft); + } + + if (canTilt) { + this.tiltQueues = this.bind('tilt', this.tiltUp, this.tiltDown); + } + + if (canZoom) { + this.zoomQueues = this.bind('zoom', this.zoomIn, this.zoomOut); + } + + this.resetAll.onclick = async () => { + await Promise.all([ + this.panQueues.clear(), + this.tiltQueues.clear(), + this.zoomQueues.clear(), + ]); + await this.resetPTZ(); + this.checkDisabled(); + }; + } + + leaving(): boolean { + this.removeMirrorObserver(); + return true; + } +}
diff --git a/ash/webui/camera_app_ui/resources/js/views/settings.js b/ash/webui/camera_app_ui/resources/js/views/settings.js deleted file mode 100644 index 776f207..0000000 --- a/ash/webui/camera_app_ui/resources/js/views/settings.js +++ /dev/null
@@ -1,742 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import { - PhotoConstraintsPreferrer, // eslint-disable-line no-unused-vars - VideoConstraintsPreferrer, // eslint-disable-line no-unused-vars -} from '../device/constraints_preferrer.js'; -// eslint-disable-next-line no-unused-vars -import {DeviceInfoUpdater} from '../device/device_info_updater.js'; -import * as dom from '../dom.js'; -import {reportError} from '../error.js'; -import {setExpertMode} from '../expert.js'; -import {I18nString} from '../i18n_string.js'; -import * as loadTimeData from '../models/load_time_data.js'; -import {ChromeHelper} from '../mojo/chrome_helper.js'; -import * as nav from '../nav.js'; -import * as state from '../state.js'; -import { - ErrorLevel, - ErrorType, - Facing, - Resolution, // eslint-disable-line no-unused-vars - ResolutionList, // eslint-disable-line no-unused-vars - ViewName, -} from '../type.js'; -import * as util from '../util.js'; - -import {View} from './view.js'; - -/* eslint-disable no-unused-vars */ - -/** - * Object of device id, preferred capture resolution and all - * available resolutions for a particular video device. - * @typedef {{prefResol: !Resolution, resols: !ResolutionList}} - */ -let ResolutionConfig; - -/** - * Photo and video resolution configuration for a particular video device. - * @typedef {{ - * deviceId: string, - * photo: !ResolutionConfig, - * video: !ResolutionConfig, - * }} - */ -let DeviceSetting; - -/* eslint-enable no-unused-vars */ - -/** - * Base controller of settings view. - */ -export class BaseSettings extends View { - /** - * @param {!ViewName} name Name of the view. - * @param {!Object<string, function(!Event=)>=} itemHandlers Click-handlers - * mapped by element ids. - */ - constructor(name, itemHandlers = {}) { - super(name, {dismissByEsc: true, dismissByBackgroundClick: true}); - - dom.getFrom(this.root, '.menu-header button', HTMLButtonElement) - .addEventListener('click', () => this.leave()); - dom.getAllFrom(this.root, '.menu-item', HTMLElement).forEach((element) => { - const handler = itemHandlers[element.id]; - if (handler !== undefined) { - element.addEventListener('click', handler); - } - }); - - /** - * The default focus element when focus on view is reset. - * @const {!HTMLElement} - * @private - */ - this.defaultFocus_ = dom.getFrom(this.root, '[tabindex]', HTMLElement); - - /** - * The DOM element to be focused when the focus on view is reset by calling - * |focus()|. - * @type {!HTMLElement} - * @private - */ - this.focusElement_ = this.defaultFocus_; - } - - /** - * @override - */ - focus() { - this.focusElement_.focus(); - } - - /** - * @override - */ - leaving() { - this.focusElement_ = this.defaultFocus_; - return super.leaving(); - } - - /** - * Opens sub-settings. - * @param {!HTMLElement} opener The DOM element triggering the open. - * @param {!ViewName} name Name of settings view. - * @protected - */ - openSubSettings(opener, name) { - this.focusElement_ = opener; - // Dismiss primary-settings if sub-settings was dismissed by background - // click. - nav.open(name).then((cond) => cond && cond['bkgnd'] && this.leave(cond)); - } -} - -/** - * Controller of primary settings view. - */ -export class PrimarySettings extends BaseSettings { - /** - * @param {!DeviceInfoUpdater} infoUpdater - * @param {!PhotoConstraintsPreferrer} photoPreferrer - * @param {!VideoConstraintsPreferrer} videoPreferrer - */ - constructor(infoUpdater, photoPreferrer, videoPreferrer) { - const openHandler = (openerId, viewName) => { - const opener = dom.get(`#${openerId}`, HTMLElement); - return {[openerId]: () => this.openSubSettings(opener, viewName)}; - }; - super(ViewName.SETTINGS, { - ...openHandler('settings-gridtype', ViewName.GRID_SETTINGS), - ...openHandler('settings-timerdur', ViewName.TIMER_SETTINGS), - ...openHandler('settings-resolution', ViewName.RESOLUTION_SETTINGS), - ...openHandler('settings-expert', ViewName.EXPERT_SETTINGS), - 'settings-feedback': () => { - // Prevent setting view overlapping preview when sending app window - // feedback screenshot b/155938542. - this.leave(); - ChromeHelper.getInstance().openFeedbackDialog( - loadTimeData.getI18nMessage( - I18nString.FEEDBACK_DESCRIPTION_PLACEHOLDER)); - }, - 'settings-help': () => util.openHelp(), - }); - - /** - * @const {!Array<!View>} - * @private - */ - this.subViews_ = [ - new BaseSettings(ViewName.GRID_SETTINGS), - new BaseSettings(ViewName.TIMER_SETTINGS), - new ResolutionSettings(infoUpdater, photoPreferrer, videoPreferrer), - new BaseSettings(ViewName.EXPERT_SETTINGS), - ]; - - /** - * @type {number} - * @private - */ - this.headerClickedCount_ = 0; - - /** - * @type {number|null} - * @private - */ - this.headerClickedLastTime_ = null; - - const header = dom.get('#settings-header', HTMLElement); - header.addEventListener('click', () => this.onHeaderClicked_()); - } - - /** - * Handle click on primary settings header (used to trigger expert mode). - * @private - */ - onHeaderClicked_() { - const reset = () => { - this.headerClickedCount_ = 0; - this.headerClickedLastTime_ = null; - }; - - // Reset the counter if last click is more than 1 second ago. - if (this.headerClickedLastTime_ !== null && - (Date.now() - this.headerClickedLastTime_) > 1000) { - reset(); - } - - this.headerClickedCount_++; - this.headerClickedLastTime_ = Date.now(); - - if (this.headerClickedCount_ === 5) { - setExpertMode(true); - reset(); - } - } - - /** - * @override - */ - getSubViews() { - return this.subViews_; - } -} - -/** - * Controller of resolution settings view. - */ -export class ResolutionSettings extends BaseSettings { - /** - * @param {!DeviceInfoUpdater} infoUpdater - * @param {!PhotoConstraintsPreferrer} photoPreferrer - * @param {!VideoConstraintsPreferrer} videoPreferrer - */ - constructor(infoUpdater, photoPreferrer, videoPreferrer) { - /** - * @param {function(): ?DeviceSetting} getSetting - * @param {function(): !HTMLElement} getElement - * @param {boolean} isPhoto - * @return {function()} - */ - const createOpenMenuHandler = (getSetting, getElement, isPhoto) => () => { - const setting = getSetting(); - if (setting === null) { - reportError( - ErrorType.DEVICE_NOT_EXIST, ErrorLevel.ERROR, - new Error('Open settings of non-exist device.')); - return; - } - const element = getElement(); - if (element.classList.contains('multi-option')) { - if (isPhoto) { - this.openPhotoResSettings_(setting, element); - } else { - this.openVideoResSettings_(setting, element); - } - } - }; - super(ViewName.RESOLUTION_SETTINGS, { - 'settings-front-photores': createOpenMenuHandler( - () => this.frontSetting_, () => this.frontPhotoItem_, true), - 'settings-front-videores': createOpenMenuHandler( - () => this.frontSetting_, () => this.frontVideoItem_, false), - 'settings-back-photores': createOpenMenuHandler( - () => this.backSetting_, () => this.backPhotoItem_, true), - 'settings-back-videores': createOpenMenuHandler( - () => this.backSetting_, () => this.backVideoItem_, false), - }); - - /** - * @type {!PhotoConstraintsPreferrer} - * @private - */ - this.photoPreferrer_ = photoPreferrer; - - /** - * @type {!VideoConstraintsPreferrer} - * @private - */ - this.videoPreferrer_ = videoPreferrer; - - /** - * @const {!BaseSettings} - * @public - */ - this.photoResolutionSettings = - new BaseSettings(ViewName.PHOTO_RESOLUTION_SETTINGS); - - /** - * @const {!BaseSettings} - * @public - */ - this.videoResolutionSettings = - new BaseSettings(ViewName.VIDEO_RESOLUTION_SETTINGS); - - /** - * @type {!HTMLElement} - * @private - */ - this.resMenu_ = dom.getFrom(this.root, 'div.menu', HTMLDivElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.videoResMenu_ = dom.getFrom( - this.videoResolutionSettings.root, 'div.menu', HTMLDivElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.photoResMenu_ = dom.getFrom( - this.photoResolutionSettings.root, 'div.menu', HTMLDivElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.frontPhotoItem_ = dom.get('#settings-front-photores', HTMLElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.frontVideoItem_ = dom.get('#settings-front-videores', HTMLElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.backPhotoItem_ = dom.get('#settings-back-photores', HTMLElement); - - /** - * @type {!HTMLElement} - * @private - */ - this.backVideoItem_ = dom.get('#settings-back-videores', HTMLElement); - - /** - * Device setting of front camera. Null if no front camera. - * @type {?DeviceSetting} - * @private - */ - this.frontSetting_ = null; - - /** - * Device setting of back camera. Null if no back camera. - * @type {?DeviceSetting} - * @private - */ - this.backSetting_ = null; - - /** - * Device setting of external cameras. - * @type {!Array<!DeviceSetting>} - * @private - */ - this.externalSettings_ = []; - - /** - * Device id of currently opened resolution setting view. - * @type {?string} - * @private - */ - this.openedSettingDeviceId_ = null; - - infoUpdater.addDeviceChangeListener((updater) => { - const devices = updater.getCamera3DevicesInfo(); - if (devices === null) { - state.set(state.State.NO_RESOLUTION_SETTINGS, true); - return; - } - - this.frontSetting_ = this.backSetting_ = null; - this.externalSettings_ = []; - - devices.forEach(({deviceId, facing}) => { - const photoResols = - this.photoPreferrer_.getSupportedResolutions(deviceId); - const videoResols = - this.videoPreferrer_.getSupportedResolutions(deviceId); - const /** !DeviceSetting */ deviceSetting = { - deviceId, - photo: { - prefResol: /** @type {!Resolution} */ ( - photoPreferrer.getPrefResolution(deviceId)), - resols: - /* Filter out resolutions of megapixels < 0.1 i.e. megapixels - * 0.0*/ - photoResols.filter((r) => r.area >= 100000), - }, - video: { - prefResol: /** @type {!Resolution} */ ( - videoPreferrer.getPrefResolution(deviceId)), - resols: videoResols, - }, - }; - switch (facing) { - case Facing.USER: - this.frontSetting_ = deviceSetting; - break; - case Facing.ENVIRONMENT: - this.backSetting_ = deviceSetting; - break; - case Facing.EXTERNAL: - this.externalSettings_.push(deviceSetting); - break; - default: - reportError( - ErrorType.UNKNOWN_FACING, ErrorLevel.ERROR, - new Error(`Ignore device of unknown facing: ${facing}`)); - } - }); - this.updateResolutions_(); - }); - - this.photoPreferrer_.setPreferredResolutionChangeListener( - (...args) => this.updateSelectedPhotoResolution_(...args)); - this.videoPreferrer_.setPreferredResolutionChangeListener( - (...args) => this.updateSelectedVideoResolution_(...args)); - - // Flips 'disabled' of resolution options. - [state.State.CAMERA_CONFIGURING, state.State.TAKING].forEach((s) => { - state.addObserver(s, () => { - dom.getAll('.resolution-option>input', HTMLInputElement) - .forEach((e) => { - e.disabled = state.get(state.State.CAMERA_CONFIGURING) || - state.get(state.State.TAKING); - }); - }); - }); - } - - /** - * @override - */ - getSubViews() { - return [ - this.photoResolutionSettings, - this.videoResolutionSettings, - ]; - } - - /** - * Template for generating option text from photo resolution width and height. - * @param {!Resolution} r Resolution of text to be generated. - * @param {!ResolutionList} resolutions All available resolutions. - * @return {string} Text shown on resolution option item. - * @private - */ - photoOptTextTempl_(r, resolutions) { - /** - * @param {number} a - * @param {number} b - * @return {number} - */ - const gcd = (a, b) => (a === 0 ? b : gcd(b % a, a)); - /** - * @param {!Resolution} r - * @return {number} - */ - const toMegapixel = ({area}) => - area >= 1e6 ? Math.round(area / 1e6) : Math.round(area / 1e5) / 10; - const /** number */ d = gcd(r.width, r.height); - if (resolutions.some( - (findR) => !findR.equals(r) && r.aspectRatioEquals(findR) && - toMegapixel(r) === toMegapixel(findR))) { - return loadTimeData.getI18nMessage( - I18nString.LABEL_DETAIL_PHOTO_RESOLUTION, r.width / d, r.height / d, - r.width, r.height, toMegapixel(r)); - } else { - return loadTimeData.getI18nMessage( - I18nString.LABEL_PHOTO_RESOLUTION, r.width / d, r.height / d, - toMegapixel(r)); - } - } - - /** - * Template for generating option text from video resolution width and height. - * @param {!Resolution} r Resolution of text to be generated. - * @return {string} Text shown on resolution option item. - * @private - */ - videoOptTextTempl_(r) { - return loadTimeData.getI18nMessage( - I18nString.LABEL_VIDEO_RESOLUTION, r.height, r.width); - } - - /** - * Finds photo and video resolution setting of target device id. - * @param {string} deviceId - * @return {?DeviceSetting} - * @private - */ - getDeviceSetting_(deviceId) { - if (this.frontSetting_ && this.frontSetting_.deviceId === deviceId) { - return this.frontSetting_; - } - if (this.backSetting_ && this.backSetting_.deviceId === deviceId) { - return this.backSetting_; - } - return this.externalSettings_.find((e) => e.deviceId === deviceId) || null; - } - - /** - * Updates resolution information of front, back camera and external cameras. - * @private - */ - updateResolutions_() { - /** - * @param {!HTMLElement} item - * @param {string} id - * @param {!ResolutionConfig} config - * @param {function(!Resolution, !ResolutionList): string} optTextTempl - */ - const prepItem = (item, id, {prefResol, resols}, optTextTempl) => { - item.dataset['deviceId'] = id; - item.classList.toggle('multi-option', resols.length > 1); - dom.getFrom(item, '.description>span', HTMLSpanElement).textContent = - optTextTempl(prefResol, resols); - }; - - // Update front camera setting - state.set(state.State.HAS_FRONT_CAMERA, this.frontSetting_ !== null); - if (this.frontSetting_) { - const {deviceId, photo, video} = this.frontSetting_; - prepItem(this.frontPhotoItem_, deviceId, photo, this.photoOptTextTempl_); - prepItem(this.frontVideoItem_, deviceId, video, this.videoOptTextTempl_); - } - - // Update back camera setting - state.set(state.State.HAS_BACK_CAMERA, this.backSetting_ !== null); - if (this.backSetting_) { - const {deviceId, photo, video} = this.backSetting_; - prepItem(this.backPhotoItem_, deviceId, photo, this.photoOptTextTempl_); - prepItem(this.backVideoItem_, deviceId, video, this.videoOptTextTempl_); - } - - // Update external camera settings - // To prevent losing focus on item already exist before update, locate - // focused item in both previous and current list, pop out all items in - // previous list except those having same deviceId as focused one and - // recreate all other items from current list. - const prevFocus = /** @type {?HTMLElement} */ ( - this.resMenu_.querySelector('.menu-item.external-camera:focus')); - /** @type {?string} */ - const prevFId = prevFocus && prevFocus.dataset['deviceId']; - const /** number */ focusIdx = - this.externalSettings_.findIndex(({deviceId}) => deviceId === prevFId); - const fTitle = /** @type {?HTMLElement} */ (this.resMenu_.querySelector( - `.external-camera.title-item[data-device-id="${prevFId}"]`)); - /** @type {?string} */ - const focusedId = focusIdx === -1 ? null : prevFId; - - dom.getAllFrom(this.resMenu_, '.menu-item.external-camera', HTMLElement) - .forEach( - (element) => element.dataset['deviceId'] !== focusedId && - element.parentNode.removeChild(element)); - - this.externalSettings_.forEach((config, index) => { - const {deviceId} = config; - let /** !HTMLElement */ titleItem; - let /** !HTMLElement */ photoItem; - let /** !HTMLElement */ videoItem; - if (deviceId !== focusedId) { - const extItem = - util.instantiateTemplate('#extcam-resolution-item-template'); - [titleItem, photoItem, videoItem] = - dom.getAllFrom(extItem, '.menu-item', HTMLElement); - - photoItem.addEventListener('click', () => { - if (photoItem.classList.contains('multi-option')) { - this.openPhotoResSettings_(config, photoItem); - } - }); - photoItem.setAttribute('aria-describedby', `${deviceId}-photores-desc`); - dom.getFrom(photoItem, '.description', HTMLElement).id = - `${deviceId}-photores-desc`; - videoItem.addEventListener('click', () => { - if (videoItem.classList.contains('multi-option')) { - this.openVideoResSettings_(config, videoItem); - } - }); - videoItem.setAttribute('aria-describedby', `${deviceId}-videores-desc`); - dom.getFrom(videoItem, '.description', HTMLElement).id = - `${deviceId}-videores-desc`; - if (index < focusIdx) { - this.resMenu_.insertBefore(extItem, fTitle); - } else { - this.resMenu_.appendChild(extItem); - } - } else { - titleItem = /** @type {!HTMLElement}*/ (fTitle); - photoItem = /** @type {!HTMLElement}*/ (fTitle.nextElementSibling); - videoItem = /** @type {!HTMLElement}*/ (photoItem.nextElementSibling); - } - titleItem.dataset['deviceId'] = deviceId; - prepItem(photoItem, deviceId, config.photo, this.photoOptTextTempl_); - prepItem(videoItem, deviceId, config.video, this.videoOptTextTempl_); - }); - // Force closing opened setting of unplugged device. - if ((state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) || - state.get(ViewName.VIDEO_RESOLUTION_SETTINGS)) && - this.openedSettingDeviceId_ !== null && - this.getDeviceSetting_(this.openedSettingDeviceId_) === null) { - nav.close( - state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) ? - ViewName.PHOTO_RESOLUTION_SETTINGS : - ViewName.VIDEO_RESOLUTION_SETTINGS); - } - } - - /** - * Updates current selected photo resolution. - * @param {string} deviceId Device id of the selected resolution. - * @param {!Resolution} resolution Selected resolution. - * @private - */ - updateSelectedPhotoResolution_(deviceId, resolution) { - const {photo} = this.getDeviceSetting_(deviceId); - photo.prefResol = resolution; - let /** !HTMLElement */ photoItem; - if (this.frontSetting_ && this.frontSetting_.deviceId === deviceId) { - photoItem = this.frontPhotoItem_; - } else if (this.backSetting_ && this.backSetting_.deviceId === deviceId) { - photoItem = this.backPhotoItem_; - } else { - photoItem = dom.getFrom( - this.resMenu_, `.menu-item.photo-item[data-device-id="${deviceId}"]`, - HTMLElement); - } - dom.getFrom(photoItem, '.description>span', HTMLSpanElement).textContent = - this.photoOptTextTempl_(photo.prefResol, photo.resols); - - // Update setting option if it's opened. - if (state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) && - this.openedSettingDeviceId_ === deviceId) { - const input = dom.getFrom( - this.photoResMenu_, - 'input' + - `[data-width="${resolution.width}"]` + - `[data-height="${resolution.height}"]`, - HTMLInputElement); - input.checked = true; - } - } - - /** - * Updates current selected video resolution. - * @param {string} deviceId Device id of the selected resolution. - * @param {!Resolution} resolution Selected resolution. - * @private - */ - updateSelectedVideoResolution_(deviceId, resolution) { - const {video} = this.getDeviceSetting_(deviceId); - video.prefResol = resolution; - let /** !HTMLElement */ videoItem; - if (this.frontSetting_ && this.frontSetting_.deviceId === deviceId) { - videoItem = this.frontVideoItem_; - } else if (this.backSetting_ && this.backSetting_.deviceId === deviceId) { - videoItem = this.backVideoItem_; - } else { - videoItem = dom.getFrom( - this.resMenu_, `.menu-item.video-item[data-device-id="${deviceId}"]`, - HTMLElement); - } - dom.getFrom(videoItem, '.description>span', HTMLSpanElement).textContent = - this.videoOptTextTempl_(video.prefResol); - - // Update setting option if it's opened. - if (state.get(ViewName.VIDEO_RESOLUTION_SETTINGS) && - this.openedSettingDeviceId_ === deviceId) { - const input = dom.getFrom( - this.videoResMenu_, - 'input' + - `[data-width="${resolution.width}"]` + - `[data-height="${resolution.height}"]`, - HTMLInputElement); - input.checked = true; - } - } - - /** - * Opens photo resolution setting view. - * @param {!DeviceSetting} Setting of video device to be opened. - * @param {!HTMLElement} resolItem Dom element from upper layer menu item - * showing title of the selected resolution. - * @private - */ - openPhotoResSettings_({deviceId, photo}, resolItem) { - this.openedSettingDeviceId_ = deviceId; - this.updateMenu_( - resolItem, this.photoResMenu_, this.photoOptTextTempl_, - (r) => this.photoPreferrer_.changePreferredResolution(deviceId, r), - photo.resols, photo.prefResol); - this.openSubSettings(resolItem, ViewName.PHOTO_RESOLUTION_SETTINGS); - } - - /** - * Opens video resolution setting view. - * @param {!DeviceSetting} Setting of video device to be opened. - * @param {!HTMLElement} resolItem Dom element from upper layer menu item - * showing title of the selected resolution. - * @private - */ - openVideoResSettings_({deviceId, video}, resolItem) { - this.openedSettingDeviceId_ = deviceId; - this.updateMenu_( - resolItem, this.videoResMenu_, this.videoOptTextTempl_, - (r) => this.videoPreferrer_.changePreferredResolution(deviceId, r), - video.resols, video.prefResol); - this.openSubSettings(resolItem, ViewName.VIDEO_RESOLUTION_SETTINGS); - } - - /** - * Updates resolution menu with specified resolutions. - * @param {!HTMLElement} resolItem DOM element holding selected resolution. - * @param {!HTMLElement} menu Menu holding all resolution option elements. - * @param {function(!Resolution, !ResolutionList): string} optTextTempl - * Template generating text content for each resolution option from its - * width and height. - * @param {function(!Resolution): void} onChange Called when selected option - * changed with resolution of newly selected option. - * @param {!ResolutionList} resolutions Resolutions of its width and height to - * be updated with. - * @param {!Resolution} selectedR Selected resolution. - * @private - */ - updateMenu_(resolItem, menu, optTextTempl, onChange, resolutions, selectedR) { - const captionText = - dom.getFrom(resolItem, '.description>span', HTMLSpanElement); - captionText.textContent = ''; - dom.getAllFrom(menu, '.menu-item', HTMLLabelElement) - .forEach((element) => element.parentNode.removeChild(element)); - - resolutions.forEach((r) => { - const item = util.instantiateTemplate('#resolution-item-template'); - const input = dom.getFrom(item, 'input', HTMLInputElement); - dom.getFrom(item, 'span', HTMLSpanElement).textContent = - optTextTempl(r, resolutions); - input.name = menu.dataset[I18nString.NAME]; - input.dataset['width'] = r.width.toString(); - input.dataset['height'] = r.height.toString(); - if (r.equals(selectedR)) { - captionText.textContent = optTextTempl(r, resolutions); - input.checked = true; - } - input.disabled = state.get(state.State.CAMERA_CONFIGURING) || - state.get(state.State.TAKING); - input.addEventListener('change', () => { - if (input.checked) { - captionText.textContent = optTextTempl(r, resolutions); - onChange(r); - } - }); - menu.appendChild(item); - }); - } -}
diff --git a/ash/webui/camera_app_ui/resources/js/views/settings.ts b/ash/webui/camera_app_ui/resources/js/views/settings.ts new file mode 100644 index 0000000..5aeb53a3 --- /dev/null +++ b/ash/webui/camera_app_ui/resources/js/views/settings.ts
@@ -0,0 +1,653 @@ +// Copyright 2018 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import {assertInstanceof} from '../assert.js'; +import { + PhotoConstraintsPreferrer, + VideoConstraintsPreferrer, +} from '../device/constraints_preferrer.js'; +import {DeviceInfoUpdater} from '../device/device_info_updater.js'; +import * as dom from '../dom.js'; +import {reportError} from '../error.js'; +import {setExpertMode} from '../expert.js'; +import {I18nString} from '../i18n_string.js'; +import * as loadTimeData from '../models/load_time_data.js'; +import {ChromeHelper} from '../mojo/chrome_helper.js'; +import * as nav from '../nav.js'; +import * as state from '../state.js'; +import { + ErrorLevel, + ErrorType, + Facing, + Resolution, + ResolutionList, + ViewName, +} from '../type.js'; +import * as util from '../util.js'; + +import {View} from './view.js'; + +/** + * Object of device id, preferred capture resolution and all + * available resolutions for a particular video device. + */ +interface ResolutionConfig { + prefResol: Resolution; + resols: ResolutionList; +} + +/** + * Photo and video resolution configuration for a particular video device. + */ +interface DeviceSetting { + deviceId: string; + photo: ResolutionConfig; + video: ResolutionConfig; +} + +/** + * Base controller of settings view. + */ +export class BaseSettings extends View { + /** + * The default focus element when focus on view is reset. + */ + private readonly defaultFocus: HTMLElement; + + /** + * The DOM element to be focused when the focus on view is reset by calling + * |focus()|. + */ + private focusElement: HTMLElement; + + /** + * @param name Name of the view. + * @param itemHandlers Click-handlers mapped by element ids. + */ + constructor( + name: ViewName, + itemHandlers: Record<string, (event: Event) => void> = {}) { + super(name, {dismissByEsc: true, dismissByBackgroundClick: true}); + + dom.getFrom(this.root, '.menu-header button', HTMLButtonElement) + .addEventListener('click', () => this.leave()); + dom.getAllFrom(this.root, '.menu-item', HTMLElement).forEach((element) => { + const handler = itemHandlers[element.id]; + if (handler !== undefined) { + element.addEventListener('click', handler); + } + }); + + this.defaultFocus = dom.getFrom(this.root, '[tabindex]', HTMLElement); + + this.focusElement = this.defaultFocus; + } + + focus(): void { + this.focusElement.focus(); + } + + leaving(): boolean { + this.focusElement = this.defaultFocus; + return super.leaving(); + } + + /** + * Opens sub-settings. + * @param opener The DOM element triggering the open. + * @param name Name of settings view. + */ + protected openSubSettings(opener: HTMLElement, name: ViewName): void { + this.focusElement = opener; + // Dismiss primary-settings if sub-settings was dismissed by background + // click. + nav.open(name).then((cond) => cond && cond['bkgnd'] && this.leave(cond)); + } +} + +/** + * Controller of primary settings view. + */ +export class PrimarySettings extends BaseSettings { + private readonly subViews: BaseSettings[]; + private headerClickedCount = 0; + private headerClickedLastTime: number|null = null; + + constructor( + infoUpdater: DeviceInfoUpdater, photoPreferrer: PhotoConstraintsPreferrer, + videoPreferrer: VideoConstraintsPreferrer) { + super( + ViewName.SETTINGS, + // Use an IIFE here since TypeScript doesn't allow any statement + // before super() call if we have property initializers. + (() => { + const openHandler = (openerId, viewName) => { + const opener = dom.get(`#${openerId}`, HTMLElement); + return {[openerId]: () => this.openSubSettings(opener, viewName)}; + }; + return { + ...openHandler('settings-gridtype', ViewName.GRID_SETTINGS), + ...openHandler('settings-timerdur', ViewName.TIMER_SETTINGS), + ...openHandler('settings-resolution', ViewName.RESOLUTION_SETTINGS), + ...openHandler('settings-expert', ViewName.EXPERT_SETTINGS), + 'settings-feedback': () => { + // Prevent setting view overlapping preview when sending app + // window feedback screenshot b/155938542. + this.leave(); + ChromeHelper.getInstance().openFeedbackDialog( + loadTimeData.getI18nMessage( + I18nString.FEEDBACK_DESCRIPTION_PLACEHOLDER)); + }, + 'settings-help': () => util.openHelp(), + }; + })(), + ); + + this.subViews = [ + new BaseSettings(ViewName.GRID_SETTINGS), + new BaseSettings(ViewName.TIMER_SETTINGS), + new ResolutionSettings(infoUpdater, photoPreferrer, videoPreferrer), + new BaseSettings(ViewName.EXPERT_SETTINGS), + ]; + + const header = dom.get('#settings-header', HTMLElement); + header.addEventListener('click', () => this.onHeaderClicked()); + } + + /** + * Handle click on primary settings header (used to trigger expert mode). + */ + private onHeaderClicked() { + const reset = () => { + this.headerClickedCount = 0; + this.headerClickedLastTime = null; + }; + + // Reset the counter if last click is more than 1 second ago. + if (this.headerClickedLastTime !== null && + (Date.now() - this.headerClickedLastTime) > 1000) { + reset(); + } + + this.headerClickedCount++; + this.headerClickedLastTime = Date.now(); + + if (this.headerClickedCount === 5) { + setExpertMode(true); + reset(); + } + } + + getSubViews(): View[] { + return this.subViews; + } +} + +/** + * Controller of resolution settings view. + */ +export class ResolutionSettings extends BaseSettings { + /** + * Device setting of front camera. Null if no front camera. + */ + private frontSetting: DeviceSetting|null = null; + + private readonly frontPhotoItem = + dom.get('#settings-front-photores', HTMLElement); + private readonly frontVideoItem = + dom.get('#settings-front-videores', HTMLElement); + + /** + * Device setting of back camera. Null if no back camera. + */ + private backSetting: DeviceSetting|null = null; + + private readonly backPhotoItem = + dom.get('#settings-back-photores', HTMLElement); + private readonly backVideoItem = + dom.get('#settings-back-videores', HTMLElement); + readonly photoResolutionSettings = + new BaseSettings(ViewName.PHOTO_RESOLUTION_SETTINGS); + readonly videoResolutionSettings = + new BaseSettings(ViewName.VIDEO_RESOLUTION_SETTINGS); + private readonly resMenu: HTMLDivElement; + private readonly videoResMenu: HTMLDivElement; + private readonly photoResMenu: HTMLDivElement; + + /** + * Device setting of external cameras. + */ + private externalSettings: DeviceSetting[] = []; + + /** + * Device id of currently opened resolution setting view. + */ + private openedSettingDeviceId: string|null = null; + + constructor( + infoUpdater: DeviceInfoUpdater, + private readonly photoPreferrer: PhotoConstraintsPreferrer, + private readonly videoPreferrer: VideoConstraintsPreferrer, + ) { + super( + ViewName.RESOLUTION_SETTINGS, + // Use an IIFE here since TypeScript doesn't allow any statement + // before super() call if we have property initializers. + (() => { + const createOpenMenuHandler = + (getSetting: () => DeviceSetting | null, + getElement: () => HTMLElement, isPhoto: boolean) => () => { + const setting = getSetting(); + if (setting === null) { + reportError( + ErrorType.DEVICE_NOT_EXIST, ErrorLevel.ERROR, + new Error('Open settings of non-exist device.')); + return; + } + const element = getElement(); + if (element.classList.contains('multi-option')) { + if (isPhoto) { + this.openPhotoResSettings(setting, element); + } else { + this.openVideoResSettings(setting, element); + } + } + }; + return { + 'settings-front-photores': createOpenMenuHandler( + () => this.frontSetting, () => this.frontPhotoItem, true), + 'settings-front-videores': createOpenMenuHandler( + () => this.frontSetting, () => this.frontVideoItem, false), + 'settings-back-photores': createOpenMenuHandler( + () => this.backSetting, () => this.backPhotoItem, true), + 'settings-back-videores': createOpenMenuHandler( + () => this.backSetting, () => this.backVideoItem, false), + }; + })(), + ); + + this.resMenu = dom.getFrom(this.root, 'div.menu', HTMLDivElement); + + this.videoResMenu = dom.getFrom( + this.videoResolutionSettings.root, 'div.menu', HTMLDivElement); + + this.photoResMenu = dom.getFrom( + this.photoResolutionSettings.root, 'div.menu', HTMLDivElement); + + infoUpdater.addDeviceChangeListener((updater) => { + const devices = updater.getCamera3DevicesInfo(); + if (devices === null) { + state.set(state.State.NO_RESOLUTION_SETTINGS, true); + return; + } + + this.frontSetting = this.backSetting = null; + this.externalSettings = []; + + devices.forEach(({deviceId, facing}) => { + const photoResols = + this.photoPreferrer.getSupportedResolutions(deviceId); + const videoResols = + this.videoPreferrer.getSupportedResolutions(deviceId); + const deviceSetting: DeviceSetting = { + deviceId, + photo: { + prefResol: photoPreferrer.getPrefResolution(deviceId), + resols: + /* Filter out resolutions of megapixels < 0.1 i.e. megapixels + * 0.0*/ + photoResols.filter((r) => r.area >= 100000), + }, + video: { + prefResol: videoPreferrer.getPrefResolution(deviceId), + resols: videoResols, + }, + }; + switch (facing) { + case Facing.USER: + this.frontSetting = deviceSetting; + break; + case Facing.ENVIRONMENT: + this.backSetting = deviceSetting; + break; + case Facing.EXTERNAL: + this.externalSettings.push(deviceSetting); + break; + default: + reportError( + ErrorType.UNKNOWN_FACING, ErrorLevel.ERROR, + new Error(`Ignore device of unknown facing: ${facing}`)); + } + }); + this.updateResolutions(); + }); + + this.photoPreferrer.setPreferredResolutionChangeListener( + (...args) => this.updateSelectedPhotoResolution(...args)); + this.videoPreferrer.setPreferredResolutionChangeListener( + (...args) => this.updateSelectedVideoResolution(...args)); + + // Flips 'disabled' of resolution options. + for (const s of [state.State.CAMERA_CONFIGURING, state.State.TAKING]) { + state.addObserver(s, () => { + dom.getAll('.resolution-option>input', HTMLInputElement) + .forEach((e) => { + e.disabled = state.get(state.State.CAMERA_CONFIGURING) || + state.get(state.State.TAKING); + }); + }); + } + } + + getSubViews(): View[] { + return [ + this.photoResolutionSettings, + this.videoResolutionSettings, + ]; + } + + /** + * Template for generating option text from photo resolution width and height. + * @param r Resolution of text to be generated. + * @param resolutions All available resolutions. + * @return Text shown on resolution option item. + */ + private photoOptTextTempl(r: Resolution, resolutions: ResolutionList): + string { + const gcd = (a: number, b: number): number => (a === 0 ? b : gcd(b % a, a)); + const toMegapixel = ({area}: Resolution): number => + area >= 1e6 ? Math.round(area / 1e6) : Math.round(area / 1e5) / 10; + const d = gcd(r.width, r.height); + if (resolutions.some( + (findR) => !findR.equals(r) && r.aspectRatioEquals(findR) && + toMegapixel(r) === toMegapixel(findR))) { + return loadTimeData.getI18nMessage( + I18nString.LABEL_DETAIL_PHOTO_RESOLUTION, r.width / d, r.height / d, + r.width, r.height, toMegapixel(r)); + } else { + return loadTimeData.getI18nMessage( + I18nString.LABEL_PHOTO_RESOLUTION, r.width / d, r.height / d, + toMegapixel(r)); + } + } + + /** + * Template for generating option text from video resolution width and height. + * @param r Resolution of text to be generated. + * @return Text shown on resolution option item. + */ + private videoOptTextTempl(r: Resolution): string { + return loadTimeData.getI18nMessage( + I18nString.LABEL_VIDEO_RESOLUTION, r.height, r.width); + } + + /** + * Finds photo and video resolution setting of target device id. + */ + private getDeviceSetting(deviceId: string): DeviceSetting|null { + if (this.frontSetting && this.frontSetting.deviceId === deviceId) { + return this.frontSetting; + } + if (this.backSetting && this.backSetting.deviceId === deviceId) { + return this.backSetting; + } + return this.externalSettings.find((e) => e.deviceId === deviceId) || null; + } + + /** + * Updates resolution information of front, back camera and external cameras. + */ + private updateResolutions() { + const prepItem = + (item: HTMLElement, id: string, {prefResol, resols}: ResolutionConfig, + optTextTempl: (prefResol: Resolution, resols: ResolutionList) => + string) => { + item.dataset['deviceId'] = id; + item.classList.toggle('multi-option', resols.length > 1); + dom.getFrom(item, '.description>span', HTMLSpanElement).textContent = + optTextTempl(prefResol, resols); + }; + + // Update front camera setting + state.set(state.State.HAS_FRONT_CAMERA, this.frontSetting !== null); + if (this.frontSetting) { + const {deviceId, photo, video} = this.frontSetting; + prepItem(this.frontPhotoItem, deviceId, photo, this.photoOptTextTempl); + prepItem(this.frontVideoItem, deviceId, video, this.videoOptTextTempl); + } + + // Update back camera setting + state.set(state.State.HAS_BACK_CAMERA, this.backSetting !== null); + if (this.backSetting) { + const {deviceId, photo, video} = this.backSetting; + prepItem(this.backPhotoItem, deviceId, photo, this.photoOptTextTempl); + prepItem(this.backVideoItem, deviceId, video, this.videoOptTextTempl); + } + + // Update external camera settings + // To prevent losing focus on item already exist before update, locate + // focused item in both previous and current list, pop out all items in + // previous list except those having same deviceId as focused one and + // recreate all other items from current list. + const prevFocus = this.resMenu.querySelector<HTMLElement>( + '.menu-item.external-camera:focus'); + const prevFId = prevFocus && prevFocus.dataset['deviceId']; + const focusIdx = + this.externalSettings.findIndex(({deviceId}) => deviceId === prevFId); + const fTitle = this.resMenu.querySelector<HTMLElement>( + `.external-camera.title-item[data-device-id="${prevFId}"]`); + const focusedId = focusIdx === -1 ? null : prevFId; + + dom.getAllFrom(this.resMenu, '.menu-item.external-camera', HTMLElement) + .forEach( + (element) => element.dataset['deviceId'] !== focusedId && + element.parentNode.removeChild(element)); + + this.externalSettings.forEach((config, index) => { + const {deviceId} = config; + let titleItem: HTMLElement; + let photoItem: HTMLElement; + let videoItem: HTMLElement; + if (deviceId !== focusedId) { + const extItem = + util.instantiateTemplate('#extcam-resolution-item-template'); + [titleItem, photoItem, videoItem] = + dom.getAllFrom(extItem, '.menu-item', HTMLElement); + + photoItem.addEventListener('click', () => { + if (photoItem.classList.contains('multi-option')) { + this.openPhotoResSettings(config, photoItem); + } + }); + photoItem.setAttribute('aria-describedby', `${deviceId}-photores-desc`); + dom.getFrom(photoItem, '.description', HTMLElement).id = + `${deviceId}-photores-desc`; + videoItem.addEventListener('click', () => { + if (videoItem.classList.contains('multi-option')) { + this.openVideoResSettings(config, videoItem); + } + }); + videoItem.setAttribute('aria-describedby', `${deviceId}-videores-desc`); + dom.getFrom(videoItem, '.description', HTMLElement).id = + `${deviceId}-videores-desc`; + if (index < focusIdx) { + this.resMenu.insertBefore(extItem, fTitle); + } else { + this.resMenu.appendChild(extItem); + } + } else { + titleItem = fTitle; + photoItem = assertInstanceof(fTitle.nextElementSibling, HTMLElement); + videoItem = assertInstanceof(photoItem.nextElementSibling, HTMLElement); + } + titleItem.dataset['deviceId'] = deviceId; + prepItem(photoItem, deviceId, config.photo, this.photoOptTextTempl); + prepItem(videoItem, deviceId, config.video, this.videoOptTextTempl); + }); + // Force closing opened setting of unplugged device. + if ((state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) || + state.get(ViewName.VIDEO_RESOLUTION_SETTINGS)) && + this.openedSettingDeviceId !== null && + this.getDeviceSetting(this.openedSettingDeviceId) === null) { + nav.close( + state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) ? + ViewName.PHOTO_RESOLUTION_SETTINGS : + ViewName.VIDEO_RESOLUTION_SETTINGS); + } + } + + /** + * Updates current selected photo resolution. + * @param deviceId Device id of the selected resolution. + * @param resolution Selected resolution. + */ + private updateSelectedPhotoResolution( + deviceId: string, resolution: Resolution) { + const {photo} = this.getDeviceSetting(deviceId); + photo.prefResol = resolution; + let photoItem: HTMLElement; + if (this.frontSetting && this.frontSetting.deviceId === deviceId) { + photoItem = this.frontPhotoItem; + } else if (this.backSetting && this.backSetting.deviceId === deviceId) { + photoItem = this.backPhotoItem; + } else { + photoItem = dom.getFrom( + this.resMenu, `.menu-item.photo-item[data-device-id="${deviceId}"]`, + HTMLElement); + } + dom.getFrom(photoItem, '.description>span', HTMLSpanElement).textContent = + this.photoOptTextTempl(photo.prefResol, photo.resols); + + // Update setting option if it's opened. + if (state.get(ViewName.PHOTO_RESOLUTION_SETTINGS) && + this.openedSettingDeviceId === deviceId) { + const input = dom.getFrom( + this.photoResMenu, + 'input' + + `[data-width="${resolution.width}"]` + + `[data-height="${resolution.height}"]`, + HTMLInputElement); + input.checked = true; + } + } + + /** + * Updates current selected video resolution. + * @param deviceId Device id of the selected resolution. + * @param resolution Selected resolution. + */ + private updateSelectedVideoResolution( + deviceId: string, resolution: Resolution) { + const {video} = this.getDeviceSetting(deviceId); + video.prefResol = resolution; + let videoItem: HTMLElement; + if (this.frontSetting && this.frontSetting.deviceId === deviceId) { + videoItem = this.frontVideoItem; + } else if (this.backSetting && this.backSetting.deviceId === deviceId) { + videoItem = this.backVideoItem; + } else { + videoItem = dom.getFrom( + this.resMenu, `.menu-item.video-item[data-device-id="${deviceId}"]`, + HTMLElement); + } + dom.getFrom(videoItem, '.description>span', HTMLSpanElement).textContent = + this.videoOptTextTempl(video.prefResol); + + // Update setting option if it's opened. + if (state.get(ViewName.VIDEO_RESOLUTION_SETTINGS) && + this.openedSettingDeviceId === deviceId) { + const input = dom.getFrom( + this.videoResMenu, + 'input' + + `[data-width="${resolution.width}"]` + + `[data-height="${resolution.height}"]`, + HTMLInputElement); + input.checked = true; + } + } + + /** + * Opens photo resolution setting view. + * @param Setting of video device to be opened. + * @param resolItem Dom element from upper layer menu item showing title of + * the selected resolution. + */ + private openPhotoResSettings( + {deviceId, photo}: DeviceSetting, resolItem: HTMLElement) { + this.openedSettingDeviceId = deviceId; + this.updateMenu( + resolItem, this.photoResMenu, this.photoOptTextTempl, + (r) => this.photoPreferrer.changePreferredResolution(deviceId, r), + photo.resols, photo.prefResol); + this.openSubSettings(resolItem, ViewName.PHOTO_RESOLUTION_SETTINGS); + } + + /** + * Opens video resolution setting view. + * @param Setting of video device to be opened. + * @param resolItem Dom element from upper layer menu item showing title of + * the selected resolution. + */ + private openVideoResSettings( + {deviceId, video}: DeviceSetting, resolItem: HTMLElement) { + this.openedSettingDeviceId = deviceId; + this.updateMenu( + resolItem, this.videoResMenu, this.videoOptTextTempl, + (r) => this.videoPreferrer.changePreferredResolution(deviceId, r), + video.resols, video.prefResol); + this.openSubSettings(resolItem, ViewName.VIDEO_RESOLUTION_SETTINGS); + } + + /** + * Updates resolution menu with specified resolutions. + * @param resolItem DOM element holding selected resolution. + * @param menu Menu holding all resolution option elements. + * @param optTextTempl Template generating text content for each resolution + * option from its width and height. + * @param onChange Called when selected option changed with resolution of + * newly selected option. + * @param resolutions Resolutions of its width and height to be updated with. + * @param selectedR Selected resolution. + */ + private updateMenu( + resolItem: HTMLElement, + menu: HTMLElement, + optTextTempl: + (resolution: Resolution, resolutions: ResolutionList) => string, + onChange: (resolution: Resolution) => void, + resolutions: ResolutionList, + selectedR: Resolution, + ) { + const captionText = + dom.getFrom(resolItem, '.description>span', HTMLSpanElement); + captionText.textContent = ''; + for (const element of dom.getAllFrom( + menu, '.menu-item', HTMLLabelElement)) { + element.parentNode.removeChild(element); + } + + for (const r of resolutions) { + const item = util.instantiateTemplate('#resolution-item-template'); + const input = dom.getFrom(item, 'input', HTMLInputElement); + dom.getFrom(item, 'span', HTMLSpanElement).textContent = + optTextTempl(r, resolutions); + input.name = menu.dataset[I18nString.NAME]; + input.dataset['width'] = r.width.toString(); + input.dataset['height'] = r.height.toString(); + if (r.equals(selectedR)) { + captionText.textContent = optTextTempl(r, resolutions); + input.checked = true; + } + input.disabled = state.get(state.State.CAMERA_CONFIGURING) || + state.get(state.State.TAKING); + input.addEventListener('change', () => { + if (input.checked) { + captionText.textContent = optTextTempl(r, resolutions); + onChange(r); + } + }); + menu.appendChild(item); + } + } +}
diff --git a/base/allocator/partition_allocator/partition_alloc_constants.h b/base/allocator/partition_allocator/partition_alloc_constants.h index 8cca4fe..cbc53a7 100644 --- a/base/allocator/partition_allocator/partition_alloc_constants.h +++ b/base/allocator/partition_allocator/partition_alloc_constants.h
@@ -361,13 +361,12 @@ // PartitionPurgeDecommitEmptySlotSpans flag will eagerly decommit all entries // in the ring buffer, so with periodic purge enabled, this typically happens // every few seconds. -constexpr size_t kMaxFreeableSpans = std::numeric_limits<int8_t>::max(); +constexpr size_t kEmptyCacheIndexBits = 7; +// kMaxFreeableSpans is the buffer size, but is never used as an index value, +// hence <= is appropriate. +constexpr size_t kMaxFreeableSpans = 1 << kEmptyCacheIndexBits; constexpr size_t kDefaultEmptySlotSpanRingSize = 16; -constexpr int kEmptyCacheIndexBits = 8; -// Has to fit into SlotSpanMetadata::empty_cache_index. -static_assert(kMaxFreeableSpans < (1 << (kEmptyCacheIndexBits - 1)), ""); - // If the total size in bytes of allocated but not committed pages exceeds this // value (probably it is a "out of virtual address space" crash), a special // crash stack trace is generated at
diff --git a/base/allocator/partition_allocator/partition_alloc_unittest.cc b/base/allocator/partition_allocator/partition_alloc_unittest.cc index b30e6c8..e3c7d23 100644 --- a/base/allocator/partition_allocator/partition_alloc_unittest.cc +++ b/base/allocator/partition_allocator/partition_alloc_unittest.cc
@@ -299,13 +299,12 @@ NumSystemPagesPerPartitionPage()) EXPECT_EQ(base::memory::UnmaskPtr(first) & PartitionPageBaseMask(), base::memory::UnmaskPtr(last) & PartitionPageBaseMask()); - EXPECT_EQ(num_slots, - static_cast<size_t>( - bucket->active_slot_spans_head->num_allocated_slots)); + EXPECT_EQ(num_slots, bucket->active_slot_spans_head->num_allocated_slots); EXPECT_EQ(nullptr, bucket->active_slot_spans_head->get_freelist_head()); EXPECT_TRUE(bucket->is_valid()); EXPECT_TRUE(bucket->active_slot_spans_head != SlotSpan::get_sentinel_slot_span()); + EXPECT_TRUE(bucket->active_slot_spans_head->is_full()); return bucket->active_slot_spans_head; } @@ -315,10 +314,10 @@ auto* slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); auto* bucket = slot_span->bucket; - EXPECT_EQ(1, bucket->active_slot_spans_head->num_allocated_slots); + EXPECT_EQ(1u, bucket->active_slot_spans_head->num_allocated_slots); allocator.root()->Free(ptr); - EXPECT_EQ(0, bucket->active_slot_spans_head->num_allocated_slots); - EXPECT_NE(-1, bucket->active_slot_spans_head->empty_cache_index); + EXPECT_EQ(0u, bucket->active_slot_spans_head->num_allocated_slots); + EXPECT_TRUE(bucket->active_slot_spans_head->in_empty_cache); } } @@ -418,12 +417,12 @@ void FreeFullSlotSpan(PartitionRoot<base::internal::ThreadSafe>* root, SlotSpan* slot_span) { + EXPECT_TRUE(slot_span->is_full()); size_t size = slot_span->bucket->slot_size; size_t num_slots = (slot_span->bucket->num_system_pages_per_slot_span * SystemPageSize()) / size; - EXPECT_EQ(num_slots, - static_cast<size_t>(std::abs(slot_span->num_allocated_slots))); + EXPECT_EQ(num_slots, slot_span->num_allocated_slots); char* ptr = reinterpret_cast<char*>(SlotSpan::ToSlotSpanStartPtr(slot_span)); size_t i; for (i = 0; i < num_slots; ++i) { @@ -431,6 +430,7 @@ root->Free(memory::RemaskPtr(ptr + kPointerOffset)); ptr += size; } + EXPECT_TRUE(slot_span->is_empty()); } #if defined(OS_LINUX) || defined(OS_CHROMEOS) @@ -568,7 +568,7 @@ EXPECT_TRUE(bucket->empty_slot_spans_head); EXPECT_EQ(SlotSpan::get_sentinel_slot_span(), bucket->active_slot_spans_head); EXPECT_EQ(nullptr, slot_span->next_slot_span); - EXPECT_EQ(0, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_allocated_slots); slot_span = GetFullSlotSpan(kTestAllocSize); auto* slot_span2 = GetFullSlotSpan(kTestAllocSize); @@ -584,7 +584,7 @@ // Fully free the non-current slot span. This will leave us with no current // active slot span because one is empty and the other is full. FreeFullSlotSpan(allocator.root(), slot_span); - EXPECT_EQ(0, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_allocated_slots); EXPECT_TRUE(bucket->empty_slot_spans_head); EXPECT_EQ(SlotSpanMetadata<ThreadSafe>::get_sentinel_slot_span(), bucket->active_slot_spans_head); @@ -596,10 +596,10 @@ FreeFullSlotSpan(allocator.root(), slot_span); FreeFullSlotSpan(allocator.root(), slot_span2); - EXPECT_EQ(0, slot_span->num_allocated_slots); - EXPECT_EQ(0, slot_span2->num_allocated_slots); - EXPECT_EQ(0, slot_span2->num_unprovisioned_slots); - EXPECT_NE(-1, slot_span2->empty_cache_index); + EXPECT_EQ(0u, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span2->num_allocated_slots); + EXPECT_EQ(0u, slot_span2->num_unprovisioned_slots); + EXPECT_TRUE(slot_span2->in_empty_cache); } // Test some finer aspects of internal slot span transitions. @@ -863,7 +863,7 @@ // Should be freeable at this point. auto* slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_NE(-1, slot_span->empty_cache_index); + EXPECT_TRUE(slot_span->in_empty_cache); allocator.root()->Free(ptr2); } @@ -894,9 +894,9 @@ allocator.root()->Free(ptr3); allocator.root()->Free(ptr2); // Should be freeable at this point. - EXPECT_NE(-1, slot_span->empty_cache_index); - EXPECT_EQ(0, slot_span->num_allocated_slots); - EXPECT_EQ(0, slot_span->num_unprovisioned_slots); + EXPECT_TRUE(slot_span->in_empty_cache); + EXPECT_EQ(0u, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_unprovisioned_slots); void* new_ptr_1 = allocator.root()->Alloc(size, type_name); PA_EXPECT_PTR_EQ(ptr2, new_ptr_1); void* new_ptr_2 = allocator.root()->Alloc(size, type_name); @@ -1382,33 +1382,33 @@ // one object slot and one freelist pointer (the null that the head points // to) into a system page. EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(1, slot_span->num_allocated_slots); - EXPECT_EQ(3, slot_span->num_unprovisioned_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); + EXPECT_EQ(3u, slot_span->num_unprovisioned_slots); void* ptr2 = allocator.root()->Alloc(big_size, type_name); EXPECT_TRUE(ptr2); EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(2, slot_span->num_allocated_slots); - EXPECT_EQ(2, slot_span->num_unprovisioned_slots); + EXPECT_EQ(2u, slot_span->num_allocated_slots); + EXPECT_EQ(2u, slot_span->num_unprovisioned_slots); void* ptr3 = allocator.root()->Alloc(big_size, type_name); EXPECT_TRUE(ptr3); EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(3, slot_span->num_allocated_slots); - EXPECT_EQ(1, slot_span->num_unprovisioned_slots); + EXPECT_EQ(3u, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_unprovisioned_slots); void* ptr4 = allocator.root()->Alloc(big_size, type_name); EXPECT_TRUE(ptr4); EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(4, slot_span->num_allocated_slots); - EXPECT_EQ(0, slot_span->num_unprovisioned_slots); + EXPECT_EQ(4u, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_unprovisioned_slots); void* ptr5 = allocator.root()->Alloc(big_size, type_name); EXPECT_TRUE(ptr5); auto* slot_span2 = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr5)); - EXPECT_EQ(1, slot_span2->num_allocated_slots); + EXPECT_EQ(1u, slot_span2->num_allocated_slots); // Churn things a little whilst there's a partial slot span freelist. allocator.root()->Free(ptr); @@ -1421,10 +1421,10 @@ allocator.root()->Free(ptr4); allocator.root()->Free(ptr5); allocator.root()->Free(ptr6); - EXPECT_NE(-1, slot_span->empty_cache_index); - EXPECT_NE(-1, slot_span2->empty_cache_index); + EXPECT_TRUE(slot_span->in_empty_cache); + EXPECT_TRUE(slot_span2->in_empty_cache); EXPECT_TRUE(slot_span2->get_freelist_head()); - EXPECT_EQ(0, slot_span2->num_allocated_slots); + EXPECT_EQ(0u, slot_span2->num_allocated_slots); // Size that's just above half a page. size_t non_dividing_size = SystemPageSize() / 2 + 1 - kExtraAllocSize; @@ -1443,13 +1443,13 @@ const size_t expected_slots = kNumBucketsPerOrderBits == 3 ? 16u : 24u; EXPECT_EQ(expected_slots, total_slots); EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); EXPECT_EQ(expected_slots - 1, slot_span->num_unprovisioned_slots); ptr2 = allocator.root()->Alloc(non_dividing_size, type_name); EXPECT_TRUE(ptr2); EXPECT_TRUE(slot_span->get_freelist_head()); - EXPECT_EQ(2, slot_span->num_allocated_slots); + EXPECT_EQ(2u, slot_span->num_allocated_slots); // 2 slots got provisioned: the first one fills the rest of the first (already // provision page) and exceeds it by just a tad, thus leading to provisioning // a new page, and the second one fully fits within that new page. @@ -1458,15 +1458,15 @@ ptr3 = allocator.root()->Alloc(non_dividing_size, type_name); EXPECT_TRUE(ptr3); EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(3, slot_span->num_allocated_slots); + EXPECT_EQ(3u, slot_span->num_allocated_slots); EXPECT_EQ(expected_slots - 3, slot_span->num_unprovisioned_slots); allocator.root()->Free(ptr); allocator.root()->Free(ptr2); allocator.root()->Free(ptr3); - EXPECT_NE(-1, slot_span->empty_cache_index); + EXPECT_TRUE(slot_span->in_empty_cache); EXPECT_TRUE(slot_span2->get_freelist_head()); - EXPECT_EQ(0, slot_span2->num_allocated_slots); + EXPECT_EQ(0u, slot_span2->num_allocated_slots); // And test a couple of sizes that do not cross SystemPageSize() with a // single allocation. @@ -1479,7 +1479,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); total_slots = (slot_span->bucket->num_system_pages_per_slot_span * SystemPageSize()) / (medium_size + kExtraAllocSize); @@ -1500,7 +1500,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); total_slots = (slot_span->bucket->num_system_pages_per_slot_span * SystemPageSize()) / (small_size + kExtraAllocSize); @@ -1510,7 +1510,7 @@ allocator.root()->Free(ptr); EXPECT_TRUE(slot_span->get_freelist_head()); - EXPECT_EQ(0, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_allocated_slots); static_assert(kExtraAllocSize < 64, ""); size_t very_small_size = @@ -1525,7 +1525,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); size_t very_small_actual_size = allocator.root()->GetUsableSize(ptr); total_slots = (slot_span->bucket->num_system_pages_per_slot_span * SystemPageSize()) / @@ -1537,7 +1537,7 @@ allocator.root()->Free(ptr); EXPECT_TRUE(slot_span->get_freelist_head()); - EXPECT_EQ(0, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_allocated_slots); // And try an allocation size (against the generic allocator) that is // larger than a system page. @@ -1547,7 +1547,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); // Only the first slot was provisioned, and that's the one that was just // allocated so the free list is empty. EXPECT_TRUE(!slot_span->get_freelist_head()); @@ -1559,7 +1559,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(2, slot_span->num_allocated_slots); + EXPECT_EQ(2u, slot_span->num_allocated_slots); // As above, only one slot was provisioned. EXPECT_TRUE(!slot_span->get_freelist_head()); EXPECT_EQ(total_slots - 2, slot_span->num_unprovisioned_slots); @@ -1572,7 +1572,7 @@ EXPECT_TRUE(ptr); slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); EXPECT_TRUE(slot_span->get_freelist_head()); total_slots = (slot_span->bucket->num_system_pages_per_slot_span * SystemPageSize()) / @@ -1595,7 +1595,7 @@ EXPECT_NE(slot_span2, bucket->active_slot_spans_head); auto* slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); // Work out a pointer into slot_span2 and free it; and then slot_span1 and // free it. @@ -1611,7 +1611,7 @@ // refill both the nearly full slot spans. (void)allocator.root()->Alloc(kTestAllocSize, type_name); (void)allocator.root()->Alloc(kTestAllocSize, type_name); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); FreeFullSlotSpan(allocator.root(), slot_span2); FreeFullSlotSpan(allocator.root(), slot_span1); @@ -1746,23 +1746,23 @@ auto* slot_span = SlotSpan::FromSlotStartPtr( allocator.root()->AdjustPointerForExtrasSubtract(ptr)); EXPECT_EQ(nullptr, bucket->empty_slot_spans_head); - EXPECT_EQ(1, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); // Lazy commit commits only needed pages. size_t expected_committed_size = kUseLazyCommit ? SystemPageSize() : PartitionPageSize(); EXPECT_EQ(expected_committed_size, allocator.root()->get_total_size_of_committed_pages()); allocator.root()->Free(ptr); - EXPECT_EQ(0, slot_span->num_allocated_slots); - EXPECT_NE(-1, slot_span->empty_cache_index); + EXPECT_EQ(0u, slot_span->num_allocated_slots); + EXPECT_TRUE(slot_span->in_empty_cache); EXPECT_TRUE(slot_span->get_freelist_head()); CycleFreeCache(kTestAllocSize); // Flushing the cache should have really freed the unused slot spans. EXPECT_FALSE(slot_span->get_freelist_head()); - EXPECT_EQ(-1, slot_span->empty_cache_index); - EXPECT_EQ(0, slot_span->num_allocated_slots); + EXPECT_FALSE(slot_span->in_empty_cache); + EXPECT_EQ(0u, slot_span->num_allocated_slots); size_t num_system_pages_per_slot_span = allocator.root() ->buckets[test_bucket_index_] .num_system_pages_per_slot_span; @@ -1808,16 +1808,26 @@ PartitionBucket<base::internal::ThreadSafe>* bucket = slot_span->bucket; EXPECT_EQ(nullptr, bucket->empty_slot_spans_head); - EXPECT_EQ(-1, slot_span->num_allocated_slots); - EXPECT_EQ(1, slot_span2->num_allocated_slots); + EXPECT_EQ(1u, slot_span->num_allocated_slots); + EXPECT_EQ(1u, slot_span2->num_allocated_slots); + EXPECT_TRUE(slot_span->is_full()); + EXPECT_TRUE(slot_span2->is_full()); + // The first span was kicked out from the active list, but the second one + // wasn't. + EXPECT_TRUE(slot_span->marked_full); + EXPECT_FALSE(slot_span2->marked_full); allocator.root()->Free(ptr); allocator.root()->Free(ptr2); EXPECT_TRUE(bucket->empty_slot_spans_head); EXPECT_TRUE(bucket->empty_slot_spans_head->next_slot_span); - EXPECT_EQ(0, slot_span->num_allocated_slots); - EXPECT_EQ(0, slot_span2->num_allocated_slots); + EXPECT_EQ(0u, slot_span->num_allocated_slots); + EXPECT_EQ(0u, slot_span2->num_allocated_slots); + EXPECT_FALSE(slot_span->is_full()); + EXPECT_FALSE(slot_span->is_full()); + EXPECT_FALSE(slot_span->marked_full); + EXPECT_FALSE(slot_span2->marked_full); EXPECT_TRUE(slot_span->get_freelist_head()); EXPECT_TRUE(slot_span2->get_freelist_head()); @@ -3045,11 +3055,15 @@ // Test that the optimized `GetSlotNumber` implementation produces valid // results. TEST_F(PartitionAllocTest, OptimizedGetSlotNumber) { - for (auto& bucket : allocator.root()->buckets) { - for (size_t slot = 0, offset = bucket.slot_size / 2; - slot < bucket.get_slots_per_span(); + for (size_t i = 0; i < kNumBuckets; ++i) { + auto& bucket = allocator.root()->buckets[i]; + if (SizeToIndex(bucket.slot_size) != i) + continue; + for (size_t slot = 0, offset = 0; slot < bucket.get_slots_per_span(); ++slot, offset += bucket.slot_size) { EXPECT_EQ(slot, bucket.GetSlotNumber(offset)); + EXPECT_EQ(slot, bucket.GetSlotNumber(offset + bucket.slot_size / 2)); + EXPECT_EQ(slot, bucket.GetSlotNumber(offset + bucket.slot_size - 1)); } } }
diff --git a/base/allocator/partition_allocator/partition_bucket.cc b/base/allocator/partition_allocator/partition_bucket.cc index cab197b4..fa3e2bfd 100644 --- a/base/allocator/partition_allocator/partition_bucket.cc +++ b/base/allocator/partition_allocator/partition_bucket.cc
@@ -336,9 +336,10 @@ PA_DCHECK(!page->has_valid_span_after_this); PA_DCHECK(!page->slot_span_metadata_offset); PA_DCHECK(!page->slot_span_metadata.next_slot_span); + PA_DCHECK(!page->slot_span_metadata.marked_full); PA_DCHECK(!page->slot_span_metadata.num_allocated_slots); PA_DCHECK(!page->slot_span_metadata.num_unprovisioned_slots); - PA_DCHECK(!page->slot_span_metadata.empty_cache_index); + PA_DCHECK(!page->slot_span_metadata.in_empty_cache); PA_DCHECK(!metadata->subsequent_page.subsequent_page_metadata.raw_size); // Raw size is set later, by the caller. @@ -703,7 +704,7 @@ ALWAYS_INLINE void PartitionBucket<thread_safe>::InitializeSlotSpan( SlotSpanMetadata<thread_safe>* slot_span) { new (slot_span) SlotSpanMetadata<thread_safe>(this); - slot_span->empty_cache_index = -1; + slot_span->in_empty_cache = 0; slot_span->Reset(); @@ -723,15 +724,16 @@ SlotSpanMetadata<thread_safe>* slot_span) { PA_DCHECK(slot_span != SlotSpanMetadata<thread_safe>::get_sentinel_slot_span()); - uint16_t num_slots = slot_span->num_unprovisioned_slots; + size_t num_slots = slot_span->num_unprovisioned_slots; PA_DCHECK(num_slots); + PA_DCHECK(num_slots <= get_slots_per_span()); // We should only get here when _every_ slot is either used or unprovisioned. - // (The third state is "on the freelist". If we have a non-empty freelist, we - // should not get here.) + // (The third possible state is "on the freelist". If we have a non-empty + // freelist, we should not get here.) PA_DCHECK(num_slots + slot_span->num_allocated_slots == get_slots_per_span()); // Similarly, make explicitly sure that the freelist is empty. PA_DCHECK(!slot_span->get_freelist_head()); - PA_DCHECK(slot_span->num_allocated_slots >= 0); + PA_DCHECK(!slot_span->is_full()); size_t size = slot_size; uintptr_t slot_span_start = reinterpret_cast<uintptr_t>( @@ -754,7 +756,7 @@ slot_span->num_allocated_slots++; // Round down, because a slot that doesn't fully fit in the new page(s) isn't // provisioned. - uint16_t slots_to_provision = (commit_end - return_slot) / size; + size_t slots_to_provision = (commit_end - return_slot) / size; slot_span->num_unprovisioned_slots -= slots_to_provision; PA_DCHECK(slot_span->num_allocated_slots + slot_span->num_unprovisioned_slots <= @@ -850,11 +852,11 @@ slot_span->next_slot_span = decommitted_slot_spans_head; decommitted_slot_spans_head = slot_span; } else { - PA_DCHECK(slot_span->is_full()); // If we get here, we found a full slot span. Skip over it too, and also - // mark it as full (via a negative value). We need it marked so that - // free'ing can tell, and move it back into the active list. - slot_span->num_allocated_slots = -slot_span->num_allocated_slots; + // mark it as full. We need it marked so that free'ing can tell, and move + // it back into the active list. + PA_DCHECK(slot_span->is_full()); + slot_span->marked_full = 1; ++num_full_slot_spans; // num_full_slot_spans is a uint16_t for efficient packing so guard // against overflow to be safe.
diff --git a/base/allocator/partition_allocator/partition_bucket.h b/base/allocator/partition_allocator/partition_bucket.h index 252cde5e..408f299b 100644 --- a/base/allocator/partition_allocator/partition_bucket.h +++ b/base/allocator/partition_allocator/partition_bucket.h
@@ -100,13 +100,15 @@ static_assert(kPartitionNumSystemPagesPerSlotSpanBits <= 8, ""); return num_system_pages_per_slot_span << SystemPageShift(); } - ALWAYS_INLINE uint16_t get_slots_per_span() const { - return static_cast<uint16_t>(GetSlotNumber(get_bytes_per_span())); + ALWAYS_INLINE size_t get_slots_per_span() const { + size_t ret = GetSlotNumber(get_bytes_per_span()); + PA_DCHECK(ret <= SlotSpanMetadata<thread_safe>::kMaxSlotsPerSlotSpan); + return ret; } // Returns a natural number of partition pages (calculated by // ComputeSystemPagesPerSlotSpan()) to allocate from the current super page // when the bucket runs out of slots. - ALWAYS_INLINE uint16_t get_pages_per_slot_span() const { + ALWAYS_INLINE size_t get_pages_per_slot_span() const { // Rounds up to nearest multiple of NumSystemPagesPerPartitionPage(). return (num_system_pages_per_slot_span + (NumSystemPagesPerPartitionPage() - 1)) /
diff --git a/base/allocator/partition_allocator/partition_lock_perftest.cc b/base/allocator/partition_allocator/partition_lock_perftest.cc index a3657fe..05c86ba 100644 --- a/base/allocator/partition_allocator/partition_lock_perftest.cc +++ b/base/allocator/partition_allocator/partition_lock_perftest.cc
@@ -70,7 +70,7 @@ TEST(PartitionLockPerfTest, Simple) { LapTimer timer(kWarmupRuns, kTimeLimit, kTimeCheckInterval); - uint32_t data = 0; + ALLOW_UNUSED_TYPE uint32_t data = 0; Lock lock; @@ -81,7 +81,6 @@ timer.NextLap(); } while (!timer.HasTimeLimitExpired()); - ALLOW_UNUSED_LOCAL(data); auto reporter = SetUpReporter(kStoryBaseline); reporter.AddResult(kMetricLockUnlockThroughput, timer.LapsPerSecond()); reporter.AddResult(kMetricLockUnlockLatency, 1e9 / timer.LapsPerSecond());
diff --git a/base/allocator/partition_allocator/partition_page.cc b/base/allocator/partition_allocator/partition_page.cc index 29398e824..865d280 100644 --- a/base/allocator/partition_allocator/partition_page.cc +++ b/base/allocator/partition_allocator/partition_page.cc
@@ -93,10 +93,8 @@ slot_span->ToSuperPageExtent()->DecrementNumberOfNonemptySlotSpans(); // If the slot span is already registered as empty, give it another life. - if (slot_span->empty_cache_index != -1) { - PA_DCHECK(slot_span->empty_cache_index >= 0); - PA_DCHECK(static_cast<unsigned>(slot_span->empty_cache_index) < - kMaxFreeableSpans); + if (slot_span->in_empty_cache) { + PA_DCHECK(slot_span->empty_cache_index < kMaxFreeableSpans); PA_DCHECK(root->global_empty_slot_span_ring[slot_span->empty_cache_index] == slot_span); root->global_empty_slot_span_ring[slot_span->empty_cache_index] = nullptr; @@ -116,6 +114,7 @@ // which has subpar memory management performance. root->global_empty_slot_span_ring[current_index] = slot_span; slot_span->empty_cache_index = current_index; + slot_span->in_empty_cache = 1; ++current_index; if (current_index == root->global_empty_slot_span_ring_size) current_index = 0; @@ -162,6 +161,32 @@ root->lock_.AssertAcquired(); #endif PA_DCHECK(this != get_sentinel_slot_span()); + + // The caller has already modified |num_allocated_slots|. It is a + // responsibility of this function to react to it, and update the state. We + // can get here only if the slot span is marked full and/or is now empty. Both + // are possible at the same time, which can happen when the caller lowered + // |num_allocated_slots| from "all" to 0 (common for single-slot spans). First + // execute the "is marked full" path, as it sets up |active_slot_spans_head| + // in a way later needed for the "is empty" path. + if (marked_full) { + // Direct map slot spans aren't added to any lists, hence never marked full. + PA_DCHECK(!bucket->is_direct_mapped()); + // Double check that the slot span was full. + PA_DCHECK(num_allocated_slots == + bucket->get_slots_per_span() - number_of_freed); + marked_full = 0; + // Fully used slot span became partially used. It must be put back on the + // non-full list. Also make it the current slot span to increase the + // chances of it being filled up again. The old current slot span will be + // the next slot span. + PA_DCHECK(!next_slot_span); + if (LIKELY(bucket->active_slot_spans_head != get_sentinel_slot_span())) + next_slot_span = bucket->active_slot_spans_head; + bucket->active_slot_spans_head = this; + --bucket->num_full_slot_spans; + } + if (LIKELY(num_allocated_slots == 0)) { // Slot span became fully unused. if (UNLIKELY(bucket->is_direct_mapped())) { @@ -181,31 +206,6 @@ SetRawSize(0); PartitionRegisterEmptySlotSpan(this); - } else { - PA_DCHECK(!bucket->is_direct_mapped()); - // Ensure that the slot span is full. That's the only valid case if we - // arrive here. - PA_DCHECK(num_allocated_slots < 0); - // A transition of num_allocated_slots from 0 to a negative value is not - // legal, and likely indicates a double-free. - PA_CHECK(static_cast<intptr_t>(num_allocated_slots) < - -static_cast<intptr_t>(number_of_freed)); - num_allocated_slots = -num_allocated_slots - 2 * number_of_freed; - PA_DCHECK(static_cast<size_t>(num_allocated_slots) == - bucket->get_slots_per_span() - number_of_freed); - // Fully used slot span became partially used. It must be put back on the - // non-full list. Also make it the current slot span to increase the - // chances of it being filled up again. The old current slot span will be - // the next slot span. - PA_DCHECK(!next_slot_span); - if (LIKELY(bucket->active_slot_spans_head != get_sentinel_slot_span())) - next_slot_span = bucket->active_slot_spans_head; - bucket->active_slot_spans_head = this; - --bucket->num_full_slot_spans; - // Special case: for a partition slot span with just a single slot, it may - // now be empty and we want to run it through the empty logic. - if (UNLIKELY(num_allocated_slots == 0)) - FreeSlowPath(number_of_freed /*ignored*/); } } @@ -244,10 +244,10 @@ void SlotSpanMetadata<thread_safe>::DecommitIfPossible( PartitionRoot<thread_safe>* root) { root->lock_.AssertAcquired(); - PA_DCHECK(empty_cache_index >= 0); - PA_DCHECK(static_cast<unsigned>(empty_cache_index) < kMaxFreeableSpans); + PA_DCHECK(in_empty_cache); + PA_DCHECK(empty_cache_index < kMaxFreeableSpans); PA_DCHECK(this == root->global_empty_slot_span_ring[empty_cache_index]); - empty_cache_index = -1; + in_empty_cache = 0; if (is_empty()) Decommit(root); } @@ -259,7 +259,7 @@ size_t num_provisioned_slots = bucket->get_slots_per_span() - num_unprovisioned_slots; - PA_CHECK(num_unprovisioned_slots <= kMaxSlotsPerSlotSpan); + PA_CHECK(num_provisioned_slots <= kMaxSlotsPerSlotSpan); size_t num_free_slots = 0; size_t slot_size = bucket->slot_size;
diff --git a/base/allocator/partition_allocator/partition_page.h b/base/allocator/partition_allocator/partition_page.h index cf86172..eeca533 100644 --- a/base/allocator/partition_allocator/partition_page.h +++ b/base/allocator/partition_allocator/partition_page.h
@@ -122,37 +122,47 @@ PartitionFreelistEntry* freelist_head = nullptr; public: - SlotSpanMetadata<thread_safe>* next_slot_span = nullptr; - PartitionBucket<thread_safe>* const bucket = nullptr; - // TODO(lizeb): Make as many fields as possible private or const, to // encapsulate things more clearly. - // - // Deliberately signed, 0 for empty or decommitted slot spans, -n for full - // slot spans: - int16_t num_allocated_slots = 0; - uint16_t num_unprovisioned_slots = 0; - // -1 if not in the empty cache. < kMaxFreeableSpans. - int16_t empty_cache_index : kEmptyCacheIndexBits; - uint16_t can_store_raw_size : 1; - uint16_t freelist_is_sorted : 1; - uint16_t unused : (16 - kEmptyCacheIndexBits - 1 - 1); - // Cannot use the full 64 bits in this bitfield, as this structure is embedded - // in PartitionPage, which has other fields as well, and must fit in 32 bytes. + SlotSpanMetadata<thread_safe>* next_slot_span = nullptr; + PartitionBucket<thread_safe>* const bucket = nullptr; // CHECK()ed in AllocNewSlotSpan(). #if defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE) // System page size is not a constant on Apple OSes, but is either 4 or 16kiB // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And // PartitionPageSize() is 4 times the OS page size. - static constexpr int16_t kMaxSlotsPerSlotSpan = + static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; #else // A slot span can "span" multiple PartitionPages, but then its slot size is // larger, so it doesn't have as many slots. - static constexpr int16_t kMaxSlotsPerSlotSpan = + static constexpr size_t kMaxSlotsPerSlotSpan = PartitionPageSize() / kSmallestBucket; #endif // defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE) + // The maximum number of bits needed to cover all currently supported OSes. + static constexpr size_t kMaxSlotsPerSlotSpanBits = 13; + static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), ""); + + // |marked_full| isn't equivalent to being full. Slot span is marked as full + // iff it isn't on the active slot span list (or any other list). + uint32_t marked_full : 1; + // |num_allocated_slots| is 0 for empty or decommitted slot spans, which can + // be further differentiated by checking existence of the freelist. + uint32_t num_allocated_slots : kMaxSlotsPerSlotSpanBits; + uint32_t num_unprovisioned_slots : kMaxSlotsPerSlotSpanBits; + + uint32_t can_store_raw_size : 1; + uint32_t freelist_is_sorted : 1; + uint32_t unused1 : (32 - 1 - 2 * kMaxSlotsPerSlotSpanBits - 1 - 1); + + // If |in_empty_cache|==1, |empty_cache_index| is undefined and mustn't be + // used. + uint16_t in_empty_cache : 1; + uint16_t empty_cache_index : kEmptyCacheIndexBits; // < kMaxFreeableSpans. + uint16_t unused2 : (16 - 1 - kEmptyCacheIndexBits); + // Can use only 48 bits (6B) in this bitfield, as this structure is embedded + // in PartitionPage which has 2B worth of fields and must fit in 32B. explicit SlotSpanMetadata(PartitionBucket<thread_safe>* bucket); @@ -252,15 +262,7 @@ // TODO(ajwong): Can this be made private? https://crbug.com/787153 BASE_EXPORT static SlotSpanMetadata* get_sentinel_slot_span(); - // Page State accessors. - // Note that it's only valid to call these functions on pages found on one of - // the page lists. Specifically, you can't call these functions on full pages - // that were detached from the active list. - // - // This restriction provides the flexibity for some of the status fields to - // be repurposed when a page is taken off a list. See the negation of - // |num_allocated_slots| when a full page is removed from the active list - // for an example of such repurposing. + // Slot span state getters. ALWAYS_INLINE bool is_active() const; ALWAYS_INLINE bool is_full() const; ALWAYS_INLINE bool is_empty() const; @@ -276,10 +278,15 @@ static SlotSpanMetadata sentinel_slot_span_; // For the sentinel. constexpr SlotSpanMetadata() noexcept - : empty_cache_index(0), + : marked_full(0), + num_allocated_slots(0), + num_unprovisioned_slots(0), can_store_raw_size(false), freelist_is_sorted(true), - unused(0) {} + unused1(0), + in_empty_cache(1), + empty_cache_index(0), + unused2(0) {} }; static_assert(sizeof(SlotSpanMetadata<ThreadSafe>) <= kPageMetadataSize, "SlotSpanMetadata must fit into a Page Metadata slot."); @@ -651,7 +658,6 @@ root->lock_.AssertAcquired(); #endif - PA_DCHECK(num_allocated_slots); auto* entry = reinterpret_cast<internal::PartitionFreelistEntry*>(slot_start); // Catches an immediate double free. PA_CHECK(entry != freelist_head); @@ -660,8 +666,12 @@ entry != freelist_head->GetNext(bucket->slot_size)); entry->SetNext(freelist_head); SetFreelistHead(entry); + // A best effort double-free check. Works only on empty slot spans. + PA_CHECK(num_allocated_slots); --num_allocated_slots; - if (UNLIKELY(num_allocated_slots <= 0)) { + // If the span is marked full, or became empty, take the slow path to update + // internal state. + if (UNLIKELY(marked_full || num_allocated_slots == 0)) { FreeSlowPath(1); } else { // All single-slot allocations must go through the slow path to @@ -702,10 +712,11 @@ tail->SetNext(freelist_head); SetFreelistHead(head); - PA_DCHECK(static_cast<size_t>(num_allocated_slots) >= number_of_freed); + PA_DCHECK(num_allocated_slots >= number_of_freed); num_allocated_slots -= number_of_freed; - - if (UNLIKELY(num_allocated_slots <= 0)) { + // If the span is marked full, or became empty, take the slow path to update + // internal state. + if (UNLIKELY(marked_full || num_allocated_slots == 0)) { FreeSlowPath(number_of_freed); } else { // All single-slot allocations must go through the slow path to @@ -717,8 +728,13 @@ template <bool thread_safe> ALWAYS_INLINE bool SlotSpanMetadata<thread_safe>::is_active() const { PA_DCHECK(this != get_sentinel_slot_span()); - return (num_allocated_slots > 0 && - (freelist_head || num_unprovisioned_slots)); + bool ret = + (num_allocated_slots > 0 && (freelist_head || num_unprovisioned_slots)); + if (ret) { + PA_DCHECK(!marked_full); + PA_DCHECK(num_allocated_slots < bucket->get_slots_per_span()); + } + return ret; } template <bool thread_safe> @@ -728,6 +744,7 @@ if (ret) { PA_DCHECK(!freelist_head); PA_DCHECK(!num_unprovisioned_slots); + // May or may not be marked full, so don't check for that. } return ret; } @@ -735,7 +752,11 @@ template <bool thread_safe> ALWAYS_INLINE bool SlotSpanMetadata<thread_safe>::is_empty() const { PA_DCHECK(this != get_sentinel_slot_span()); - return (!num_allocated_slots && freelist_head); + bool ret = (!num_allocated_slots && freelist_head); + if (ret) { + PA_DCHECK(!marked_full); + } + return ret; } template <bool thread_safe> @@ -743,8 +764,9 @@ PA_DCHECK(this != get_sentinel_slot_span()); bool ret = (!num_allocated_slots && !freelist_head); if (ret) { + PA_DCHECK(!marked_full); PA_DCHECK(!num_unprovisioned_slots); - PA_DCHECK(empty_cache_index == -1); + PA_DCHECK(!in_empty_cache); } return ret; }
diff --git a/base/allocator/partition_allocator/partition_root.cc b/base/allocator/partition_allocator/partition_root.cc index d0b9d27..4a4c687 100644 --- a/base/allocator/partition_allocator/partition_root.cc +++ b/base/allocator/partition_allocator/partition_root.cc
@@ -284,13 +284,15 @@ } if (unprovisioned_bytes && discard) { PA_DCHECK(truncated_slots > 0); - size_t num_new_entries = 0; - slot_span->num_unprovisioned_slots += - static_cast<uint16_t>(truncated_slots); + size_t new_unprovisioned_slots = + truncated_slots + slot_span->num_unprovisioned_slots; + PA_DCHECK(new_unprovisioned_slots <= bucket->get_slots_per_span()); + slot_span->num_unprovisioned_slots = new_unprovisioned_slots; // Rewrite the freelist. internal::PartitionFreelistEntry* head = nullptr; internal::PartitionFreelistEntry* back = head; + size_t num_new_entries = 0; for (size_t slot_index = 0; slot_index < num_slots; ++slot_index) { if (slot_usage[slot_index]) continue;
diff --git a/base/allocator/partition_allocator/partition_root.h b/base/allocator/partition_allocator/partition_root.h index 3645b6e..719ec04 100644 --- a/base/allocator/partition_allocator/partition_root.h +++ b/base/allocator/partition_allocator/partition_root.h
@@ -931,9 +931,11 @@ PA_DCHECK((slot_span_alignment >= PartitionPageSize()) && bits::IsPowerOfTwo(slot_span_alignment)); SlotSpan* slot_span = bucket->active_slot_spans_head; - // Check that this slot span is neither full nor freed. + // There always must be a slot span on the active list (could be a sentinel). PA_DCHECK(slot_span); - PA_DCHECK(slot_span->num_allocated_slots >= 0); + // Check that it isn't marked full, which could only be true if the span was + // removed from the active list. + PA_DCHECK(!slot_span->marked_full); uintptr_t slot_start = reinterpret_cast<uintptr_t>(slot_span->get_freelist_head());
diff --git a/base/allocator/partition_allocator/starscan/pcscan_internal.cc b/base/allocator/partition_allocator/starscan/pcscan_internal.cc index b89cecf..475987b 100644 --- a/base/allocator/partition_allocator/starscan/pcscan_internal.cc +++ b/base/allocator/partition_allocator/starscan/pcscan_internal.cc
@@ -90,7 +90,7 @@ }; thread_local size_t ReentrantScannerGuard::guard_ = 0; #else -struct [[maybe_unused]] ReentrantScannerGuard final{}; +struct ALLOW_UNUSED_TYPE ReentrantScannerGuard final {}; #endif // defined(PA_HAS_ALLOCATION_GUARD) // Scope that disables MTE checks. Only used inside scanning to avoid the race: @@ -943,10 +943,10 @@ #endif } -[[maybe_unused]] size_t FreeAndUnmarkInCardTable( - PartitionRoot<ThreadSafe>* root, - SlotSpanMetadata<ThreadSafe>* slot_span, - uintptr_t object) { +ALLOW_UNUSED_TYPE size_t +FreeAndUnmarkInCardTable(PartitionRoot<ThreadSafe>* root, + SlotSpanMetadata<ThreadSafe>* slot_span, + uintptr_t object) { object = memory::RemaskPtr(object); const size_t slot_size = slot_span->bucket->slot_size; uintptr_t slot_start = @@ -956,10 +956,10 @@ return slot_size; } -[[maybe_unused]] void SweepSuperPage(ThreadSafePartitionRoot* root, - uintptr_t super_page, - size_t epoch, - SweepStat& stat) { +ALLOW_UNUSED_TYPE void SweepSuperPage(ThreadSafePartitionRoot* root, + uintptr_t super_page, + size_t epoch, + SweepStat& stat) { auto* bitmap = StateBitmapFromAddr(super_page); ThreadSafePartitionRoot::FromFirstSuperPage(super_page); bitmap->IterateUnmarkedQuarantined(epoch, [root, &stat](uintptr_t object) { @@ -969,7 +969,7 @@ }); } -[[maybe_unused]] void SweepSuperPageAndDiscardMarkedQuarantine( +ALLOW_UNUSED_TYPE void SweepSuperPageAndDiscardMarkedQuarantine( ThreadSafePartitionRoot* root, uintptr_t super_page, size_t epoch, @@ -1003,7 +1003,7 @@ }); } -[[maybe_unused]] void SweepSuperPageWithBatchedFree( +ALLOW_UNUSED_TYPE void SweepSuperPageWithBatchedFree( ThreadSafePartitionRoot* root, uintptr_t super_page, size_t epoch,
diff --git a/base/allocator/partition_allocator/starscan/pcscan_unittest.cc b/base/allocator/partition_allocator/starscan/pcscan_unittest.cc index 0dd7138..6992433 100644 --- a/base/allocator/partition_allocator/starscan/pcscan_unittest.cc +++ b/base/allocator/partition_allocator/starscan/pcscan_unittest.cc
@@ -154,8 +154,7 @@ if (bucket.num_system_pages_per_slot_span == NumSystemPagesPerPartitionPage()) PA_EXPECT_PTR_EQ(reinterpret_cast<size_t>(first) & PartitionPageBaseMask(), reinterpret_cast<size_t>(last) & PartitionPageBaseMask()); - EXPECT_EQ(num_slots, static_cast<size_t>( - bucket.active_slot_spans_head->num_allocated_slots)); + EXPECT_EQ(num_slots, bucket.active_slot_spans_head->num_allocated_slots); EXPECT_EQ(nullptr, bucket.active_slot_spans_head->get_freelist_head()); EXPECT_TRUE(bucket.is_valid()); EXPECT_TRUE(bucket.active_slot_spans_head != @@ -663,8 +662,7 @@ PCScan::NotifyThreadCreated(GetStackPointer()); [this]() NOINLINE { // This writes the pointer to the stack. - auto* volatile stack_ref = dangling_reference; - ALLOW_UNUSED_LOCAL(stack_ref); + ALLOW_UNUSED_TYPE auto* volatile stack_ref = dangling_reference; [this]() NOINLINE { // Schedule PCScan but don't scan. SchedulePCScan();
diff --git a/base/allocator/partition_allocator/starscan/stack/stack_unittest.cc b/base/allocator/partition_allocator/starscan/stack/stack_unittest.cc index 0142f25..867ae81 100644 --- a/base/allocator/partition_allocator/starscan/stack/stack_unittest.cc +++ b/base/allocator/partition_allocator/starscan/stack/stack_unittest.cc
@@ -66,8 +66,7 @@ // No check that the needle is initially not found as on some platforms it // may be part of temporaries after setting it up through StackScanner. { - int* volatile tmp = scanner->needle(); - ALLOW_UNUSED_LOCAL(tmp); + ALLOW_UNUSED_TYPE int* volatile tmp = scanner->needle(); GetStack()->IteratePointers(scanner.get()); EXPECT_TRUE(scanner->found()); } @@ -80,10 +79,8 @@ // No check that the needle is initially not found as on some platforms it // may be part of temporaries after setting it up through StackScanner. { - char a = 'c'; - ALLOW_UNUSED_LOCAL(a); - int* volatile tmp = scanner->needle(); - ALLOW_UNUSED_LOCAL(tmp); + ALLOW_UNUSED_TYPE char a = 'c'; + ALLOW_UNUSED_TYPE int* volatile tmp = scanner->needle(); GetStack()->IteratePointers(scanner.get()); EXPECT_TRUE(scanner->found()); } @@ -329,8 +326,7 @@ void VisitStack(uintptr_t*, uintptr_t*) final { // Check that the stack doesn't get misaligned by asm trampolines. float f[4] = {0.}; - volatile auto xmm = ::_mm_load_ps(f); - ALLOW_UNUSED_LOCAL(xmm); + ALLOW_UNUSED_TYPE volatile auto xmm = ::_mm_load_ps(f); } };
diff --git a/base/compiler_specific.h b/base/compiler_specific.h index 5f96078..a3e0943 100644 --- a/base/compiler_specific.h +++ b/base/compiler_specific.h
@@ -240,9 +240,6 @@ #define HAS_FEATURE(FEATURE) 0 #endif -// Macro for telling -Wimplicit-fallthrough that a fallthrough is intentional. -#define FALLTHROUGH [[fallthrough]] - #if defined(COMPILER_GCC) #define PRETTY_FUNCTION __PRETTY_FUNCTION__ #elif defined(COMPILER_MSVC)
diff --git a/base/memory/raw_ptr_unittest.cc b/base/memory/raw_ptr_unittest.cc index 370ae46..c5f0c35 100644 --- a/base/memory/raw_ptr_unittest.cc +++ b/base/memory/raw_ptr_unittest.cc
@@ -211,10 +211,9 @@ is_valid = ptr || is_valid; // volatile, so won't be optimized if (ptr) is_valid = true; - bool is_not_valid = !ptr; + ALLOW_UNUSED_TYPE bool is_not_valid = !ptr; if (!ptr) is_not_valid = true; - ALLOW_UNUSED_LOCAL(is_not_valid); std::ignore = IsValidNoCast(ptr); std::ignore = IsValidNoCast2(ptr); FuncThatAcceptsBool(!ptr); @@ -234,9 +233,8 @@ // costly, so the caller has to be careful not to trigger this path. TEST_F(RawPtrTest, CastNotBoolOp) { CountingRawPtr<int> ptr = nullptr; - bool is_valid = ptr; + ALLOW_UNUSED_TYPE bool is_valid = ptr; is_valid = IsValidWithCast(ptr); - ALLOW_UNUSED_LOCAL(is_valid); FuncThatAcceptsBool(ptr); EXPECT_EQ(g_get_for_comparison_cnt, 0); EXPECT_EQ(g_get_for_extraction_cnt, 3);
diff --git a/build/check_gn_headers_whitelist.txt b/build/check_gn_headers_whitelist.txt index 5e3b602b..fcf7827 100644 --- a/build/check_gn_headers_whitelist.txt +++ b/build/check_gn_headers_whitelist.txt
@@ -66,9 +66,6 @@ components/login/login_export.h components/nacl/browser/nacl_browser_delegate.h components/nacl/renderer/ppb_nacl_private.h -components/omnibox/browser/autocomplete_i18n.h -components/omnibox/browser/autocomplete_provider_client.h -components/omnibox/browser/autocomplete_provider_listener.h components/policy/core/browser/configuration_policy_handler_parameters.h components/policy/proto/policy_proto_export.h components/rlz/rlz_tracker_delegate.h
diff --git a/build/config/ozone_extra.gni b/build/config/ozone_extra.gni index 57fa791..309f2e824 100644 --- a/build/config/ozone_extra.gni +++ b/build/config/ozone_extra.gni
@@ -22,3 +22,8 @@ # be listed here so that they get included into ui_test_support. # ozone_external_platform_ui_test_support_deps = [ "platform/foo1:ui_test_support", ... ] ozone_external_platform_ui_test_support_deps = [] + +# If a platform has a test support for interactive_ui_tests, the corresponding +# source_set can be listed here so that they can included into +# interactive_ui_tests. +ozone_external_interactive_ui_tests_deps = []
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1 index 1aca8e94..80fa063 100644 --- a/build/fuchsia/linux.sdk.sha1 +++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@ -7.20220112.3.1 +7.20220113.1.1
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1 index 1aca8e94..80fa063 100644 --- a/build/fuchsia/linux_internal.sdk.sha1 +++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@ -7.20220112.3.1 +7.20220113.1.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1 index 1aca8e94..0fce7a1 100644 --- a/build/fuchsia/mac.sdk.sha1 +++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@ -7.20220112.3.1 +7.20220113.0.1
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataCoordinator.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataCoordinator.java index 78a52de..9cf7b2a8 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataCoordinator.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataCoordinator.java
@@ -5,22 +5,16 @@ package org.chromium.chrome.browser.autofill_assistant.user_data; import android.app.Activity; -import android.os.Build; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; -import androidx.annotation.VisibleForTesting; - import org.chromium.chrome.autofill_assistant.R; import org.chromium.chrome.browser.autofill_assistant.AssistantTagsForTesting; import org.chromium.chrome.browser.autofill_assistant.LayoutUtils; import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantAdditionalSectionContainer; import org.chromium.ui.modelutil.PropertyModelChangeProcessor; -import java.text.DateFormat; -import java.util.Locale; - // TODO(crbug.com/806868): Use mCarouselCoordinator to show chips. /** @@ -35,20 +29,6 @@ public AssistantCollectUserDataCoordinator( Activity activity, AssistantCollectUserDataModel model) { - this(activity, model, - Build.VERSION.SDK_INT >= Build.VERSION_CODES.N - ? activity.getResources().getConfiguration().getLocales().get(0) - : activity.getResources().getConfiguration().locale); - } - - private AssistantCollectUserDataCoordinator( - Activity activity, AssistantCollectUserDataModel model, Locale locale) { - this(activity, model, locale, DateFormat.getDateInstance(DateFormat.MEDIUM, locale)); - } - - @VisibleForTesting - public AssistantCollectUserDataCoordinator(Activity activity, - AssistantCollectUserDataModel model, Locale locale, DateFormat dateFormat) { mActivity = activity; mModel = model; int sectionToSectionPadding = activity.getResources().getDimensionPixelSize(
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java index 750ea55a..e83dccb 100644 --- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java +++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java
@@ -73,11 +73,9 @@ import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.content_public.browser.test.util.TestThreadUtils; -import java.text.DateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Locale; /** * Tests for the Autofill Assistant collect user data UI. @@ -127,22 +125,6 @@ return coordinator; } - /** Creates a coordinator for use in UI tests, and adds it to the global view hierarchy. */ - private AssistantCollectUserDataCoordinator createCollectUserDataCoordinator( - AssistantCollectUserDataModel model, Locale locale, DateFormat dateFormat) - throws Exception { - AssistantCollectUserDataCoordinator coordinator = TestThreadUtils.runOnUiThreadBlocking( - () - -> new AssistantCollectUserDataCoordinator( - mTestRule.getActivity(), model, locale, dateFormat)); - - TestThreadUtils.runOnUiThreadBlocking( - () - -> AutofillAssistantUiTestUtil.attachToCoordinator( - mTestRule.getActivity(), coordinator.getView())); - return coordinator; - } - /** * Test assumptions about the initial state of the UI. */
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java index 29c63627..c01c41a 100644 --- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java +++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -19,7 +19,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; -import android.widget.ScrollView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -36,7 +35,6 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.feature_engagement.TrackerFactory; import org.chromium.chrome.browser.feed.componentinterfaces.SurfaceCoordinator; -import org.chromium.chrome.browser.feed.componentinterfaces.SurfaceCoordinator.StreamTabId; import org.chromium.chrome.browser.feed.sections.SectionHeaderListProperties; import org.chromium.chrome.browser.feed.sections.SectionHeaderView; import org.chromium.chrome.browser.feed.sections.SectionHeaderViewBinder; @@ -61,12 +59,10 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.settings.SettingsLauncher; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig; -import org.chromium.components.browser_ui.widget.displaystyle.ViewResizer; import org.chromium.components.feature_engagement.EventConstants; import org.chromium.components.feature_engagement.Tracker; import org.chromium.components.signin.identitymanager.ConsentLevel; import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout; -import org.chromium.ui.UiUtils; import org.chromium.ui.base.ViewUtils; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modelutil.ListModelChangeProcessor; @@ -116,9 +112,6 @@ private @Nullable FeedSurfaceLifecycleManager mFeedSurfaceLifecycleManager; private @Nullable View mSigninPromoView; private @Nullable FeedStreamViewResizer mStreamViewResizer; - // This is the "default"/interest feed stream, not necessarily the current stream. - // TODO(chili): Remove the necessity of this. - private @Nullable FeedStream mStream; // Feed header fields. private @Nullable PropertyModel mSectionHeaderModel; private @Nullable ViewGroup mViewportView; @@ -134,10 +127,6 @@ private @Nullable FeedSurfaceScopeDependencyProvider mDependencyProvider; private @Nullable HybridListRenderer mHybridListRenderer; - // Used when Feed is disabled by policy. - private @Nullable ScrollView mScrollViewForPolicy; - private @Nullable ViewResizer mScrollViewResizer; - // Used to handle things related to the main scrollable container of NTP surface. // In start surface, it does not track scrolling events - only the header offset. // In New Tab Page, it does not track the header offset (no header) - instead, it @@ -184,21 +173,6 @@ } } - /** - * Provides the additional capabilities needed for the {@link ScrollView}. - */ - private class PolicyScrollView extends ScrollView { - public PolicyScrollView(Context context) { - super(context); - } - - @Override - protected void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - mUiConfig.updateDisplayStyle(); - } - } - private class ScrollableContainerDelegateImpl implements ScrollableContainerDelegate { @Override public void addScrollListener(ScrollListener listener) { @@ -302,6 +276,18 @@ mRootView = new RootView(mActivity); mRootView.setPadding(0, resources.getDimensionPixelOffset(R.dimen.tab_strip_height), 0, 0); mUiConfig = new UiConfig(mRootView); + mRecyclerView = setUpView(); + mStreamViewResizer = FeedStreamViewResizer.createAndAttach( + mActivity, mRecyclerView, mUiConfig, mDefaultMarginPixels, mWideMarginPixels); + + // Pull-to-refresh set up. + if (mSwipeRefreshLayout != null && mSwipeRefreshLayout.getParent() == null) { + mSwipeRefreshLayout.addOnRefreshListener(this); + mSwipeRefreshLayout.addView(mRecyclerView); + mRootView.addView(mSwipeRefreshLayout); + } else { + mRootView.addView(mRecyclerView); + } mHandler = new Handler(Looper.getMainLooper()); @@ -332,12 +318,6 @@ // Creates streams, initiates content changes. mMediator.updateContent(); - - // Enable pull-to-refresh. - if (mSwipeRefreshLayout != null) { - mSwipeRefreshLayout.enableSwipe(externalScrollableContainerDelegate); - mSwipeRefreshLayout.addOnRefreshListener(this); - } } private void stopScrollTracking() { @@ -455,14 +435,9 @@ return mFeedSurfaceLifecycleManager; } - /** @return The {@link Stream} that this class holds. */ - Stream getStream() { - return mStream; - } - /** @return Whether the placeholder is shown. */ public boolean isPlaceholderShown() { - return mStream != null ? mStream.isPlaceholderShown() : false; + return mMediator.isPlaceholderShown(); } /** Launches autoplay settings activity. */ @@ -572,6 +547,16 @@ view.setClipToPadding(false); view.setBackgroundColor( MaterialColors.getColor(context, R.attr.default_bg_color_dynamic, TAG)); + + // Work around https://crbug.com/943873 where default focus highlight shows up after + // toggling dark mode. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + view.setDefaultFocusHighlightEnabled(false); + } + + if (mOverScrollDisabled) { + view.setOverScrollMode(View.OVER_SCROLL_NEVER); + } } else { view = null; } @@ -604,63 +589,37 @@ } /** - * Create a {@link Stream} for this class. + * Configures header views and properties for feed: + * Adds the feed headers, creates the feed lifecycle manager, adds swipe-to-refresh if needed. */ - void createStream() { - assert mStream == null; - - if (mScrollViewForPolicy != null) { - mRootView.removeView(mScrollViewForPolicy); - mScrollViewForPolicy = null; - mScrollViewResizer.detach(); - mScrollViewResizer = null; - } - mRecyclerView = setUpView(); - - mStream = createFeedStream(true); - mActionDelegate.onStreamCreated(); - mFeedSurfaceLifecycleManager = mDelegate.createStreamLifecycleManager(mActivity, this); - mRecyclerView.setBackgroundColor( - MaterialColors.getColor(mActivity, R.attr.default_bg_color_dynamic, TAG)); - - // For New Tab Page, mSwipeRefreshLayout has not been added to a view container. We need to - // do it here. - if (mSwipeRefreshLayout != null && mSwipeRefreshLayout.getParent() == null) { - mRootView.addView(mSwipeRefreshLayout); - mSwipeRefreshLayout.addView(mRecyclerView); - } else { - mRootView.addView(mRecyclerView); - } - - mStreamViewResizer = FeedStreamViewResizer.createAndAttach( - mActivity, mRecyclerView, mUiConfig, mDefaultMarginPixels, mWideMarginPixels); - - if (mNtpHeader != null) UiUtils.removeViewFromParent(mNtpHeader); - UiUtils.removeViewFromParent(mSectionHeaderView); - if (mSigninPromoView != null) UiUtils.removeViewFromParent(mSigninPromoView); - + void setupHeaders(boolean feedEnabled) { // Directly add header views to content manager. List<View> headerList = new ArrayList<>(); if (mNtpHeader != null) { headerList.add(mNtpHeader); } - headerList.add(mSectionHeaderView); + if (feedEnabled) { + mActionDelegate.onStreamCreated(); + mFeedSurfaceLifecycleManager = mDelegate.createStreamLifecycleManager(mActivity, this); + headerList.add(mSectionHeaderView); + if (mSwipeRefreshLayout != null) { + mSwipeRefreshLayout.enableSwipe(mScrollableContainerDelegate); + } + } else { + if (mFeedSurfaceLifecycleManager != null) { + mFeedSurfaceLifecycleManager.destroy(); + mFeedSurfaceLifecycleManager = null; + } + if (mSwipeRefreshLayout != null) { + mSwipeRefreshLayout.disableSwipe(); + } + } setHeaders(headerList); - // Work around https://crbug.com/943873 where default focus highlight shows up after - // toggling dark mode. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - mRecyclerView.setDefaultFocusHighlightEnabled(false); - } - // Explicitly request focus on the scroll container to avoid UrlBar being focused after - // the scroll container for policy is removed. + // mRootView containers are refreshed. mRecyclerView.requestFocus(); - - if (mOverScrollDisabled) { - mRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER); - } } /** @@ -697,56 +656,6 @@ } } - /** - * @return The {@link ScrollView} for displaying content for supervised user or enterprise - * policy. - */ - @VisibleForTesting - public ScrollView getScrollViewForPolicy() { - return mScrollViewForPolicy; - } - - /** - * Create a {@link ScrollView} for displaying content for supervised user or enterprise policy. - */ - void createScrollViewForPolicy() { - if (mStream != null) { - mStreamViewResizer.detach(); - mStreamViewResizer = null; - mRootView.removeView(mRecyclerView); - assert mFeedSurfaceLifecycleManager - != null - : "SurfaceLifecycleManager should not be null when the Stream is not null."; - mFeedSurfaceLifecycleManager.destroy(); - mFeedSurfaceLifecycleManager = null; - mStream = null; - mSigninPromoView = null; - } - - mScrollViewForPolicy = new PolicyScrollView(mActivity); - mScrollViewForPolicy.setBackgroundColor( - MaterialColors.getColor(mActivity, R.attr.default_bg_color_dynamic, TAG)); - mScrollViewForPolicy.setVerticalScrollBarEnabled(false); - - // Make scroll view focusable so that it is the next focusable view when the url bar clears - // focus. - mScrollViewForPolicy.setFocusable(true); - mScrollViewForPolicy.setFocusableInTouchMode(true); - mScrollViewForPolicy.setContentDescription( - mScrollViewForPolicy.getResources().getString(R.string.accessibility_new_tab_page)); - - if (mNtpHeader != null) { - UiUtils.removeViewFromParent(mNtpHeader); - mScrollViewForPolicy.addView(mNtpHeader); - } - mHeaderCount = 0; - - mRootView.addView(mScrollViewForPolicy); - mScrollViewResizer = ViewResizer.createAndAttach( - mScrollViewForPolicy, mUiConfig, mDefaultMarginPixels, mWideMarginPixels); - mScrollViewForPolicy.requestFocus(); - } - /** @return The {@link SectionHeaderListProperties} model for the Feed section header. */ @VisibleForTesting PropertyModel getSectionHeaderModelForTest() { @@ -768,11 +677,10 @@ * Update header views in the Feed. */ void updateHeaderViews(boolean isSignInPromoVisible) { - if (mStream == null) return; + if (!mMediator.hasStreams()) return; List<View> headers = new ArrayList<>(); if (mNtpHeader != null) { - assert mSectionHeaderView != null; headers.add(mNtpHeader); } @@ -815,7 +723,7 @@ void initializeBubbleTriggering() { // Don't do anything when there is no feed stream because the bubble isn't needed in that // case. - if (mStream == null) return; + if (!mMediator.hasStreams()) return; // Provide a delegate for the container of the feed surface that is handled by the feed // coordinator itself when not provided externally (e.g., by the NewTabPage). @@ -861,7 +769,7 @@ * deleted when disabled (e.g., by policy). */ private void stopBubbleTriggering() { - if (mStream != null && mScrollableContainerDelegate != null) { + if (mMediator.hasStreams() && mScrollableContainerDelegate != null) { if (mHeaderIphScrollListener != null) { mScrollableContainerDelegate.removeScrollListener(mHeaderIphScrollListener); mHeaderIphScrollListener = null; @@ -920,7 +828,7 @@ @Override public long getLastFetchTimeMs() { - return (mStream == null) ? 0 : mStream.getLastFetchTimeMs(); + return mMediator.getLastFetchTimeMsForCurrentStream(); } @Override
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java index 48e3eaac..0086a9c 100644 --- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java +++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
@@ -9,12 +9,8 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; -import android.graphics.Rect; import android.os.Handler; import android.view.View; -import android.view.ViewGroup.LayoutParams; -import android.view.ViewGroup.MarginLayoutParams; -import android.widget.ScrollView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -288,29 +284,26 @@ /** Update the content based on supervised user or enterprise policy. */ void updateContent() { mFeedEnabled = FeedFeatures.isFeedEnabled(); - if ((mFeedEnabled && !mTabToStreamMap.isEmpty()) - || (!mFeedEnabled && mCoordinator.getScrollViewForPolicy() != null)) { + if (mFeedEnabled == !mTabToStreamMap.isEmpty()) { return; } + RecyclerView recyclerView = mCoordinator.getRecyclerView(); + if (mSnapScrollHelper != null && recyclerView != null) { + mSnapScrollHelper.setView(recyclerView); + } + if (mFeedEnabled) { mIsLoadingFeed = true; - mCoordinator.createStream(); - RecyclerView recyclerView = mCoordinator.getRecyclerView(); - if (mSnapScrollHelper != null && recyclerView != null) { - mSnapScrollHelper.setView(recyclerView); - } + mCoordinator.setupHeaders(/* feedEnabled= */ true); + // Only set up stream if recycler view initiation did not fail. if (recyclerView != null) { initializePropertiesForStream(); } } else { + mCoordinator.setupHeaders(/* feedEnabled= */ false); destroyPropertiesForStream(); - mCoordinator.createScrollViewForPolicy(); - if (mSnapScrollHelper != null) { - mSnapScrollHelper.setView(mCoordinator.getScrollViewForPolicy()); - } - initializePropertiesForPolicy(); } } @@ -383,7 +376,8 @@ boolean suggestionsVisible = isSuggestionsVisible(); - addHeaderAndStream(getInterestFeedHeaderText(suggestionsVisible), mCoordinator.getStream()); + addHeaderAndStream( + getInterestFeedHeaderText(suggestionsVisible), mCoordinator.createFeedStream(true)); setHeaderIndicatorState(suggestionsVisible); // Build menu after section enabled key is set. @@ -563,9 +557,22 @@ } /** @return The stream that represents the 1st tab. */ - Stream getFirstStream() { - if (mTabToStreamMap.isEmpty()) return null; - return mTabToStreamMap.get(0); + boolean hasStreams() { + return !mTabToStreamMap.isEmpty(); + } + + boolean isActivityLoggingEnabledForCurrentStream() { + if (mCurrentStream == null) return false; + return mCurrentStream.isActivityLoggingEnabled(); + } + + long getLastFetchTimeMsForCurrentStream() { + if (mCurrentStream == null) return 0; + return mCurrentStream.getLastFetchTimeMs(); + } + + boolean isPlaceholderShown() { + return mCurrentStream == null ? false : mCurrentStream.isPlaceholderShown(); } @VisibleForTesting @@ -597,15 +604,15 @@ } private void initStreamHeaderViews() { - boolean signInPromoVisible = createSignInPromoIfNeeded(); + boolean signInPromoVisible = shouldShowSigninPromo(); mCoordinator.updateHeaderViews(signInPromoVisible); } /** - * Create and setup the SignInPromo if necessary. + * Determines whether a signin promo should be shown. * @return Whether the SignPromo should be visible. */ - private boolean createSignInPromoIfNeeded() { + private boolean shouldShowSigninPromo() { SigninPromoController.resetNTPSyncPromoLimitsIfHiddenForTooLong(); if (!SignInPromo.shouldCreatePromo() || !SigninPromoController.canShowSyncPromo( @@ -619,16 +626,6 @@ return mSignInPromo.isVisible(); } - private void updatePromoCardPadding(View promoCard) { - MarginLayoutParams layoutParams = promoCard.getLayoutParams() == null - ? new MarginLayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) - : (MarginLayoutParams) promoCard.getLayoutParams(); - layoutParams.bottomMargin = isSuggestionsVisible() - ? 0 - : mContext.getResources().getDimensionPixelSize(R.dimen.ntp_promo_bottom_margin); - promoCard.setLayoutParams(layoutParams); - } - /** Clear any dependencies related to the {@link Stream}. */ private void destroyPropertiesForStream() { if (mTabToStreamMap.isEmpty()) return; @@ -658,27 +655,13 @@ TemplateUrlServiceFactory.get().removeObserver(this); mSigninManager.getIdentityManager().removeObserver(this); - PropertyListModel<PropertyModel, PropertyKey> headerList = - mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY); - if (headerList.size() > 0) { - headerList.removeRange(0, headerList.size()); - } + mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY).clear(); if (mCoordinator.getSurfaceScope() != null) { mCoordinator.getSurfaceScope().getFeedLaunchReliabilityLogger().cancelPendingEvents(); } } - /** - * Initialize properties for the scroll view shown under supervised user or enterprise policy. - */ - private void initializePropertiesForPolicy() { - ScrollView view = mCoordinator.getScrollViewForPolicy(); - if (mSnapScrollHelper != null) { - view.getViewTreeObserver().addOnScrollChangedListener(mSnapScrollHelper::handleScroll); - } - } - private void setHeaderIndicatorState(boolean suggestionsVisible) { boolean isSignedIn = isSignedIn(); boolean isTabMode = isSignedIn && FeedFeatures.isWebFeedUIEnabled(); @@ -795,7 +778,7 @@ if (mCurrentStream != null) { mCurrentStream.toggledArticlesListVisible(isExpanded); } else { - mCoordinator.getStream().toggledArticlesListVisible(isExpanded); + mTabToStreamMap.get(0).toggledArticlesListVisible(isExpanded); } } @@ -898,23 +881,16 @@ } // TouchEnabledDelegate interface. - @Override public void setTouchEnabled(boolean enabled) { mTouchEnabled = enabled; } // ScrollDelegate interface. - @Override public boolean isScrollViewInitialized() { - if (mFeedEnabled) { - RecyclerView recyclerView = mCoordinator.getRecyclerView(); - return recyclerView != null && recyclerView.getHeight() > 0; - } else { - ScrollView scrollView = mCoordinator.getScrollViewForPolicy(); - return scrollView != null && scrollView.getHeight() > 0; - } + RecyclerView recyclerView = mCoordinator.getRecyclerView(); + return recyclerView != null && recyclerView.getHeight() > 0; } @Override @@ -923,54 +899,42 @@ // Stream is visible. if (!isScrollViewInitialized()) return 0; - if (mFeedEnabled) { - if (!isChildVisibleAtPosition(0)) { - return Integer.MIN_VALUE; - } - - LinearLayoutManager layoutManager = - (LinearLayoutManager) mCoordinator.getRecyclerView().getLayoutManager(); - if (layoutManager == null) { - return Integer.MIN_VALUE; - } - - View view = layoutManager.findViewByPosition(0); - if (view == null) { - return Integer.MIN_VALUE; - } - - return -view.getTop(); - } else { - return mCoordinator.getScrollViewForPolicy().getScrollY(); + if (!isChildVisibleAtPosition(0)) { + return Integer.MIN_VALUE; } + + LinearLayoutManager layoutManager = + (LinearLayoutManager) mCoordinator.getRecyclerView().getLayoutManager(); + if (layoutManager == null) { + return Integer.MIN_VALUE; + } + + View view = layoutManager.findViewByPosition(0); + if (view == null) { + return Integer.MIN_VALUE; + } + + return -view.getTop(); } @Override public boolean isChildVisibleAtPosition(int position) { if (!isScrollViewInitialized()) return false; - if (mFeedEnabled) { - LinearLayoutManager layoutManager = - (LinearLayoutManager) mCoordinator.getRecyclerView().getLayoutManager(); - if (layoutManager == null) { - return false; - } - - int firstItemPosition = layoutManager.findFirstVisibleItemPosition(); - int lastItemPosition = layoutManager.findLastVisibleItemPosition(); - if (firstItemPosition == RecyclerView.NO_POSITION - || lastItemPosition == RecyclerView.NO_POSITION) { - return false; - } - - return firstItemPosition <= position && position <= lastItemPosition; - } else { - ScrollView scrollView = mCoordinator.getScrollViewForPolicy(); - Rect rect = new Rect(); - scrollView.getHitRect(rect); - View child = scrollView.getChildAt(position); - return child != null && child.getLocalVisibleRect(rect); + LinearLayoutManager layoutManager = + (LinearLayoutManager) mCoordinator.getRecyclerView().getLayoutManager(); + if (layoutManager == null) { + return false; } + + int firstItemPosition = layoutManager.findFirstVisibleItemPosition(); + int lastItemPosition = layoutManager.findLastVisibleItemPosition(); + if (firstItemPosition == RecyclerView.NO_POSITION + || lastItemPosition == RecyclerView.NO_POSITION) { + return false; + } + + return firstItemPosition <= position && position <= lastItemPosition; } @Override @@ -984,11 +948,7 @@ // Calculating the snap position should be idempotent. assert scrollTo == mSnapScrollHelper.calculateSnapPosition(scrollTo); - if (mFeedEnabled) { - mCoordinator.getRecyclerView().smoothScrollBy(0, scrollTo - initialScroll); - } else { - mCoordinator.getScrollViewForPolicy().smoothScrollBy(0, scrollTo - initialScroll); - } + mCoordinator.getRecyclerView().smoothScrollBy(0, scrollTo - initialScroll); } @Override @@ -999,29 +959,28 @@ @Override public void onItemSelected(PropertyModel item) { int itemId = item.get(ListMenuItemProperties.MENU_ITEM_ID); - Stream stream = mCoordinator.getStream(); if (itemId == R.id.ntp_feed_header_menu_item_manage) { Intent intent = new Intent(mContext, FeedManagementActivity.class); mContext.startActivity(intent); } else if (itemId == R.id.ntp_feed_header_menu_item_activity) { mActionDelegate.openUrl(WindowOpenDisposition.CURRENT_TAB, new LoadUrlParams("https://myactivity.google.com/myactivity?product=50")); - if (stream != null) { - stream.recordActionManageActivity(); + if (mCurrentStream != null) { + mCurrentStream.recordActionManageActivity(); } FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MY_ACTIVITY); } else if (itemId == R.id.ntp_feed_header_menu_item_interest) { mActionDelegate.openUrl(WindowOpenDisposition.CURRENT_TAB, new LoadUrlParams("https://www.google.com/preferences/interests")); - if (stream != null) { - stream.recordActionManageInterests(); + if (mCurrentStream != null) { + mCurrentStream.recordActionManageInterests(); } FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_INTERESTS); } else if (itemId == R.id.ntp_feed_header_menu_item_reactions) { mActionDelegate.openUrl(WindowOpenDisposition.CURRENT_TAB, new LoadUrlParams("https://www.google.com/search/contributions/reactions")); - if (stream != null) { - stream.recordActionManageReactions(); + if (mCurrentStream != null) { + mCurrentStream.recordActionManageReactions(); } FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_INTERESTS); } else if (itemId == R.id.ntp_feed_header_menu_item_autoplay) { @@ -1029,8 +988,8 @@ FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_AUTOPLAY); } else if (itemId == R.id.ntp_feed_header_menu_item_learn) { mActionDelegate.openHelpPage(); - if (stream != null) { - stream.recordActionLearnMore(); + if (mCurrentStream != null) { + mCurrentStream.recordActionLearnMore(); } FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_LEARN_MORE); } else if (itemId == R.id.ntp_feed_header_menu_item_toggle_switch) { @@ -1142,4 +1101,9 @@ void setStreamForTesting(int key, Stream stream) { mTabToStreamMap.put(key, stream); } + + @VisibleForTesting + int getTabToStreamSizeForTesting() { + return mTabToStreamMap.size(); + } }
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml index c0b729bb..9ec6f62b 100644 --- a/chrome/android/java/res/values/dimens.xml +++ b/chrome/android/java/res/values/dimens.xml
@@ -175,7 +175,6 @@ <dimen name="ntp_logo_height">100dp</dimen> <dimen name="ntp_logo_margin_top">26dp</dimen> <dimen name="duet_ntp_logo_top_margin">-16dp</dimen> - <dimen name="ntp_promo_bottom_margin">16dp</dimen> <dimen name="ntp_search_box_height">48dp</dimen> <dimen name="ntp_search_box_transition_length">16dp</dimen> <dimen name="experimental_explore_sites_radius">8dp</dimen>
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBlobUrlTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBlobUrlTest.java index 3421191..81e8f099 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBlobUrlTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestBlobUrlTest.java
@@ -29,8 +29,13 @@ @MediumTest @Feature({"Payments"}) public void test() throws TimeoutException { + // Trigger the Blob URL load, and wait for it to finish. mPaymentRequestTestRule.openPageAndClickNode("buy"); mPaymentRequestTestRule.assertWaitForPageScaleFactorMatch(2); + + // Trigger the PaymentRequest, which should be rejected. + mPaymentRequestTestRule.executeJavaScriptAndWaitForResult("triggerPaymentRequest();"); + mPaymentRequestTestRule.expectResultContains( new String[] {"PaymentRequest is not defined"}); }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinatorTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinatorTest.java index dbc6d33..9e6f180d 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinatorTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinatorTest.java
@@ -335,6 +335,20 @@ .logUiStarting(SURFACE_TYPE, SURFACE_CREATION_TIME_NS); } + @Test + public void testSetupHeaders_feedOn() { + mCoordinator.setupHeaders(true); + // Item count contains: feed header only + assertEquals(1, mContentManagerCaptor.getValue().getItemCount()); + } + + @Test + public void testSetupHeaders_feedOff() { + mCoordinator.setupHeaders(false); + // Item count contains: nothing, since ntp header is null + assertEquals(0, mContentManagerCaptor.getValue().getItemCount()); + } + private boolean hasStreamBound() { if (mCoordinator.getMediatorForTesting().getCurrentStreamForTesting() == null) { return false;
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceMediatorTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceMediatorTest.java index 2936fbe..cb07ae5 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceMediatorTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/feed/FeedSurfaceMediatorTest.java
@@ -125,14 +125,12 @@ mocker.mock(FeedServiceBridgeJni.TEST_HOOKS, mFeedServiceBridgeJniMock); mocker.mock(WebFeedBridge.getTestHooksForTesting(), mWebFeedBridgeJniMock); - when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); when(mPrefService.getBoolean(Pref.ENABLE_WEB_FEED_UI)).thenReturn(true); when(mIdentityService.getSigninManager(any(Profile.class))).thenReturn(mSigninManager); when(mSigninManager.getIdentityManager()).thenReturn(mIdentityManager); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(true); when(mFeedSurfaceCoordinator.isActive()).thenReturn(true); when(mFeedSurfaceCoordinator.getRecyclerView()).thenReturn(new RecyclerView(mActivity)); - when(mFeedSurfaceCoordinator.getStream()).thenReturn(mForYouStream); when(mFeedSurfaceCoordinator.createFeedStream(eq(false))).thenReturn(mFollowingStream); when(mFeedSurfaceCoordinator.createFeedStream(eq(true))).thenReturn(mForYouStream); when(mFeedSurfaceCoordinator.getLaunchReliabilityLogger()) @@ -143,7 +141,9 @@ ObservableSupplierImpl<Boolean> hasUnreadContent = new ObservableSupplierImpl<>(); hasUnreadContent.set(false); when(mForYouStream.hasUnreadContent()).thenReturn(hasUnreadContent); + when(mForYouStream.getSectionType()).thenReturn(0); when(mFollowingStream.hasUnreadContent()).thenReturn(hasUnreadContent); + when(mFollowingStream.getSectionType()).thenReturn(1); FeedSurfaceMediator.setPrefForTest(mPrefChangeRegistrar, mPrefService); FeedFeatures.setFakePrefsForTest(mPrefService); @@ -205,6 +205,8 @@ @Test public void updateContent_openingTabIdFollowing() { when(mPrefService.getBoolean(Pref.ARTICLES_LIST_VISIBLE)).thenReturn(true); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + PropertyModel sectionHeaderModel = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOLLOWING, sectionHeaderModel); @@ -219,6 +221,8 @@ @Test public void updateContent_openingTabIdForYou() { when(mPrefService.getBoolean(Pref.ARTICLES_LIST_VISIBLE)).thenReturn(true); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + PropertyModel sectionHeaderModel = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, sectionHeaderModel); @@ -228,12 +232,51 @@ verify(mFollowingStream, never()).bind(any(), any(), any(), any(), any(), any(), anyInt()); assertEquals(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, sectionHeaderModel.get(SectionHeaderListProperties.CURRENT_TAB_INDEX_KEY)); + assertEquals(2, mFeedSurfaceMediator.getTabToStreamSizeForTesting()); + } + + @Test + public void testUpdateContent_policyFeedOnOff() { + PropertyModel sectionHeaderModel = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + mFeedSurfaceMediator = + createMediator(FeedSurfaceCoordinator.StreamTabId.FOLLOWING, sectionHeaderModel); + mFeedSurfaceMediator.onSurfaceOpened(); + // Turn feed on. + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator.updateContent(); + // Turn feed off. + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(false); + mFeedSurfaceMediator.updateContent(); + + verify(mFeedSurfaceCoordinator).setupHeaders(false); + assertEquals(0, mFeedSurfaceMediator.getTabToStreamSizeForTesting()); + } + + @Test + public void testUpdateContent_policyFeedOffOn() { + PropertyModel sectionHeaderModel = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + mFeedSurfaceMediator = + createMediator(FeedSurfaceCoordinator.StreamTabId.FOLLOWING, sectionHeaderModel); + mFeedSurfaceMediator.onSurfaceOpened(); + + // Turn feed off. + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(false); + mFeedSurfaceMediator.updateContent(); + + // Turn feed on. + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator.updateContent(); + + verify(mFeedSurfaceCoordinator).setupHeaders(true); + assertEquals(2, mFeedSurfaceMediator.getTabToStreamSizeForTesting()); } @Test public void testOnSurfaceClosed_launchInProgress() { when(mPrefService.getBoolean(Pref.ARTICLES_LIST_VISIBLE)).thenReturn(true); mFeedSurfaceMediator = createMediator(); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator.updateContent(); when(mLaunchReliabilityLogger.isLaunchInProgress()).thenReturn(true); @@ -246,6 +289,8 @@ @Test public void testOnSurfaceClosed_noLaunchInProgress() { when(mPrefService.getBoolean(Pref.ARTICLES_LIST_VISIBLE)).thenReturn(true); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(); mFeedSurfaceMediator.updateContent(); @@ -256,6 +301,8 @@ @Test public void testUpdateSectionHeader_signedInGseOn() { + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); @@ -274,6 +321,8 @@ @Test public void testUpdateSectionHeader_signedInGseOff() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(true); @@ -291,6 +340,8 @@ @Test public void testUpdateSectionHeader_signedOutGseOn() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(false); @@ -308,6 +359,8 @@ @Test public void testUpdateSectionHeader_signedOutGseOff() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(false); @@ -326,6 +379,8 @@ public void testUpdateSectionHeader_signedInNonGseOn() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(true); when(mUrlService.isDefaultSearchEngineGoogle()).thenReturn(false); @@ -342,6 +397,8 @@ @Test public void testUpdateSectionHeader_signedInNonGseOff() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(true); @@ -359,6 +416,8 @@ @Test public void testUpdateSectionHeader_signedOutNonGseOn() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(false); @@ -376,6 +435,8 @@ @Test public void testUpdateSectionHeader_signedOutNonGseOff() { PropertyModel model = SectionHeaderListProperties.create(TOOLBAR_HEIGHT); + when(mPrefService.getBoolean(Pref.ENABLE_SNIPPETS)).thenReturn(true); + mFeedSurfaceMediator = createMediator(FeedSurfaceCoordinator.StreamTabId.FOR_YOU, model); mFeedSurfaceMediator.updateContent(); when(mIdentityManager.hasPrimaryAccount(anyInt())).thenReturn(false);
diff --git a/chrome/android/profiles/newest.txt b/chrome/android/profiles/newest.txt index 9e3629e..667b0963 100644 --- a/chrome/android/profiles/newest.txt +++ b/chrome/android/profiles/newest.txt
@@ -1 +1 @@ -chromeos-chrome-amd64-99.0.4803.0_rc-r1-merged.afdo.bz2 +chromeos-chrome-amd64-99.0.4824.0_rc-r1-merged.afdo.bz2
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 1f1c061..e5258d1f 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -2454,6 +2454,7 @@ "//chrome/browser/ash/system_extensions", "//chrome/browser/ash/system_extensions/api/window_management", "//chrome/browser/nearby_sharing/common", + "//chrome/browser/policy:onc", "//chrome/browser/ui/webui/chromeos/add_supervision:mojo_bindings", "//chrome/browser/ui/webui/chromeos/audio:mojo_bindings", "//chrome/browser/ui/webui/chromeos/crostini_installer:mojo_bindings", @@ -4989,6 +4990,7 @@ allow_circular_includes_from += [ "//chrome/browser/ash/crosapi", "//chrome/browser/chromeos", + "//chrome/browser/policy:onc", ] if (target_cpu == "x64") {
diff --git a/chrome/browser/android/oom_intervention/oom_intervention_decider.cc b/chrome/browser/android/oom_intervention/oom_intervention_decider.cc index b8263e6..e84479d5 100644 --- a/chrome/browser/android/oom_intervention/oom_intervention_decider.cc +++ b/chrome/browser/android/oom_intervention/oom_intervention_decider.cc
@@ -140,7 +140,7 @@ auto* old_pref_value = prefs_->GetList(kBlacklist); if (!old_pref_value->GetList().empty()) { prefs_->Set(kBlocklist, *old_pref_value); - ListPrefUpdateDeprecated update(prefs_, kBlacklist); + ListPrefUpdate update(prefs_, kBlacklist); update->ClearList(); } @@ -176,7 +176,7 @@ const std::string& host) { if (IsInList(list_name, host)) return; - ListPrefUpdateDeprecated update(prefs_, list_name); + ListPrefUpdate update(prefs_, list_name); update->Append(host); if (update->GetList().size() > kMaxListSize) update->EraseListIter(update->GetList().begin());
diff --git a/chrome/browser/ash/borealis/borealis_features.cc b/chrome/browser/ash/borealis/borealis_features.cc index 204cd13..60220c5 100644 --- a/chrome/browser/ash/borealis/borealis_features.cc +++ b/chrome/browser/ash/borealis/borealis_features.cc
@@ -39,7 +39,7 @@ bool BorealisFeatures::IsAllowed() { AllowStatus reason = GetAllowanceForProfile(profile_); if (reason != AllowStatus::kAllowed) { - LOG(ERROR) << "Borealis is not allowed: " << reason; + VLOG(1) << "Borealis is not allowed: " << reason; return false; } return true;
diff --git a/chrome/browser/ash/browser_context_keyed_service_factories.cc b/chrome/browser/ash/browser_context_keyed_service_factories.cc index 3498e337..d6ba1b4 100644 --- a/chrome/browser/ash/browser_context_keyed_service_factories.cc +++ b/chrome/browser/ash/browser_context_keyed_service_factories.cc
@@ -26,8 +26,6 @@ #include "chrome/browser/ash/platform_keys/key_permissions/user_private_token_kpm_service_factory.h" #include "chrome/browser/ash/plugin_vm/plugin_vm_engagement_metrics_service.h" #include "chrome/browser/ash/policy/core/user_cloud_policy_token_forwarder_factory.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/ash/printing/history/print_job_history_service_factory.h" #include "chrome/browser/ash/printing/print_management/printing_manager_factory.h" #include "chrome/browser/ash/printing/synced_printers_manager_factory.h" @@ -89,9 +87,7 @@ platform_keys::UserPrivateTokenKeyPermissionsManagerServiceFactory:: GetInstance(); plugin_vm::PluginVmEngagementMetricsService::Factory::GetInstance(); - policy::PolicyCertServiceFactory::GetInstance(); policy::UserCloudPolicyTokenForwarderFactory::GetInstance(); - policy::UserNetworkConfigurationUpdaterFactory::GetInstance(); printing::print_management::PrintingManagerFactory::GetInstance(); PrintJobHistoryServiceFactory::GetInstance(); secure_channel::NearbyConnectorFactory::GetInstance();
diff --git a/chrome/browser/ash/login/app_mode/kiosk_browsertest.cc b/chrome/browser/ash/login/app_mode/kiosk_browsertest.cc index ff615b2..aa299a9 100644 --- a/chrome/browser/ash/login/app_mode/kiosk_browsertest.cc +++ b/chrome/browser/ash/login/app_mode/kiosk_browsertest.cc
@@ -2872,10 +2872,10 @@ void SetUpLocalState() override { // Simulate auto login request from the previous session. PrefService* prefs = g_browser_process->local_state(); - DictionaryPrefUpdateDeprecated dict_update( - prefs, KioskAppManager::kKioskDictionaryName); + DictionaryPrefUpdate dict_update(prefs, + KioskAppManager::kKioskDictionaryName); // The AutoLoginState is taken from KioskAppManager::AutoLoginState. - dict_update->SetInteger( + dict_update->SetIntKey( KioskAppManager::kKeyAutoLoginState, static_cast<int>(KioskAppManager::AutoLoginState::kRequested)); }
diff --git a/chrome/browser/ash/login/screen_manager.cc b/chrome/browser/ash/login/screen_manager.cc index 0a33372a..98d0209 100644 --- a/chrome/browser/ash/login/screen_manager.cc +++ b/chrome/browser/ash/login/screen_manager.cc
@@ -22,7 +22,7 @@ BaseScreen* ScreenManager::GetScreen(OobeScreenId screen) { auto iter = screens_.find(screen); - DCHECK(iter != screens_.end()) << "Failed to find screen " << screen; + CHECK(iter != screens_.end()) << "Failed to find screen " << screen; return iter->second.get(); } @@ -41,4 +41,8 @@ screens_[screen] = nullptr; } +void ScreenManager::Shutdown() { + screens_.clear(); +} + } // namespace ash
diff --git a/chrome/browser/ash/login/screen_manager.h b/chrome/browser/ash/login/screen_manager.h index 423a31f..b38f5635 100644 --- a/chrome/browser/ash/login/screen_manager.h +++ b/chrome/browser/ash/login/screen_manager.h
@@ -27,6 +27,9 @@ // Initialize all screen instances. void Init(std::vector<std::unique_ptr<BaseScreen>> screens); + // Destroys all screen instances. + void Shutdown(); + // Getter for screen. Does not create the screen. BaseScreen* GetScreen(OobeScreenId screen);
diff --git a/chrome/browser/ash/login/users/chrome_user_manager_impl.cc b/chrome/browser/ash/login/users/chrome_user_manager_impl.cc index ebb19f08..f4f2918 100644 --- a/chrome/browser/ash/login/users/chrome_user_manager_impl.cc +++ b/chrome/browser/ash/login/users/chrome_user_manager_impl.cc
@@ -59,9 +59,6 @@ #include "chrome/browser/ash/policy/external_data/handlers/printers_external_data_handler.h" #include "chrome/browser/ash/policy/external_data/handlers/user_avatar_image_external_data_handler.h" #include "chrome/browser/ash/policy/external_data/handlers/wallpaper_image_external_data_handler.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/ash/session_length_limiter.h" #include "chrome/browser/ash/settings/cros_settings.h" @@ -75,6 +72,8 @@ #include "chrome/browser/chromeos/extensions/permissions_updater_delegate_chromeos.h" #include "chrome/browser/extensions/extension_tab_util.h" #include "chrome/browser/extensions/permissions_updater.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_attributes_storage.h" #include "chrome/browser/profiles/profile_manager.h"
diff --git a/chrome/browser/ash/login/users/multi_profile_user_controller_unittest.cc b/chrome/browser/ash/login/users/multi_profile_user_controller_unittest.cc index 98d8d65..7260f1f9 100644 --- a/chrome/browser/ash/login/users/multi_profile_user_controller_unittest.cc +++ b/chrome/browser/ash/login/users/multi_profile_user_controller_unittest.cc
@@ -16,9 +16,9 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h" #include "chrome/browser/ash/login/users/multi_profile_user_controller_delegate.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/prefs/browser_prefs.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/scoped_testing_local_state.h"
diff --git a/chrome/browser/ash/login/wizard_controller.cc b/chrome/browser/ash/login/wizard_controller.cc index c5bb074f..068e65f5 100644 --- a/chrome/browser/ash/login/wizard_controller.cc +++ b/chrome/browser/ash/login/wizard_controller.cc
@@ -391,6 +391,10 @@ if (GetOobeUI()) { // could be null in unit tests. screen_manager_->Init(CreateScreens()); + // OOBE UI can be recreated in case of CrossOriginOpenerPolicyByDefault. + // TODO(crbug.com/1100879): Remove this logic after WebUI split is done, + // as screens should work with late binding/early unbinding in that case. + oobe_ui_observation_.Observe(GetOobeUI()); } } @@ -460,6 +464,12 @@ AdvanceToScreenAfterHIDDetection(first_screen); } +void WizardController::OnDestroyingOobeUI() { + // Reset screens, they should not access handlers anymore. + screen_manager_->Shutdown(); + oobe_ui_observation_.Reset(); +} + void WizardController::AdvanceToScreenAfterHIDDetection( OobeScreenId first_screen) { OobeScreenId actual_first_screen = first_screen;
diff --git a/chrome/browser/ash/login/wizard_controller.h b/chrome/browser/ash/login/wizard_controller.h index 92573f459..30e46a5 100644 --- a/chrome/browser/ash/login/wizard_controller.h +++ b/chrome/browser/ash/login/wizard_controller.h
@@ -12,11 +12,13 @@ #include "base/gtest_prod_util.h" #include "base/memory/weak_ptr.h" #include "base/observer_list.h" +#include "base/scoped_observation.h" #include "base/time/time.h" #include "chrome/browser/ash/accessibility/accessibility_manager.h" #include "chrome/browser/ash/login/demo_mode/demo_session.h" #include "chrome/browser/ash/login/enrollment/auto_enrollment_controller.h" #include "chrome/browser/ash/login/enrollment/enrollment_screen.h" +#include "chrome/browser/ash/login/oobe_screen.h" #include "chrome/browser/ash/login/screen_manager.h" #include "chrome/browser/ash/login/screens/active_directory_login_screen.h" #include "chrome/browser/ash/login/screens/arc_terms_of_service_screen.h" @@ -56,6 +58,7 @@ #include "chrome/browser/ash/login/screens/user_creation_screen.h" #include "chrome/browser/ash/login/screens/welcome_screen.h" #include "chrome/browser/ash/policy/enrollment/enrollment_config.h" +#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" #include "components/account_id/account_id.h" #include "third_party/abseil-cpp/absl/types/optional.h" @@ -77,7 +80,7 @@ // Class that manages control flow between wizard screens. Wizard controller // interacts with screen controllers to move the user between screens. -class WizardController { +class WizardController : public OobeUI::Observer { public: class ScreenObserver : public base::CheckedObserver { public: @@ -96,7 +99,7 @@ WizardController(const WizardController&) = delete; WizardController& operator=(const WizardController&) = delete; - ~WizardController(); + ~WizardController() override; // Returns the default wizard controller if it has been created. This is a // helper for LoginDisplayHost::default_host()->GetWizardController(); @@ -231,6 +234,10 @@ void AddObserver(ScreenObserver* obs); void RemoveObserver(ScreenObserver* obs); + // OobeUI::Observer + void OnCurrentScreenChanged(OobeScreenId, OobeScreenId) override {} + void OnDestroyingOobeUI() override; + private: // Create BaseScreen instances. These are owned by `screen_manager_`. std::vector<std::unique_ptr<BaseScreen>> CreateScreens(); @@ -513,6 +520,8 @@ bool is_initialized_ = false; + base::ScopedObservation<OobeUI, OobeUI::Observer> oobe_ui_observation_{this}; + base::ObserverList<ScreenObserver> screen_observers_; base::WeakPtrFactory<WizardController> weak_factory_{this};
diff --git a/chrome/browser/ash/plugin_vm/plugin_vm_installer_unittest.cc b/chrome/browser/ash/plugin_vm/plugin_vm_installer_unittest.cc index 92f13d9..22bbd1f7 100644 --- a/chrome/browser/ash/plugin_vm/plugin_vm_installer_unittest.cc +++ b/chrome/browser/ash/plugin_vm/plugin_vm_installer_unittest.cc
@@ -203,11 +203,10 @@ } void SetPluginVmImagePref(std::string url, std::string hash) { - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kPluginVmImage); - base::DictionaryValue* plugin_vm_image = update.Get(); - plugin_vm_image->SetKey("url", base::Value(url)); - plugin_vm_image->SetKey("hash", base::Value(hash)); + DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kPluginVmImage); + base::Value* plugin_vm_image = update.Get(); + plugin_vm_image->SetStringKey("url", url); + plugin_vm_image->SetStringKey("hash", hash); } void SetRequiredFreeDiskSpaceGBPref(int required_free_disk_space) {
diff --git a/chrome/browser/ash/plugin_vm/plugin_vm_util.cc b/chrome/browser/ash/plugin_vm/plugin_vm_util.cc index f452fb6..052ccb80 100644 --- a/chrome/browser/ash/plugin_vm/plugin_vm_util.cc +++ b/chrome/browser/ash/plugin_vm/plugin_vm_util.cc
@@ -75,11 +75,11 @@ const std::string& image_url, const std::string& image_hash, const std::string& license_key) { - DictionaryPrefUpdateDeprecated update(profile->GetPrefs(), - plugin_vm::prefs::kPluginVmImage); - base::DictionaryValue* dict = update.Get(); - dict->SetPath(prefs::kPluginVmImageUrlKeyName, base::Value(image_url)); - dict->SetPath(prefs::kPluginVmImageHashKeyName, base::Value(image_hash)); + DictionaryPrefUpdate update(profile->GetPrefs(), + plugin_vm::prefs::kPluginVmImage); + base::Value* dict = update.Get(); + dict->SetStringPath(prefs::kPluginVmImageUrlKeyName, image_url); + dict->SetStringPath(prefs::kPluginVmImageHashKeyName, image_hash); plugin_vm::PluginVmInstallerFactory::GetForProfile(profile) ->SkipLicenseCheckForTesting(); // IN-TEST MutableFakeLicenseKey() = license_key;
diff --git a/chrome/browser/ash/policy/core/browser_policy_connector_ash.cc b/chrome/browser/ash/policy/core/browser_policy_connector_ash.cc index 91ca790..b325188 100644 --- a/chrome/browser/ash/policy/core/browser_policy_connector_ash.cc +++ b/chrome/browser/ash/policy/core/browser_policy_connector_ash.cc
@@ -56,7 +56,6 @@ #include "chrome/browser/ash/policy/invalidation/affiliated_cloud_policy_invalidator.h" #include "chrome/browser/ash/policy/invalidation/affiliated_invalidation_service_provider.h" #include "chrome/browser/ash/policy/invalidation/affiliated_invalidation_service_provider_impl.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" #include "chrome/browser/ash/policy/remote_commands/affiliated_remote_commands_invalidator.h" #include "chrome/browser/ash/policy/scheduled_task_handler/device_scheduled_reboot_handler.h" #include "chrome/browser/ash/policy/scheduled_task_handler/device_scheduled_update_checker.h" @@ -68,6 +67,7 @@ #include "chrome/browser/ash/settings/device_settings_service.h" #include "chrome/browser/ash/system/timezone_util.h" #include "chrome/browser/policy/device_management_service_configuration.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" #include "chrome/common/chrome_features.h" #include "chrome/common/pref_names.h" #include "chromeos/cryptohome/system_salt_getter.h"
diff --git a/chrome/browser/ash/policy/core/device_local_account_browsertest.cc b/chrome/browser/ash/policy/core/device_local_account_browsertest.cc index 467631a..6f010dc 100644 --- a/chrome/browser/ash/policy/core/device_local_account_browsertest.cc +++ b/chrome/browser/ash/policy/core/device_local_account_browsertest.cc
@@ -75,7 +75,6 @@ #include "chrome/browser/ash/policy/core/device_local_account_policy_service.h" #include "chrome/browser/ash/policy/core/device_policy_cros_browser_test.h" #include "chrome/browser/ash/policy/external_data/cloud_external_data_manager_base_test_util.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/ash/system/timezone_util.h" #include "chrome/browser/browser_process.h" @@ -90,6 +89,7 @@ #include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/net/profile_network_context_service.h" #include "chrome/browser/net/profile_network_context_service_test_utils.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" #include "chrome/browser/policy/profile_policy_connector.h" #include "chrome/browser/prefs/session_startup_pref.h" #include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder.cc b/chrome/browser/ash/policy/core/device_policy_decoder.cc index bcf5f6e..67f5fc0 100644 --- a/chrome/browser/ash/policy/core/device_policy_decoder.cc +++ b/chrome/browser/ash/policy/core/device_policy_decoder.cc
@@ -2089,6 +2089,17 @@ nullptr); } } + + if (policy.has_device_run_automatic_cleanup_on_login()) { + const em::BooleanPolicyProto& container( + policy.device_run_automatic_cleanup_on_login()); + if (container.has_value()) { + policies->Set(key::kDeviceRunAutomaticCleanupOnLogin, + POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, + POLICY_SOURCE_CLOUD, base::Value(container.value()), + nullptr); + } + } } } // namespace
diff --git a/chrome/browser/ash/policy/enrollment/auto_enrollment_client_impl.cc b/chrome/browser/ash/policy/enrollment/auto_enrollment_client_impl.cc index b870ce0..fafcfd5 100644 --- a/chrome/browser/ash/policy/enrollment/auto_enrollment_client_impl.cc +++ b/chrome/browser/ash/policy/enrollment/auto_enrollment_client_impl.cc
@@ -61,7 +61,7 @@ } // Sets or clears a value in a dictionary. -void UpdateDict(base::DictionaryValue* dict, +void UpdateDict(base::Value* dict, const char* pref_path, bool set_or_clear, std::unique_ptr<base::Value> value) { @@ -1324,8 +1324,7 @@ StateDownloadMessageProcessor::ParsedResponse parsed_response = std::move(parsed_response_opt.value()); { - DictionaryPrefUpdateDeprecated dict(local_state_, - prefs::kServerBackedDeviceState); + DictionaryPrefUpdate dict(local_state_, prefs::kServerBackedDeviceState); UpdateDict(dict.Get(), kDeviceStateManagementDomain, parsed_response.management_domain.has_value(), std::make_unique<base::Value>(
diff --git a/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc b/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc index f043135..01d261c 100644 --- a/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc +++ b/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc
@@ -31,12 +31,12 @@ #include "chrome/browser/ash/policy/core/device_policy_cros_browser_test.h" #include "chrome/browser/ash/policy/login/login_policy_test_base.h" #include "chrome/browser/ash/policy/login/signin_profile_extensions_policy_test_base.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/net/nss_service.h" #include "chrome/browser/net/nss_service_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/policy/profile_policy_connector_builder.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h"
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc index f0b5b20..cdf80bfeb 100644 --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc
@@ -91,13 +91,7 @@ // Shows a confirmation dialog when updates to PWAs identity (name and icon) // have been detected. const base::Feature kPwaUpdateDialogForNameAndIcon{ - "PwaUpdateDialogForNameAndIcon", -#if defined(OS_ANDROID) - base::FEATURE_ENABLED_BY_DEFAULT -#else - base::FEATURE_DISABLED_BY_DEFAULT -#endif -}; + "PwaUpdateDialogForNameAndIcon", base::FEATURE_ENABLED_BY_DEFAULT}; // Gates sandboxed iframe navigation toward external protocol behind any of: // - allow-popups
diff --git a/chrome/browser/certificate_manager_model.cc b/chrome/browser/certificate_manager_model.cc index b462a82..36df573 100644 --- a/chrome/browser/certificate_manager_model.cc +++ b/chrome/browser/certificate_manager_model.cc
@@ -36,8 +36,8 @@ #include "chrome/browser/ash/certificate_provider/certificate_provider.h" #include "chrome/browser/ash/certificate_provider/certificate_provider_service.h" #include "chrome/browser/ash/certificate_provider/certificate_provider_service_factory.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h" #include "chromeos/components/onc/certificate_scope.h" #include "chromeos/network/policy_certificate_provider.h" #endif
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 6852ada..fdbdfb1 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -358,8 +358,6 @@ #include "chrome/browser/ash/login/signin_partition_manager.h" #include "chrome/browser/ash/login/startup_utils.h" #include "chrome/browser/ash/net/system_proxy_manager.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/ash/smb_client/fileapi/smbfs_file_system_backend_delegate.h" #include "chrome/browser/ash/system/input_device_settings.h" @@ -367,6 +365,8 @@ #include "chrome/browser/chromeos/fileapi/external_file_url_loader_factory.h" #include "chrome/browser/chromeos/fileapi/file_system_backend.h" #include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/speech/tts_chromeos.h" #include "chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.h" #include "chrome/browser/ui/browser_dialogs.h"
diff --git a/chrome/browser/chrome_content_browser_client_unittest.cc b/chrome/browser/chrome_content_browser_client_unittest.cc index 3714aaa..84e7df9 100644 --- a/chrome/browser/chrome_content_browser_client_unittest.cc +++ b/chrome/browser/chrome_content_browser_client_unittest.cc
@@ -72,8 +72,8 @@ #if BUILDFLAG(IS_CHROMEOS_ASH) #include "ash/webui/scanning/url_constants.h" #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "components/user_manager/scoped_user_manager.h" #endif // BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index 7f1d29e..cd5184ce 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -183,6 +183,7 @@ "//chrome/browser/metrics/structured", "//chrome/browser/nearby_sharing/common", "//chrome/browser/nearby_sharing/logging", + "//chrome/browser/policy:onc", "//chrome/browser/profiles", "//chrome/browser/profiles:profile", "//chrome/browser/resource_coordinator:tab_metrics_event_proto", @@ -542,6 +543,7 @@ "//chrome/browser/ash/crosapi", "//chrome/browser/extensions", "//chrome/browser/web_applications", + "//chrome/browser/policy:onc", ] sources = [ @@ -2567,20 +2569,8 @@ "../ash/policy/login/login_profile_policy_provider.h", "../ash/policy/login/wildcard_login_checker.cc", "../ash/policy/login/wildcard_login_checker.h", - "../ash/policy/networking/device_network_configuration_updater.cc", - "../ash/policy/networking/device_network_configuration_updater.h", "../ash/policy/networking/euicc_status_uploader.cc", "../ash/policy/networking/euicc_status_uploader.h", - "../ash/policy/networking/network_configuration_updater.cc", - "../ash/policy/networking/network_configuration_updater.h", - "../ash/policy/networking/policy_cert_service.cc", - "../ash/policy/networking/policy_cert_service.h", - "../ash/policy/networking/policy_cert_service_factory.cc", - "../ash/policy/networking/policy_cert_service_factory.h", - "../ash/policy/networking/user_network_configuration_updater.cc", - "../ash/policy/networking/user_network_configuration_updater.h", - "../ash/policy/networking/user_network_configuration_updater_factory.cc", - "../ash/policy/networking/user_network_configuration_updater_factory.h", "../ash/policy/off_hours/device_off_hours_controller.cc", "../ash/policy/off_hours/device_off_hours_controller.h", "../ash/policy/off_hours/off_hours_policy_applier.cc", @@ -4402,8 +4392,6 @@ "../ash/policy/invalidation/fake_affiliated_invalidation_service_provider.cc", "../ash/policy/invalidation/fake_affiliated_invalidation_service_provider.h", "../ash/policy/networking/euicc_status_uploader_unittest.cc", - "../ash/policy/networking/network_configuration_updater_unittest.cc", - "../ash/policy/networking/policy_cert_service_factory_unittest.cc", "../ash/policy/off_hours/device_off_hours_controller_unittest.cc", "../ash/policy/off_hours/off_hours_policy_applier_unittest.cc", "../ash/policy/off_hours/off_hours_proto_parser_unittest.cc",
diff --git a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc index 3c23dc83..45a7dc6 100644 --- a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc +++ b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc
@@ -551,7 +551,7 @@ quick_answers::prefs::kQuickAnswersTranslationEnabled) { DCHECK(value.is_bool()); } else if (pref_name == - quick_answers::prefs::kQuickAnswersUnitConverstionEnabled) { + quick_answers::prefs::kQuickAnswersUnitConversionEnabled) { DCHECK(value.is_bool()); } else if (pref_name == quick_answers::prefs::kQuickAnswersConsentStatus) { DCHECK(value.is_int());
diff --git a/chrome/browser/chromeos/policy/dlp/data_transfer_dlp_controller_browsertest.cc b/chrome/browser/chromeos/policy/dlp/data_transfer_dlp_controller_browsertest.cc index 10757b6..63223a6 100644 --- a/chrome/browser/chromeos/policy/dlp/data_transfer_dlp_controller_browsertest.cc +++ b/chrome/browser/chromeos/policy/dlp/data_transfer_dlp_controller_browsertest.cc
@@ -393,8 +393,8 @@ *DlpRulesManagerFactory::GetForPrimaryProfile(), &helper); { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST); @@ -478,8 +478,8 @@ SetupCrostini(); { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST); @@ -596,8 +596,8 @@ // TODO(1276069): Refactor duplicated code below. { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST); @@ -690,8 +690,8 @@ // TODO(1276069): Refactor duplicated code below. { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST); @@ -781,8 +781,8 @@ // TODO(1276069): Refactor duplicated code below. { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST); @@ -861,8 +861,8 @@ // TODO(1276069): Refactor duplicated code below. { - ListPrefUpdateDeprecated update(g_browser_process->local_state(), - policy_prefs::kDlpRulesList); + ListPrefUpdate update(g_browser_process->local_state(), + policy_prefs::kDlpRulesList); base::Value rule(base::Value::Type::DICTIONARY); base::Value src_urls(base::Value::Type::DICTIONARY); base::Value src_urls_list(base::Value::Type::LIST);
diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc index b4961a2..09b8d09b 100644 --- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc +++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
@@ -382,7 +382,7 @@ DeadlockCheckerObserver observer(&prefs, &provider); { - DictionaryPrefUpdateDeprecated update(&prefs, info->pref_name()); + DictionaryPrefUpdate update(&prefs, info->pref_name()); base::Value* mutable_settings = update.Get(); mutable_settings->SetKey("www.example.com,*", base::Value(base::Value::Type::DICTIONARY)); @@ -529,7 +529,7 @@ // Expect the prefs are not empty before we trigger clearing them. for (const char* pref : cleared_prefs) { - DictionaryPrefUpdateDeprecated update(&prefs, pref); + DictionaryPrefUpdate update(&prefs, pref); const base::Value* dictionary = update.Get(); ASSERT_FALSE(dictionary->DictEmpty()); } @@ -539,7 +539,7 @@ // Ensure they become empty afterwards. for (const char* pref : cleared_prefs) { - DictionaryPrefUpdateDeprecated update(&prefs, pref); + DictionaryPrefUpdate update(&prefs, pref); const base::Value* dictionary = update.Get(); EXPECT_TRUE(dictionary->DictEmpty()); } @@ -551,7 +551,7 @@ }; for (const char* pref : nonempty_prefs) { - DictionaryPrefUpdateDeprecated update(&prefs, pref); + DictionaryPrefUpdate update(&prefs, pref); const base::Value* dictionary = update.Get(); EXPECT_EQ(1u, dictionary->DictSize()); }
diff --git a/chrome/browser/content_settings/host_content_settings_map_unittest.cc b/chrome/browser/content_settings/host_content_settings_map_unittest.cc index 6f3619e..a46f357 100644 --- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc +++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
@@ -1086,8 +1086,8 @@ // Set utf-8 data. { - DictionaryPrefUpdateDeprecated update( - prefs, GetPrefName(ContentSettingsType::COOKIES)); + DictionaryPrefUpdate update(prefs, + GetPrefName(ContentSettingsType::COOKIES)); base::Value* all_settings_dictionary = update.Get(); ASSERT_TRUE(all_settings_dictionary);
diff --git a/chrome/browser/device_api/device_service_unittest.cc b/chrome/browser/device_api/device_service_unittest.cc index 8c5f477..32cdfa8 100644 --- a/chrome/browser/device_api/device_service_unittest.cc +++ b/chrome/browser/device_api/device_service_unittest.cc
@@ -59,16 +59,16 @@ } void InstallTrustedApp() { - ListPrefUpdateDeprecated update(profile()->GetPrefs(), - prefs::kWebAppInstallForceList); - base::DictionaryValue app_policy; - app_policy.SetString(web_app::kUrlKey, kDefaultAppInstallUrl); + ListPrefUpdate update(profile()->GetPrefs(), + prefs::kWebAppInstallForceList); + base::Value app_policy(base::Value::Type::DICTIONARY); + app_policy.SetStringKey(web_app::kUrlKey, kDefaultAppInstallUrl); update->Append(std::move(app_policy)); } void RemoveTrustedApp() { - ListPrefUpdateDeprecated update(profile()->GetPrefs(), - prefs::kWebAppInstallForceList); + ListPrefUpdate update(profile()->GetPrefs(), + prefs::kWebAppInstallForceList); update->ClearList(); } @@ -81,8 +81,8 @@ } void RemoveAllowedOrigin() { - ListPrefUpdateDeprecated update(profile()->GetPrefs(), - prefs::kDeviceAttributesAllowedForOrigins); + ListPrefUpdate update(profile()->GetPrefs(), + prefs::kDeviceAttributesAllowedForOrigins); update->ClearList(); }
diff --git a/chrome/browser/device_api/managed_configuration_api.cc b/chrome/browser/device_api/managed_configuration_api.cc index 1aaab000..3693259 100644 --- a/chrome/browser/device_api/managed_configuration_api.cc +++ b/chrome/browser/device_api/managed_configuration_api.cc
@@ -315,8 +315,8 @@ PostStoreConfiguration(origin, base::DictionaryValue()); return; } - DictionaryPrefUpdateDeprecated update( - profile_->GetPrefs(), prefs::kLastManagedConfigurationHashForOrigin); + DictionaryPrefUpdate update(profile_->GetPrefs(), + prefs::kLastManagedConfigurationHashForOrigin); update.Get()->SetStringKey(GetOriginEncoded(origin), url_hash); // We need to transform each value into a string.
diff --git a/chrome/browser/devtools/devtools_file_helper.cc b/chrome/browser/devtools/devtools_file_helper.cc index dff7c97..c87399d 100644 --- a/chrome/browser/devtools/devtools_file_helper.cc +++ b/chrome/browser/devtools/devtools_file_helper.cc
@@ -306,9 +306,9 @@ *g_last_save_path.Pointer() = path; saved_files_[url] = path; - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kDevToolsEditedFiles); - base::DictionaryValue* files_map = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), + prefs::kDevToolsEditedFiles); + base::Value* files_map = update.Get(); files_map->SetKey(base::MD5String(url), base::FilePathToValue(path)); std::string file_system_path = path.AsUTF8Unsafe(); std::move(callback).Run(file_system_path); @@ -374,9 +374,9 @@ std::string file_system_id = RegisterFileSystem(web_contents_, path); std::string file_system_path = path.AsUTF8Unsafe(); - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kDevToolsFileSystemPaths); - base::DictionaryValue* file_systems_paths_value = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), + prefs::kDevToolsFileSystemPaths); + base::Value* file_systems_paths_value = update.Get(); file_systems_paths_value->SetKey(file_system_path, base::Value(type)); } @@ -426,9 +426,9 @@ base::FilePath path = base::FilePath::FromUTF8Unsafe(file_system_path); isolated_context()->RevokeFileSystemByPath(path); - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kDevToolsFileSystemPaths); - base::DictionaryValue* file_systems_paths_value = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), + prefs::kDevToolsFileSystemPaths); + base::Value* file_systems_paths_value = update.Get(); file_systems_paths_value->RemoveKey(file_system_path); }
diff --git a/chrome/browser/devtools/devtools_settings.cc b/chrome/browser/devtools/devtools_settings.cc index c183558c..a5bb025 100644 --- a/chrome/browser/devtools/devtools_settings.cc +++ b/chrome/browser/devtools/devtools_settings.cc
@@ -54,13 +54,13 @@ prefs->GetDictionary(dictionary_to_insert_into)->FindStringKey(name); if (dictionary_to_insert_into == prefs::kDevToolsPreferences || !already_synced_value) { - DictionaryPrefUpdateDeprecated insert_update(profile_->GetPrefs(), - dictionary_to_insert_into); - insert_update.Get()->SetKey(name, base::Value(*settings_value)); + DictionaryPrefUpdate insert_update(profile_->GetPrefs(), + dictionary_to_insert_into); + insert_update.Get()->SetStringKey(name, *settings_value); } - DictionaryPrefUpdateDeprecated remove_update(profile_->GetPrefs(), - dictionary_to_remove_from); + DictionaryPrefUpdate remove_update(profile_->GetPrefs(), + dictionary_to_remove_from); remove_update.Get()->RemoveKey(name); } @@ -101,9 +101,9 @@ return; } - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - GetDictionaryNameForSettingsName(name)); - update.Get()->SetKey(name, base::Value(value)); + DictionaryPrefUpdate update(profile_->GetPrefs(), + GetDictionaryNameForSettingsName(name)); + update.Get()->SetStringKey(name, value); } void DevToolsSettings::Remove(const std::string& name) { @@ -113,21 +113,21 @@ return; } - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - GetDictionaryNameForSettingsName(name)); + DictionaryPrefUpdate update(profile_->GetPrefs(), + GetDictionaryNameForSettingsName(name)); update.Get()->RemoveKey(name); } void DevToolsSettings::Clear() { profile_->GetPrefs()->SetBoolean(prefs::kDevToolsSyncPreferences, kSyncDevToolsPreferencesDefault); - DictionaryPrefUpdateDeprecated unsynced_update(profile_->GetPrefs(), - prefs::kDevToolsPreferences); + DictionaryPrefUpdate unsynced_update(profile_->GetPrefs(), + prefs::kDevToolsPreferences); unsynced_update.Get()->DictClear(); - DictionaryPrefUpdateDeprecated sync_enabled_update( + DictionaryPrefUpdate sync_enabled_update( profile_->GetPrefs(), prefs::kDevToolsSyncedPreferencesSyncEnabled); sync_enabled_update.Get()->DictClear(); - DictionaryPrefUpdateDeprecated sync_disabled_update( + DictionaryPrefUpdate sync_disabled_update( profile_->GetPrefs(), prefs::kDevToolsSyncedPreferencesSyncDisabled); sync_disabled_update.Get()->DictClear(); } @@ -169,11 +169,9 @@ sync_enabled ? prefs::kDevToolsSyncedPreferencesSyncDisabled : prefs::kDevToolsSyncedPreferencesSyncEnabled; - DictionaryPrefUpdateDeprecated target_update(profile_->GetPrefs(), - target_dictionary); + DictionaryPrefUpdate target_update(profile_->GetPrefs(), target_dictionary); target_update.Get()->MergeDictionary( profile_->GetPrefs()->GetDictionary(source_dictionary)); - DictionaryPrefUpdateDeprecated source_update(profile_->GetPrefs(), - source_dictionary); + DictionaryPrefUpdate source_update(profile_->GetPrefs(), source_dictionary); source_update.Get()->DictClear(); }
diff --git a/chrome/browser/devtools/devtools_settings_unittest.cc b/chrome/browser/devtools/devtools_settings_unittest.cc index cde2148..eb47a37 100644 --- a/chrome/browser/devtools/devtools_settings_unittest.cc +++ b/chrome/browser/devtools/devtools_settings_unittest.cc
@@ -102,9 +102,9 @@ // 2) Simulate the update to synced plus setting of a new value on a // different device. { - DictionaryPrefUpdateDeprecated update( - profile_.GetPrefs(), prefs::kDevToolsSyncedPreferencesSyncEnabled); - update.Get()->SetKey("setting", base::Value("overwritten synced value")); + DictionaryPrefUpdate update(profile_.GetPrefs(), + prefs::kDevToolsSyncedPreferencesSyncEnabled); + update.Get()->SetStringKey("setting", "overwritten synced value"); } // 3) Move the setting from unsynced to synced on this device but expect the
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc index 42a76e66..909bac7 100644 --- a/chrome/browser/devtools/devtools_window.cc +++ b/chrome/browser/devtools/devtools_window.cc
@@ -133,8 +133,7 @@ absl::optional<base::Value> parsed = base::JSONReader::Read(json); if (!parsed || !parsed->is_dict()) return; - DictionaryPrefUpdateDeprecated update(profile->GetPrefs(), - prefs::kDevToolsPreferences); + DictionaryPrefUpdate update(profile->GetPrefs(), prefs::kDevToolsPreferences); for (auto dict_value : parsed->DictItems()) { if (!dict_value.second.is_string()) continue; @@ -1658,7 +1657,7 @@ ->FindKey(kDevToolsApp)) { // Ensure there is always a default size so that // BrowserFrame::InitBrowserFrame can retrieve it later. - DictionaryPrefUpdateDeprecated update(prefs, prefs::kAppWindowPlacement); + DictionaryPrefUpdate update(prefs, prefs::kAppWindowPlacement); base::Value* wp_prefs = update.Get(); base::Value dev_tools_defaults(base::Value::Type::DICTIONARY); dev_tools_defaults.SetIntKey("left", 100);
diff --git a/chrome/browser/extensions/api/commands/command_service.cc b/chrome/browser/extensions/api/commands/command_service.cc index 4a82592..210563e 100644 --- a/chrome/browser/extensions/api/commands/command_service.cc +++ b/chrome/browser/extensions/api/commands/command_service.cc
@@ -186,9 +186,8 @@ command_name != manifest_values::kBrowserActionCommandEvent && command_name != manifest_values::kActionCommandEvent)); - DictionaryPrefUpdateDeprecated updater(profile_->GetPrefs(), - prefs::kExtensionCommands); - base::DictionaryValue* bindings = updater.Get(); + DictionaryPrefUpdate updater(profile_->GetPrefs(), prefs::kExtensionCommands); + base::Value* bindings = updater.Get(); std::string key = GetPlatformKeybindingKeyForAccelerator(accelerator, extension_id); @@ -213,12 +212,12 @@ RemoveKeybindingPrefs(extension_id, command_name); // Set the keybinding pref. - auto keybinding = std::make_unique<base::DictionaryValue>(); - keybinding->SetString(kExtension, extension_id); - keybinding->SetString(kCommandName, command_name); - keybinding->SetBoolean(kGlobal, global); + base::Value keybinding(base::Value::Type::DICTIONARY); + keybinding.SetStringKey(kExtension, extension_id); + keybinding.SetStringKey(kCommandName, command_name); + keybinding.SetBoolKey(kGlobal, global); - bindings->Set(key, std::move(keybinding)); + bindings->SetKey(key, std::move(keybinding)); // Set the was_assigned pref for the suggested key. std::unique_ptr<base::DictionaryValue> command_keys( @@ -629,21 +628,19 @@ void CommandService::RemoveKeybindingPrefs(const std::string& extension_id, const std::string& command_name) { - DictionaryPrefUpdateDeprecated updater(profile_->GetPrefs(), - prefs::kExtensionCommands); - base::DictionaryValue* bindings = updater.Get(); + DictionaryPrefUpdate updater(profile_->GetPrefs(), prefs::kExtensionCommands); + base::Value* bindings = updater.Get(); typedef std::vector<std::string> KeysToRemove; KeysToRemove keys_to_remove; std::vector<Command> removed_commands; - for (base::DictionaryValue::Iterator it(*bindings); !it.IsAtEnd(); - it.Advance()) { + for (const auto it : bindings->DictItems()) { // Removal of keybinding preference should be limited to current platform. - if (!IsForCurrentPlatform(it.key())) + if (!IsForCurrentPlatform(it.first)) continue; - const base::DictionaryValue* item = NULL; - it.value().GetAsDictionary(&item); + const base::DictionaryValue* item = nullptr; + it.second.GetAsDictionary(&item); std::string extension; item->GetString(kExtension, &extension); @@ -657,7 +654,7 @@ continue; removed_commands.push_back(FindCommandByName(extension_id, command)); - keys_to_remove.push_back(it.key()); + keys_to_remove.push_back(it.first); } }
diff --git a/chrome/browser/extensions/api/commands/command_service_browsertest.cc b/chrome/browser/extensions/api/commands/command_service_browsertest.cc index b848c62..6cdca99f 100644 --- a/chrome/browser/extensions/api/commands/command_service_browsertest.cc +++ b/chrome/browser/extensions/api/commands/command_service_browsertest.cc
@@ -109,9 +109,9 @@ const Extension* extension = InstallExtension(extension_dir, 1); ASSERT_TRUE(extension); - DictionaryPrefUpdateDeprecated updater(browser()->profile()->GetPrefs(), - prefs::kExtensionCommands); - base::DictionaryValue* bindings = updater.Get(); + DictionaryPrefUpdate updater(browser()->profile()->GetPrefs(), + prefs::kExtensionCommands); + base::Value* bindings = updater.Get(); // Simulate command |toggle-feature| has been assigned with a shortcut on // another platform.
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc index 0f18983..218c157 100644 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -636,7 +636,7 @@ settings_api::PrefType::PREF_TYPE_BOOLEAN; (*s_allowlist)[quick_answers::prefs::kQuickAnswersTranslationEnabled] = settings_api::PrefType::PREF_TYPE_BOOLEAN; - (*s_allowlist)[quick_answers::prefs::kQuickAnswersUnitConverstionEnabled] = + (*s_allowlist)[quick_answers::prefs::kQuickAnswersUnitConversionEnabled] = settings_api::PrefType::PREF_TYPE_BOOLEAN; // Misc.
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/RefreshIphScrollListener.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/RefreshIphScrollListener.java index e2261e7..67bfc61 100644 --- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/RefreshIphScrollListener.java +++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/RefreshIphScrollListener.java
@@ -27,7 +27,6 @@ private final FeedBubbleDelegate mDelegate; private final ScrollableContainerDelegate mScrollableContainerDelegate; private final Runnable mShowIPHRunnable; - private int mMaxLastVisibleFeedItemPosition; /** * Constructor for IPH triggering.
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc index 7f8a240..6b1617f 100644 --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc
@@ -69,9 +69,9 @@ #include "chrome/browser/ash/certificate_provider/certificate_provider_service.h" #include "chrome/browser/ash/certificate_provider/certificate_provider_service_factory.h" #include "chrome/browser/ash/net/client_cert_store_ash.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/policy/profile_policy_connector.h" #include "components/user_manager/user.h" #include "components/user_manager/user_manager.h"
diff --git a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc index 9a0cd22b..5db5718 100644 --- a/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc +++ b/chrome/browser/password_manager/android/all_passwords_bottom_sheet_controller.cc
@@ -54,8 +54,10 @@ password_manager::ContentPasswordManagerDriverFactory* factory = password_manager::ContentPasswordManagerDriverFactory::FromWebContents( web_contents_); + auto* focused_frame = web_contents->GetFocusedFrame(); + CHECK(focused_frame->IsRenderFrameLive()); password_manager::ContentPasswordManagerDriver* driver = - factory->GetDriverForFrame(web_contents_->GetFocusedFrame()); + factory->GetDriverForFrame(focused_frame); driver_ = driver->AsWeakPtr(); client_ = ChromePasswordManagerClient::FromWebContents(web_contents_); }
diff --git a/chrome/browser/password_manager/android/password_accessory_controller_impl.cc b/chrome/browser/password_manager/android/password_accessory_controller_impl.cc index 6c28a0d..dac7be3 100644 --- a/chrome/browser/password_manager/android/password_accessory_controller_impl.cc +++ b/chrome/browser/password_manager/android/password_accessory_controller_impl.cc
@@ -504,6 +504,13 @@ return; } + // AllPasswordsBottomSheetController assumes that the focused frame has a live + // RenderFrame so that it can use the password manager driver. + // TODO(https://crbug.com/1286779): Investigate if focused frame really needs + // to return RenderFrameHosts with non-live RenderFrames. + if (!GetWebContents().GetFocusedFrame()->IsRenderFrameLive()) + return; + // We can use |base::Unretained| safely because at the time of calling // |AllPasswordsSheetDismissed| we are sure that this controller is alive as // it owns |AllPasswordsBottomSheetController| from which the method is
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc index 6e6eac2..eaefea0 100644 --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -503,6 +503,8 @@ #else password_manager::ContentPasswordManagerDriver* content_driver = driver_factory_->GetDriverForFrame(web_contents()->GetFocusedFrame()); + if (!content_driver) + return; #endif // Using unretained pointer is safe because |this| outlives // ContentPasswordManagerDriver that holds the connection. @@ -1006,6 +1008,9 @@ if (PasswordGenerationController::AllowedForWebContents(web_contents())) { PasswordManagerDriver* driver = driver_factory_->GetDriverForFrame( password_generation_driver_receivers_.GetCurrentTargetFrame()); + // This method is called over Mojo via a RenderFrameHostReceiverSet; the + // current target frame must be live. + DCHECK(driver); PasswordGenerationController* generation_controller = PasswordGenerationController::GetIfExisting(web_contents()); @@ -1022,6 +1027,9 @@ password_manager::ContentPasswordManagerDriver* driver = driver_factory_->GetDriverForFrame( password_generation_driver_receivers_.GetCurrentTargetFrame()); + // This method is called over Mojo via a RenderFrameHostReceiverSet; the + // current target frame must be live. + DCHECK(driver); // Attempt to show the autofill dropdown UI first. gfx::RectF element_bounds_in_top_frame_space = @@ -1046,6 +1054,9 @@ const std::u16string& password_value) { auto* driver = driver_factory_->GetDriverForFrame( password_generation_driver_receivers_.GetCurrentTargetFrame()); + // This method is called over Mojo via a RenderFrameHostReceiverSet; the + // current target frame must be live. + DCHECK(driver); gfx::RectF element_bounds_in_screen_space = GetBoundsInScreenSpace(TransformToRootCoordinates( password_generation_driver_receivers_.GetCurrentTargetFrame(), @@ -1080,6 +1091,9 @@ PasswordManagerDriver* driver = driver_factory_->GetDriverForFrame( password_generation_driver_receivers_.GetCurrentTargetFrame()); + // This method is called over Mojo via a RenderFrameHostReceiverSet; the + // current target frame must be live. + DCHECK(driver); password_manager_.OnPresaveGeneratedPassword( driver, password_manager::GetFormWithFrameAndFormMetaData( @@ -1092,6 +1106,9 @@ const autofill::FormData& form_data) { PasswordManagerDriver* driver = driver_factory_->GetDriverForFrame( password_generation_driver_receivers_.GetCurrentTargetFrame()); + // This method is called over Mojo via a RenderFrameHostReceiverSet; the + // current target frame must be live. + DCHECK(driver); password_manager_.OnPasswordNoLongerGenerated( driver, password_manager::GetFormWithFrameAndFormMetaData( password_generation_driver_receivers_.GetCurrentTargetFrame(),
diff --git a/chrome/browser/permissions/chrome_permission_request_manager_unittest.cc b/chrome/browser/permissions/chrome_permission_request_manager_unittest.cc index 21452a3..9b19518b 100644 --- a/chrome/browser/permissions/chrome_permission_request_manager_unittest.cc +++ b/chrome/browser/permissions/chrome_permission_request_manager_unittest.cc
@@ -591,8 +591,8 @@ WaitForBubbleToBeShown(); Deny(); - DictionaryPrefUpdateDeprecated update(profile()->GetPrefs(), - permissions::prefs::kPermissionActions); + DictionaryPrefUpdate update(profile()->GetPrefs(), + permissions::prefs::kPermissionActions); const auto permissions_actions = update->FindListPath("notifications")->GetList(); PermissionActionsHistoryFactory::GetForProfile(profile())->ClearHistory(
diff --git a/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc b/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc index de3a85a..6296337 100644 --- a/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc +++ b/chrome/browser/permissions/permissions_security_model_interactive_uitest.cc
@@ -19,6 +19,7 @@ #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_browser_test_utils.h" +#include "content/public/test/fenced_frame_test_util.h" #include "services/device/public/cpp/test/scoped_geolocation_overrider.h" #include "third_party/blink/public/common/web_preferences/web_preferences.h" #include "url/gurl.h" @@ -153,8 +154,6 @@ )"; // Tests of permissions behavior for an inheritance and embedding of an origin. -// Test fixtures are run with and without the `PermissionsRevisedOriginHandling` -// flag. class PermissionsSecurityModelInteractiveUITest : public InProcessBrowserTest { public: PermissionsSecurityModelInteractiveUITest() { @@ -172,6 +171,7 @@ embedder_support::kDisablePopupBlocking); } + protected: content::WebContents* OpenPopup(Browser* browser, const GURL& url) const { content::WebContents* contents = browser->tab_strip_model()->GetActiveWebContents(); @@ -247,6 +247,72 @@ EXPECT_EQ(1, bubble_factory->TotalRequestCount()); } + // Permissions are not allowed from FencedFrame contents. + void VerifyPermissionForFencedFrame( + content::WebContents* embedder_contents, + content::RenderFrameHost* fenced_rfh, + const std::string& request_permission_script, + const std::string& check_permission_script) { + content::RenderFrameHost* embedder_main_rfh = + embedder_contents->GetMainFrame(); + bool is_notification = request_permission_script == kRequestNotifications; + ASSERT_FALSE(content::EvalJs(embedder_main_rfh, check_permission_script) + .value.GetBool()); + ASSERT_FALSE( + content::EvalJs(fenced_rfh, check_permission_script).value.GetBool()); + + permissions::PermissionRequestManager* manager = + permissions::PermissionRequestManager::FromWebContents( + embedder_contents); + std::unique_ptr<permissions::MockPermissionPromptFactory> bubble_factory = + std::make_unique<permissions::MockPermissionPromptFactory>(manager); + + // Enable auto-accept of a permission request. + bubble_factory->set_response_type( + permissions::PermissionRequestManager::AutoResponseType::ACCEPT_ALL); + + // Move the web contents to the foreground. + embedder_main_rfh->GetView()->Focus(); + ASSERT_TRUE(embedder_main_rfh->GetView()->HasFocus()); + + // Request permission on the embedder contents. + EXPECT_EQ("granted", + content::EvalJs(embedder_main_rfh, request_permission_script, + is_notification + ? content::EXECUTE_SCRIPT_DEFAULT_OPTIONS + : content::EXECUTE_SCRIPT_USE_MANUAL_REPLY) + .ExtractString()); + EXPECT_EQ(1, bubble_factory->TotalRequestCount()); + + // Disable auto-accept of a permission request. + bubble_factory->set_response_type( + permissions::PermissionRequestManager::AutoResponseType::NONE); + + EXPECT_TRUE(content::EvalJs(embedder_main_rfh, check_permission_script) + .value.GetBool()); + + // MPArch RFH is not allowed to verify permissions. + EXPECT_FALSE( + content::EvalJs(fenced_rfh, check_permission_script).value.GetBool()); + + // Enable auto-accept of a permission request. + bubble_factory->set_response_type( + permissions::PermissionRequestManager::AutoResponseType::ACCEPT_ALL); + + // Request permission on the test RFH. + fenced_rfh->GetView()->Focus(); + ASSERT_TRUE(fenced_rfh->GetView()->HasFocus()); + EXPECT_EQ("denied", + content::EvalJs(fenced_rfh, request_permission_script, + is_notification + ? content::EXECUTE_SCRIPT_DEFAULT_OPTIONS + : content::EXECUTE_SCRIPT_USE_MANUAL_REPLY) + .ExtractString()); + + // There should not be the 2nd prompt. + EXPECT_EQ(1, bubble_factory->TotalRequestCount()); + } + // getUserMedia requires focus. It should be verified only on a popup window. void VerifyPopupWindowGetUserMedia(content::WebContents* opener_contents, content::WebContents* popup_contents) { @@ -283,6 +349,24 @@ EXPECT_TRUE(content::EvalJs(opener_rfh, kCheckCamera).value.GetBool()); } + void VerifyPermissionsForFencedFrame(content::WebContents* embedder_contents, + content::RenderFrameHost* fenced_rfh) { + const struct { + std::string check_permission; + std::string request_permission; + } kTests[] = { + {kCheckNotifications, kRequestNotifications}, + {kCheckGeolocation, kRequestGeolocation}, + {kCheckCamera, kRequestCamera}, + }; + + for (const auto& test : kTests) { + VerifyPermissionForFencedFrame(embedder_contents, fenced_rfh, + test.request_permission, + test.check_permission); + } + } + void VerifyPermissionsExceptGetUserMedia( content::WebContents* opener_or_embedder_contents, content::RenderFrameHost* test_rfh) { @@ -324,8 +408,13 @@ } } + content::test::FencedFrameTestHelper& fenced_frame_test_helper() { + return fenced_frame_helper_; + } + private: std::unique_ptr<device::ScopedGeolocationOverrider> geolocation_overrider_; + content::test::FencedFrameTestHelper fenced_frame_helper_; }; IN_PROC_BROWSER_TEST_F(PermissionsSecurityModelInteractiveUITest, @@ -823,6 +912,25 @@ // Media stream origin on NTP should equal to DSE. EXPECT_EQ(page_content_settings->media_stream_access_origin(), GURL("https://www.google.com")); +} -} // namespace +IN_PROC_BROWSER_TEST_F(PermissionsSecurityModelInteractiveUITest, + PermissionsRequestedFromFencedFrameTest) { + ASSERT_TRUE(embedded_test_server()->Start()); + + ASSERT_TRUE(ui_test_utils::NavigateToURL( + browser(), embedded_test_server()->GetURL("/title1.html"))); + content::WebContents* web_contents = + browser()->tab_strip_model()->GetActiveWebContents(); + + // Load a fenced frame. + GURL fenced_frame_url = + embedded_test_server()->GetURL("/fenced_frames/title1.html"); + content::RenderFrameHost* fenced_frame_host = + fenced_frame_test_helper().CreateFencedFrame(web_contents->GetMainFrame(), + fenced_frame_url); + ASSERT_TRUE(fenced_frame_host); + + VerifyPermissionsForFencedFrame(web_contents, fenced_frame_host); +} } // anonymous namespace
diff --git a/chrome/browser/policy/BUILD.gn b/chrome/browser/policy/BUILD.gn index 32844f0..674af300 100644 --- a/chrome/browser/policy/BUILD.gn +++ b/chrome/browser/policy/BUILD.gn
@@ -36,6 +36,54 @@ } } +source_set("onc") { + sources = [] + if (is_chromeos_ash) { + sources += [ + "networking/device_network_configuration_updater_ash.cc", + "networking/device_network_configuration_updater_ash.h", + "networking/network_configuration_updater.cc", + "networking/network_configuration_updater.h", + "networking/policy_cert_service.cc", + "networking/policy_cert_service.h", + "networking/policy_cert_service_factory.cc", + "networking/policy_cert_service_factory.h", + "networking/user_network_configuration_updater_ash.cc", + "networking/user_network_configuration_updater_ash.h", + "networking/user_network_configuration_updater_factory.cc", + "networking/user_network_configuration_updater_factory.h", + ] + } + + deps = [] + if (is_chromeos_ash) { + deps += [ + "//ash/components/settings:settings", + "//ash/constants:constants", + "//base", + "//base", + "//build:chromeos_buildflags", + "//chrome/browser:browser_process", + "//chrome/browser/extensions:extensions", + "//chrome/browser/profiles:profile", + "//chrome/browser/profiles:profiles", + "//chrome/common:constants", + "//chromeos/components/onc:onc", + "//chromeos/network:network", + "//chromeos/system:system", + "//chromeos/tpm:tpm", + "//components/keyed_service/content:content", + "//components/onc:onc", + "//components/policy/core/common", + "//components/policy/core/common:common_constants", + "//components/prefs:prefs", + "//components/user_manager:user_manager", + "//dbus", + "//extensions/browser:browser", + ] + } +} + source_set("test_support") { testonly = true @@ -310,3 +358,26 @@ deps += [ "//components/signin/public/identity_manager" ] } } + +source_set("unit_tests") { + testonly = true + + sources = [] + deps = [] + + if (is_chromeos_ash) { + sources += [ + "networking/network_configuration_updater_ash_unittest.cc", + "networking/policy_cert_service_factory_ash_unittest.cc", + ] + + deps += [ + ":onc", + "//chrome/browser/chromeos:test_support", + "//chrome/test:test_support", + "//chromeos/components/onc:test_support", + "//chromeos/system:system", + "//components/onc:onc", + ] + } +}
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc index 7048f3d..11eac87 100644 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1290,8 +1290,8 @@ { key::kQuickAnswersTranslationEnabled, quick_answers::prefs::kQuickAnswersTranslationEnabled, base::Value::Type::BOOLEAN }, - { key::kQuickAnswersUnitConverstionEnabled, - quick_answers::prefs::kQuickAnswersUnitConverstionEnabled, + { key::kQuickAnswersUnitConversionEnabled, + quick_answers::prefs::kQuickAnswersUnitConversionEnabled, base::Value::Type::BOOLEAN }, { key::kChromadToCloudMigrationEnabled, ash::prefs::kChromadToCloudMigrationEnabled,
diff --git a/chrome/browser/policy/networking/DEPS b/chrome/browser/policy/networking/DEPS new file mode 100644 index 0000000..319ea9c --- /dev/null +++ b/chrome/browser/policy/networking/DEPS
@@ -0,0 +1,5 @@ +specific_include_rules = { + "policy_cert_service\.cc": [ + "+services/network/nss_temp_certs_cache_chromeos.h", + ], +}
diff --git a/chrome/browser/ash/policy/networking/device_network_configuration_updater.cc b/chrome/browser/policy/networking/device_network_configuration_updater_ash.cc similarity index 98% rename from chrome/browser/ash/policy/networking/device_network_configuration_updater.cc rename to chrome/browser/policy/networking/device_network_configuration_updater_ash.cc index fb08a99..3b6b149 100644 --- a/chrome/browser/ash/policy/networking/device_network_configuration_updater.cc +++ b/chrome/browser/policy/networking/device_network_configuration_updater_ash.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" #include <map>
diff --git a/chrome/browser/ash/policy/networking/device_network_configuration_updater.h b/chrome/browser/policy/networking/device_network_configuration_updater_ash.h similarity index 89% rename from chrome/browser/ash/policy/networking/device_network_configuration_updater.h rename to chrome/browser/policy/networking/device_network_configuration_updater_ash.h index fc88679..a0726b0 100644 --- a/chrome/browser/ash/policy/networking/device_network_configuration_updater.h +++ b/chrome/browser/policy/networking/device_network_configuration_updater_ash.h
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_ASH_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_ASH_H_ #include <memory> #include <string> #include "base/callback_list.h" #include "base/memory/weak_ptr.h" -#include "chrome/browser/ash/policy/networking/network_configuration_updater.h" +#include "chrome/browser/policy/networking/network_configuration_updater.h" #include "components/onc/onc_constants.h" #include "net/cert/x509_certificate.h" @@ -89,4 +89,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_DEVICE_NETWORK_CONFIGURATION_UPDATER_ASH_H_
diff --git a/chrome/browser/ash/policy/networking/network_configuration_updater.cc b/chrome/browser/policy/networking/network_configuration_updater.cc similarity index 99% rename from chrome/browser/ash/policy/networking/network_configuration_updater.cc rename to chrome/browser/policy/networking/network_configuration_updater.cc index ce87b17..9af423a 100644 --- a/chrome/browser/ash/policy/networking/network_configuration_updater.cc +++ b/chrome/browser/policy/networking/network_configuration_updater.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/network_configuration_updater.h" +#include "chrome/browser/policy/networking/network_configuration_updater.h" #include "base/bind.h" #include "base/callback_helpers.h"
diff --git a/chrome/browser/ash/policy/networking/network_configuration_updater.h b/chrome/browser/policy/networking/network_configuration_updater.h similarity index 96% rename from chrome/browser/ash/policy/networking/network_configuration_updater.h rename to chrome/browser/policy/networking/network_configuration_updater.h index 5e3ef4a..cd7b9a3 100644 --- a/chrome/browser/ash/policy/networking/network_configuration_updater.h +++ b/chrome/browser/policy/networking/network_configuration_updater.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_ #include <memory> #include <set> @@ -172,4 +172,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_NETWORK_CONFIGURATION_UPDATER_H_
diff --git a/chrome/browser/ash/policy/networking/network_configuration_updater_unittest.cc b/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc similarity index 98% rename from chrome/browser/ash/policy/networking/network_configuration_updater_unittest.cc rename to chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc index 4a13808..9d3a1f10 100644 --- a/chrome/browser/ash/policy/networking/network_configuration_updater_unittest.cc +++ b/chrome/browser/policy/networking/network_configuration_updater_ash_unittest.cc
@@ -14,11 +14,11 @@ #include "base/run_loop.h" #include "base/values.h" #include "chrome/browser/ash/login/session/user_session_manager.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" #include "chrome/browser/ash/settings/cros_settings.h" #include "chrome/browser/ash/settings/device_settings_service.h" #include "chrome/browser/ash/settings/scoped_testing_cros_settings.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" #include "chrome/test/base/testing_profile.h" #include "chromeos/components/onc/certificate_scope.h" #include "chromeos/components/onc/onc_parsed_certificates.h"
diff --git a/chrome/browser/ash/policy/networking/policy_cert_service.cc b/chrome/browser/policy/networking/policy_cert_service.cc similarity index 96% rename from chrome/browser/ash/policy/networking/policy_cert_service.cc rename to chrome/browser/policy/networking/policy_cert_service.cc index ae0fccd..fbd8b13f 100644 --- a/chrome/browser/ash/policy/networking/policy_cert_service.cc +++ b/chrome/browser/policy/networking/policy_cert_service.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" #include "base/bind.h" #include "base/callback_helpers.h" @@ -10,12 +10,10 @@ #include "base/logging.h" #include "base/memory/ptr_util.h" #include "base/task/post_task.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/extensions/extension_util.h" #include "chrome/browser/net/profile_network_context_service.h" #include "chrome/browser/net/profile_network_context_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h" #include "chromeos/components/onc/certificate_scope.h"
diff --git a/chrome/browser/ash/policy/networking/policy_cert_service.h b/chrome/browser/policy/networking/policy_cert_service.h similarity index 95% rename from chrome/browser/ash/policy/networking/policy_cert_service.h rename to chrome/browser/policy/networking/policy_cert_service.h index 4528d05..73e90c5c 100644 --- a/chrome/browser/ash/policy/networking/policy_cert_service.h +++ b/chrome/browser/policy/networking/policy_cert_service.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_ #include <memory> #include <string> @@ -125,4 +125,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_H_
diff --git a/chrome/browser/ash/policy/networking/policy_cert_service_factory.cc b/chrome/browser/policy/networking/policy_cert_service_factory.cc similarity index 92% rename from chrome/browser/ash/policy/networking/policy_cert_service_factory.cc rename to chrome/browser/policy/networking/policy_cert_service_factory.cc index e3311325..50b609d 100644 --- a/chrome/browser/ash/policy/networking/policy_cert_service_factory.cc +++ b/chrome/browser/policy/networking/policy_cert_service_factory.cc
@@ -2,18 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "base/containers/contains.h" #include "base/memory/singleton.h" #include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process_platform_part.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h"
diff --git a/chrome/browser/ash/policy/networking/policy_cert_service_factory.h b/chrome/browser/policy/networking/policy_cert_service_factory.h similarity index 92% rename from chrome/browser/ash/policy/networking/policy_cert_service_factory.h rename to chrome/browser/policy/networking/policy_cert_service_factory.h index c8bcab4..4ca8125a 100644 --- a/chrome/browser/ash/policy/networking/policy_cert_service_factory.h +++ b/chrome/browser/policy/networking/policy_cert_service_factory.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_ #include <memory> #include <string> @@ -75,4 +75,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_POLICY_CERT_SERVICE_FACTORY_H_
diff --git a/chrome/browser/ash/policy/networking/policy_cert_service_factory_unittest.cc b/chrome/browser/policy/networking/policy_cert_service_factory_ash_unittest.cc similarity index 96% rename from chrome/browser/ash/policy/networking/policy_cert_service_factory_unittest.cc rename to chrome/browser/policy/networking/policy_cert_service_factory_ash_unittest.cc index 1a24a21..23c3dbc2 100644 --- a/chrome/browser/ash/policy/networking/policy_cert_service_factory_unittest.cc +++ b/chrome/browser/policy/networking/policy_cert_service_factory_ash_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include <memory> #include <string> @@ -10,7 +10,7 @@ #include <vector> #include "base/values.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_profile.h"
diff --git a/chrome/browser/ash/policy/networking/user_network_configuration_updater.cc b/chrome/browser/policy/networking/user_network_configuration_updater_ash.cc similarity index 98% rename from chrome/browser/ash/policy/networking/user_network_configuration_updater.cc rename to chrome/browser/policy/networking/user_network_configuration_updater_ash.cc index d0496aa4..55a29bf 100644 --- a/chrome/browser/ash/policy/networking/user_network_configuration_updater.cc +++ b/chrome/browser/policy/networking/user_network_configuration_updater_ash.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" #include <utility>
diff --git a/chrome/browser/ash/policy/networking/user_network_configuration_updater.h b/chrome/browser/policy/networking/user_network_configuration_updater_ash.h similarity index 92% rename from chrome/browser/ash/policy/networking/user_network_configuration_updater.h rename to chrome/browser/policy/networking/user_network_configuration_updater_ash.h index 9f6d03b..53c0ab58 100644 --- a/chrome/browser/ash/policy/networking/user_network_configuration_updater.h +++ b/chrome/browser/policy/networking/user_network_configuration_updater_ash.h
@@ -2,15 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_ASH_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_ASH_H_ #include <memory> #include <vector> #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" -#include "chrome/browser/ash/policy/networking/network_configuration_updater.h" +#include "chrome/browser/policy/networking/network_configuration_updater.h" #include "components/keyed_service/core/keyed_service.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -126,4 +126,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_ASH_H_
diff --git a/chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.cc b/chrome/browser/policy/networking/user_network_configuration_updater_factory.cc similarity index 94% rename from chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.cc rename to chrome/browser/policy/networking/user_network_configuration_updater_factory.cc index d82a074..9fab0e5 100644 --- a/chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.cc +++ b/chrome/browser/policy/networking/user_network_configuration_updater_factory.cc
@@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h" #include "base/memory/singleton.h" -#include "chrome/browser/ash/policy/networking/user_network_configuration_updater.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/net/nss_service_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_ash.h" #include "chrome/browser/policy/profile_policy_connector.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/profile.h"
diff --git a/chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h b/chrome/browser/policy/networking/user_network_configuration_updater_factory.h similarity index 86% rename from chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h rename to chrome/browser/policy/networking/user_network_configuration_updater_factory.h index 56ba025e..3d37d886 100644 --- a/chrome/browser/ash/policy/networking/user_network_configuration_updater_factory.h +++ b/chrome/browser/policy/networking/user_network_configuration_updater_factory.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_ -#define CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_ +#ifndef CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_ +#define CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_ #include "components/keyed_service/content/browser_context_keyed_service_factory.h" @@ -56,4 +56,4 @@ } // namespace policy -#endif // CHROME_BROWSER_ASH_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_ +#endif // CHROME_BROWSER_POLICY_NETWORKING_USER_NETWORK_CONFIGURATION_UPDATER_FACTORY_H_
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 4625d01a..41f98c3 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -339,7 +339,6 @@ #include "chrome/browser/ash/policy/handlers/adb_sideloading_allowance_mode_policy_handler.h" #include "chrome/browser/ash/policy/handlers/minimum_version_policy_handler.h" #include "chrome/browser/ash/policy/handlers/tpm_auto_update_mode_policy_handler.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" #include "chrome/browser/ash/policy/reporting/app_install_event_log_manager_wrapper.h" #include "chrome/browser/ash/policy/reporting/arc_app_install_event_logger.h" #include "chrome/browser/ash/policy/reporting/extension_install_event_log_manager_wrapper.h" @@ -364,6 +363,7 @@ #include "chrome/browser/extensions/extension_assets_manager_chromeos.h" #include "chrome/browser/media/protected_media_identifier_permission_context.h" #include "chrome/browser/metrics/chromeos_metrics_provider.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" #include "chrome/browser/ui/app_list/app_list_syncable_service.h" #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" #include "chrome/browser/ui/ash/shelf/chrome_shelf_prefs.h"
diff --git a/chrome/browser/prefs/session_startup_pref.cc b/chrome/browser/prefs/session_startup_pref.cc index 466c3dc..c0a6d7a 100644 --- a/chrome/browser/prefs/session_startup_pref.cc +++ b/chrome/browser/prefs/session_startup_pref.cc
@@ -86,9 +86,9 @@ if (!SessionStartupPref::URLsAreManaged(prefs)) { // Always save the URLs, that way the UI can remain consistent even if the // user changes the startup type pref. - // Ownership of the ListValue retains with the pref service. - ListPrefUpdateDeprecated update(prefs, prefs::kURLsToRestoreOnStartup); - base::ListValue* url_pref_list = update.Get(); + // Ownership of the list Value retains with the pref service. + ListPrefUpdate update(prefs, prefs::kURLsToRestoreOnStartup); + base::Value* url_pref_list = update.Get(); DCHECK(url_pref_list); url_pref_list->ClearList(); for (GURL url : pref.urls)
diff --git a/chrome/browser/prefs/tracked/pref_hash_browsertest.cc b/chrome/browser/prefs/tracked/pref_hash_browsertest.cc index 83199f03..bf2594ca 100644 --- a/chrome/browser/prefs/tracked/pref_hash_browsertest.cc +++ b/chrome/browser/prefs/tracked/pref_hash_browsertest.cc
@@ -740,8 +740,8 @@ profile()->GetPrefs()->SetInteger(prefs::kRestoreOnStartup, SessionStartupPref::URLS); - ListPrefUpdateDeprecated update(profile()->GetPrefs(), - prefs::kURLsToRestoreOnStartup); + ListPrefUpdate update(profile()->GetPrefs(), + prefs::kURLsToRestoreOnStartup); update->Append("http://example.com"); }
diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc index 003297e..733c74a 100644 --- a/chrome/browser/profile_resetter/profile_resetter.cc +++ b/chrome/browser/profile_resetter/profile_resetter.cc
@@ -182,8 +182,8 @@ if (search_engines) { // This Chrome distribution channel provides a custom search engine. We // must reset to it. - ListPrefUpdateDeprecated update(prefs, prefs::kSearchProviderOverrides); - update->Swap(search_engines.get()); + ListPrefUpdate update(prefs, prefs::kSearchProviderOverrides); + *update = std::move(*search_engines); } template_url_service_->RepairPrepopulatedSearchEngines(); @@ -300,9 +300,10 @@ DCHECK(prefs); std::unique_ptr<base::ListValue> url_list( master_settings_->GetUrlsToRestoreOnStartup()); - if (url_list) - ListPrefUpdateDeprecated(prefs, prefs::kURLsToRestoreOnStartup) - ->Swap(url_list.get()); + if (url_list) { + *ListPrefUpdate(prefs, prefs::kURLsToRestoreOnStartup) = + std::move(*url_list); + } int restore_on_startup; if (master_settings_->GetRestoreOnStartup(&restore_on_startup))
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc index 98cd5b7..616496d 100644 --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -163,6 +163,8 @@ #include "chrome/browser/ash/system_extensions/system_extensions_provider.h" #include "chrome/browser/ash/system_extensions/system_extensions_provider_factory.h" #include "chrome/browser/nearby_sharing/nearby_sharing_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h" #else #include "chrome/browser/policy/cloud/user_policy_signin_service_factory.h" #include "chrome/browser/profiles/gaia_info_update_service_factory.h" @@ -268,6 +270,8 @@ #if BUILDFLAG(IS_CHROMEOS_ASH) ash::login::SecurityTokenSessionControllerFactory::GetInstance(); ash::EnsureBrowserContextKeyedServiceFactoriesBuilt(); + policy::PolicyCertServiceFactory::GetInstance(); + policy::UserNetworkConfigurationUpdaterFactory::GetInstance(); #endif AboutSigninInternalsFactory::GetInstance();
diff --git a/chrome/browser/push_messaging/push_messaging_app_identifier.cc b/chrome/browser/push_messaging/push_messaging_app_identifier.cc index e50f606..a09e96f 100644 --- a/chrome/browser/push_messaging/push_messaging_app_identifier.cc +++ b/chrome/browser/push_messaging/push_messaging_app_identifier.cc
@@ -221,8 +221,8 @@ // static void PushMessagingAppIdentifier::DeleteAllFromPrefs(Profile* profile) { - DictionaryPrefUpdateDeprecated update(profile->GetPrefs(), - prefs::kPushMessagingAppIdentifierMap); + DictionaryPrefUpdate update(profile->GetPrefs(), + prefs::kPushMessagingAppIdentifierMap); base::Value* map = update.Get(); map->DictClear(); } @@ -259,8 +259,8 @@ void PushMessagingAppIdentifier::PersistToPrefs(Profile* profile) const { DCheckValid(); - DictionaryPrefUpdateDeprecated update(profile->GetPrefs(), - prefs::kPushMessagingAppIdentifierMap); + DictionaryPrefUpdate update(profile->GetPrefs(), + prefs::kPushMessagingAppIdentifierMap); base::Value* map = update.Get(); // Delete any stale entry with the same origin and Service Worker @@ -278,8 +278,8 @@ void PushMessagingAppIdentifier::DeleteFromPrefs(Profile* profile) const { DCheckValid(); - DictionaryPrefUpdateDeprecated update(profile->GetPrefs(), - prefs::kPushMessagingAppIdentifierMap); + DictionaryPrefUpdate update(profile->GetPrefs(), + prefs::kPushMessagingAppIdentifierMap); base::Value* map = update.Get(); map->RemoveKey(app_id_); }
diff --git a/chrome/browser/push_messaging/push_messaging_app_identifier_unittest.cc b/chrome/browser/push_messaging/push_messaging_app_identifier_unittest.cc index d59b117..5b7c649 100644 --- a/chrome/browser/push_messaging/push_messaging_app_identifier_unittest.cc +++ b/chrome/browser/push_messaging/push_messaging_app_identifier_unittest.cc
@@ -142,8 +142,7 @@ // Create a legacy preferences entry (the test happens to use PersistToPrefs // since that currently works, but it's ok to change the behavior of - // PersistToPrefs; if so, this test can just do a raw - // DictionaryPrefUpdateDeprecated). + // PersistToPrefs; if so, this test can just do a raw DictionaryPrefUpdate). original_.app_id_ = legacy_app_id; original_.PersistToPrefs(profile());
diff --git a/chrome/browser/sharing/sharing_sync_preference.cc b/chrome/browser/sharing/sharing_sync_preference.cc index 67529a8..6f0f0e27 100644 --- a/chrome/browser/sharing/sharing_sync_preference.cc +++ b/chrome/browser/sharing/sharing_sync_preference.cc
@@ -135,7 +135,7 @@ base::Base64Encode(std::string(vapid_key.begin(), vapid_key.end()), &base64_vapid_key); - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kSharingVapidKey); + DictionaryPrefUpdate update(prefs_, prefs::kSharingVapidKey); update->SetStringKey(kVapidECPrivateKey, base64_vapid_key); update->SetKey(kVapidCreationTimestamp, base::TimeToValue(creation_timestamp)); @@ -175,7 +175,7 @@ } void SharingSyncPreference::SetFCMRegistration(FCMRegistration registration) { - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kSharingFCMRegistration); + DictionaryPrefUpdate update(prefs_, prefs::kSharingFCMRegistration); if (registration.authorized_entity) { update->SetStringKey(kRegistrationAuthorizedEntity, std::move(*registration.authorized_entity)); @@ -211,7 +211,7 @@ list_value.Append(feature); } - DictionaryPrefUpdateDeprecated local_sharing_info_update( + DictionaryPrefUpdate local_sharing_info_update( prefs_, prefs::kSharingLocalSharingInfo); local_sharing_info_update->SetKey(kSharingInfoVapidTargetInfo, std::move(vapid_target_info));
diff --git a/chrome/browser/sharing/sharing_sync_preference_unittest.cc b/chrome/browser/sharing/sharing_sync_preference_unittest.cc index cb14cbc..717b903 100644 --- a/chrome/browser/sharing/sharing_sync_preference_unittest.cc +++ b/chrome/browser/sharing/sharing_sync_preference_unittest.cc
@@ -64,7 +64,7 @@ enabled_features.Append(feature); - DictionaryPrefUpdateDeprecated local_sharing_info_update( + DictionaryPrefUpdate local_sharing_info_update( &prefs_, prefs::kSharingLocalSharingInfo); local_sharing_info_update->SetKey(kSharingInfoEnabledFeatures, std::move(enabled_features));
diff --git a/chrome/browser/signin/dice_web_signin_interceptor.cc b/chrome/browser/signin/dice_web_signin_interceptor.cc index 3cddc79..dc2955c 100644 --- a/chrome/browser/signin/dice_web_signin_interceptor.cc +++ b/chrome/browser/signin/dice_web_signin_interceptor.cc
@@ -783,8 +783,8 @@ void DiceWebSigninInterceptor::RecordProfileCreationDeclined( const std::string& email) { - DictionaryPrefUpdateDeprecated update( - profile_->GetPrefs(), kProfileCreationInterceptionDeclinedPref); + DictionaryPrefUpdate update(profile_->GetPrefs(), + kProfileCreationInterceptionDeclinedPref); std::string key = GetPersistentEmailHash(email); absl::optional<int> declined_count = update->FindIntKey(key); update->SetIntKey(key, declined_count.value_or(0) + 1);
diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc index 2530a10..b7e113c 100644 --- a/chrome/browser/ssl/security_state_tab_helper.cc +++ b/chrome/browser/ssl/security_state_tab_helper.cc
@@ -52,8 +52,8 @@ #include "url/origin.h" #if BUILDFLAG(IS_CHROMEOS_ASH) -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(FULL_SAFE_BROWSING)
diff --git a/chrome/browser/sync/test/integration/preferences_helper.cc b/chrome/browser/sync/test/integration/preferences_helper.cc index 7d9784b..8f9ed08 100644 --- a/chrome/browser/sync/test/integration/preferences_helper.cc +++ b/chrome/browser/sync/test/integration/preferences_helper.cc
@@ -60,8 +60,8 @@ void ChangeListPref(int index, const char* pref_name, const base::ListValue& new_value) { - ListPrefUpdateDeprecated update(GetPrefs(index), pref_name); - base::ListValue* list = update.Get(); + ListPrefUpdate update(GetPrefs(index), pref_name); + base::Value* list = update.Get(); for (const auto& it : new_value.GetList()) { list->Append(it.Clone()); }
diff --git a/chrome/browser/sync/test/integration/sync_test.cc b/chrome/browser/sync/test/integration/sync_test.cc index aac9710..5a3b106a 100644 --- a/chrome/browser/sync/test/integration/sync_test.cc +++ b/chrome/browser/sync/test/integration/sync_test.cc
@@ -775,7 +775,7 @@ // real clients, those are stored upon subscription with the // per-user-topic server. The pref name is defined in // per_user_topic_subscription_manager.cc. - DictionaryPrefUpdateDeprecated update( + DictionaryPrefUpdate update( GetProfile(index)->GetPrefs(), "invalidation.per_sender_registered_for_invalidation"); update->SetKey(kInvalidationGCMSenderId, @@ -791,11 +791,11 @@ base::Value("/private/" + notification_type + "-topic_server_user_id")); } - DictionaryPrefUpdateDeprecated update_client_id( + DictionaryPrefUpdate update_client_id( GetProfile(index)->GetPrefs(), invalidation::prefs::kInvalidationClientIDCache); - update_client_id->SetString(kInvalidationGCMSenderId, client_id); + update_client_id->SetStringKey(kInvalidationGCMSenderId, client_id); break; } case SERVER_TYPE_UNDECIDED:
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn index d3b042a7..b71a69f 100644 --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -2958,6 +2958,7 @@ "//chrome/browser/nearby_sharing/logging", "//chrome/browser/nearby_sharing/logging:util", "//chrome/browser/nearby_sharing/proto", + "//chrome/browser/policy:onc", "//chrome/browser/resources:bluetooth_pairing_dialog_resources", "//chrome/browser/resources:internet_config_dialog_resources", "//chrome/browser/resources:internet_detail_dialog_resources",
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd index 78cf2565..96f16d2 100644 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3696,9 +3696,6 @@ <message name="IDS_ACCESSIBILITY_BTN_LENS_CAMERA" desc="Content description for the Lens button. When the user taps the button, they can perform a 'search with your camera or photos', which opens the Google Lens app."> Search with your camera using Google Lens </message> - <message name="IDS_ACCESSIBILITY_NEW_TAB_PAGE" desc="Accessibility text to read aloud when the user focuses the new tab view."> - New tab - </message> <message name="IDS_ACCESSIBILITY_NEW_INCOGNITO_TAB_PAGE" desc="Accessibility text to read aloud when the user focuses the new Incognito tab view."> New Incognito tab </message>
diff --git a/chrome/browser/ui/app_list/search/omnibox_answer_result.cc b/chrome/browser/ui/app_list/search/omnibox_answer_result.cc index 7ffc142..8baba35a 100644 --- a/chrome/browser/ui/app_list/search/omnibox_answer_result.cc +++ b/chrome/browser/ui/app_list/search/omnibox_answer_result.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/ui/app_list/search/omnibox_answer_result.h" +#include "ash/constants/ash_features.h" #include "ash/public/cpp/app_list/app_list_config.h" #include "ash/public/cpp/app_list/vector_icons/vector_icons.h" #include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h" @@ -82,7 +83,9 @@ match_.search_terms_args->request_source = TemplateURLRef::CROS_APP_LIST; autocomplete_controller_->SetMatchDestinationURL(&match_); } - SetDisplayType(DisplayType::kList); + SetDisplayType(ash::features::IsProductivityLauncherEnabled() + ? DisplayType::kAnswerCard + : DisplayType::kList); SetResultType(ResultType::kOmnibox); SetCategory(Category::kSearchAndAssistant); set_id(kOmniboxAnswerSchema + match_.stripped_destination_url.spec());
diff --git a/chrome/browser/ui/app_list/search/ranking/answer_ranker.cc b/chrome/browser/ui/app_list/search/ranking/answer_ranker.cc index 88f6420..114ac09 100644 --- a/chrome/browser/ui/app_list/search/ranking/answer_ranker.cc +++ b/chrome/browser/ui/app_list/search/ranking/answer_ranker.cc
@@ -4,20 +4,42 @@ #include "chrome/browser/ui/app_list/search/ranking/answer_ranker.h" +#include "ash/public/cpp/app_list/app_list_types.h" +#include "chrome/browser/ui/app_list/search/chrome_search_result.h" + namespace app_list { AnswerRanker::AnswerRanker() = default; AnswerRanker::~AnswerRanker() = default; -void AnswerRanker::Start(const std::u16string& query, - ResultsMap& results, - CategoriesList& categories) { - // TODO(crbug.com/1275408): WIP. -} - void AnswerRanker::UpdateResultRanks(ResultsMap& results, ProviderType provider) { - // TODO(crbug.com/1275408): WIP. + if (provider != ProviderType::kOmnibox) + return; + + const auto it = results.find(provider); + DCHECK(it != results.end()); + + ChromeSearchResult* top_answer = nullptr; + double top_score; + for (const auto& result : it->second) { + if (result->display_type() != ash::SearchResultDisplayType::kAnswerCard) + continue; + + // Compare this result to the existing answer, if any, and hide the one with + // lower score. + const double score = result->relevance(); + if (!top_answer) { + top_answer = result.get(); + top_score = score; + } else if (score > top_score) { + top_answer->scoring().filter = true; + top_answer = result.get(); + top_score = score; + } else { + result->scoring().filter = true; + } + } } } // namespace app_list
diff --git a/chrome/browser/ui/app_list/search/ranking/answer_ranker.h b/chrome/browser/ui/app_list/search/ranking/answer_ranker.h index 55cdcdb6b..95f50c2 100644 --- a/chrome/browser/ui/app_list/search/ranking/answer_ranker.h +++ b/chrome/browser/ui/app_list/search/ranking/answer_ranker.h
@@ -10,8 +10,8 @@ namespace app_list { -// A ranker that selects at most one result to be an Answer card. It will modify -// the DisplayType of the selected answer only. +// A ranker that selects at most one result to be an Answer card. This ranker +// also hides any Omnibox answers that are not selected. class AnswerRanker : public Ranker { public: AnswerRanker(); @@ -21,9 +21,6 @@ AnswerRanker& operator=(const AnswerRanker&) = delete; // Ranker: - void Start(const std::u16string& query, - ResultsMap& results, - CategoriesList& categories) override; void UpdateResultRanks(ResultsMap& results, ProviderType provider) override; };
diff --git a/chrome/browser/ui/app_list/search/ranking/ranker_delegate.cc b/chrome/browser/ui/app_list/search/ranking/ranker_delegate.cc index 43ebbfa9..821df625 100644 --- a/chrome/browser/ui/app_list/search/ranking/ranker_delegate.cc +++ b/chrome/browser/ui/app_list/search/ranking/ranker_delegate.cc
@@ -4,6 +4,7 @@ #include "chrome/browser/ui/app_list/search/ranking/ranker_delegate.h" +#include "chrome/browser/ui/app_list/search/ranking/answer_ranker.h" #include "chrome/browser/ui/app_list/search/ranking/filtering_ranker.h" #include "chrome/browser/ui/app_list/search/ranking/ftrl_category_ranker.h" #include "chrome/browser/ui/app_list/search/ranking/ftrl_result_ranker.h" @@ -37,6 +38,7 @@ // Result post-processing. AddRanker(std::make_unique<TopMatchRanker>()); + AddRanker(std::make_unique<AnswerRanker>()); AddRanker(std::make_unique<FilteringRanker>()); // Result removal.
diff --git a/chrome/browser/ui/ash/session_controller_client_impl_unittest.cc b/chrome/browser/ui/ash/session_controller_client_impl_unittest.cc index 03e5b81..d9e82a4 100644 --- a/chrome/browser/ui/ash/session_controller_client_impl_unittest.cc +++ b/chrome/browser/ui/ash/session_controller_client_impl_unittest.cc
@@ -18,10 +18,10 @@ #include "chrome/browser/ash/crosapi/fake_browser_manager.h" #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h" #include "chrome/browser/ash/login/users/multi_profile_user_controller.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/ash/settings/scoped_cros_settings_test_helper.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ui/ash/assistant/assistant_browser_delegate_impl.h" #include "chrome/browser/ui/ash/test_session_controller.h" #include "chrome/common/pref_names.h"
diff --git a/chrome/browser/ui/ash/shelf/chrome_shelf_prefs.cc b/chrome/browser/ui/ash/shelf/chrome_shelf_prefs.cc index bcfd3d93..4070bae 100644 --- a/chrome/browser/ui/ash/shelf/chrome_shelf_prefs.cc +++ b/chrome/browser/ui/ash/shelf/chrome_shelf_prefs.cc
@@ -600,7 +600,7 @@ default_app_ids.push_back(default_app_id); InsertPinsAfterChromeAndBeforeFirstPinnedApp(syncable_service, default_app_ids); - ListPrefUpdateDeprecated update(pref_service, GetShelfDefaultPinLayoutPref()); + ListPrefUpdate update(pref_service, GetShelfDefaultPinLayoutPref()); update->Append(kDefaultPinnedAppsKey); }
diff --git a/chrome/browser/ui/hats/hats_service.cc b/chrome/browser/ui/hats/hats_service.cc index e6dcc940..9bbc29f 100644 --- a/chrome/browser/ui/hats/hats_service.cc +++ b/chrome/browser/ui/hats/hats_service.cc
@@ -399,9 +399,8 @@ UMA_HISTOGRAM_ENUMERATION(kHatsShouldShowSurveyReasonHistogram, ShouldShowSurveyReasons::kYes); - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kHatsSurveyMetadata); - base::DictionaryValue* pref_data = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kHatsSurveyMetadata); + base::Value* pref_data = update.Get(); pref_data->SetIntPath(GetMajorVersionPath(trigger), version_info::GetVersion().components()[0]); pref_data->SetPath(GetLastSurveyStartedTime(trigger), @@ -417,9 +416,8 @@ void HatsService::SetSurveyMetadataForTesting( const HatsService::SurveyMetadata& metadata) { const std::string& trigger = kHatsSurveyTriggerSettings; - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kHatsSurveyMetadata); - base::DictionaryValue* pref_data = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kHatsSurveyMetadata); + base::Value* pref_data = update.Get(); if (!metadata.last_major_version.has_value() && !metadata.last_survey_started_time.has_value() && !metadata.is_survey_full.has_value() && @@ -466,9 +464,8 @@ void HatsService::GetSurveyMetadataForTesting( HatsService::SurveyMetadata* metadata) const { const std::string& trigger = kHatsSurveyTriggerSettings; - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kHatsSurveyMetadata); - base::DictionaryValue* pref_data = update.Get(); + DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kHatsSurveyMetadata); + base::Value* pref_data = update.Get(); absl::optional<int> last_major_version = pref_data->FindIntPath(GetMajorVersionPath(trigger)); @@ -750,8 +747,7 @@ // As soon as the HaTS Next dialog is created it will attempt to contact // the HaTS servers to check for a survey. - DictionaryPrefUpdateDeprecated update(profile_->GetPrefs(), - prefs::kHatsSurveyMetadata); + DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kHatsSurveyMetadata); update->SetPath(GetLastSurveyCheckTime(trigger), base::TimeToValue(base::Time::Now()));
diff --git a/chrome/browser/ui/views/payments/payment_request_blob_url_browsertest.cc b/chrome/browser/ui/views/payments/payment_request_blob_url_browsertest.cc index d2c77ab..68421467 100644 --- a/chrome/browser/ui/views/payments/payment_request_blob_url_browsertest.cc +++ b/chrome/browser/ui/views/payments/payment_request_blob_url_browsertest.cc
@@ -16,11 +16,19 @@ IN_PROC_BROWSER_TEST_F(PaymentRequestBlobUrlTest, ConnectionTerminated) { NavigateTo("/payment_request_blob_url_test.html"); - ResetEventWaiter(DialogEvent::DIALOG_CLOSED); + + // Trigger the Blob URL load, and wait for it to finish. ASSERT_TRUE(content::ExecuteScript( GetActiveWebContents(), "(function() { document.getElementById('buy').click(); })();")); + WaitForLoadStop(GetActiveWebContents()); + + // Trigger the PaymentRequest, which should be rejected. + ResetEventWaiter(DialogEvent::DIALOG_CLOSED); + ASSERT_TRUE(content::ExecuteScript( + GetActiveWebContents(), "triggerPaymentRequest();")); WaitForObservedEvent(); + ExpectBodyContains({"Rejected: NotSupportedError"}); }
diff --git a/chrome/browser/ui/views/plugin_vm/plugin_vm_installer_view_browsertest.cc b/chrome/browser/ui/views/plugin_vm/plugin_vm_installer_view_browsertest.cc index 3043e48b..c9beac8 100644 --- a/chrome/browser/ui/views/plugin_vm/plugin_vm_installer_view_browsertest.cc +++ b/chrome/browser/ui/views/plugin_vm/plugin_vm_installer_view_browsertest.cc
@@ -110,11 +110,11 @@ } void SetPluginVmImagePref(std::string url, std::string hash) { - DictionaryPrefUpdateDeprecated update(browser()->profile()->GetPrefs(), - plugin_vm::prefs::kPluginVmImage); - base::DictionaryValue* plugin_vm_image = update.Get(); - plugin_vm_image->SetKey("url", base::Value(url)); - plugin_vm_image->SetKey("hash", base::Value(hash)); + DictionaryPrefUpdate update(browser()->profile()->GetPrefs(), + plugin_vm::prefs::kPluginVmImage); + base::Value* plugin_vm_image = update.Get(); + plugin_vm_image->SetStringKey("url", url); + plugin_vm_image->SetStringKey("hash", hash); } void WaitForSetupToFinish() {
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc index 695c55f6..3a7a764 100644 --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -61,13 +61,13 @@ #include "chrome/browser/ash/login/users/chrome_user_manager_util.h" #include "chrome/browser/ash/login/wizard_context.h" #include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h" -#include "chrome/browser/ash/policy/networking/device_network_configuration_updater.h" #include "chrome/browser/ash/profiles/profile_helper.h" #include "chrome/browser/ash/settings/cros_settings.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process_platform_part.h" #include "chrome/browser/lifetime/browser_shutdown.h" #include "chrome/browser/net/system_network_context_manager.h" +#include "chrome/browser/policy/networking/device_network_configuration_updater_ash.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/webui/chromeos/login/cookie_waiter.h" #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h"
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc index 9f9080b..80bf329d 100644 --- a/chrome/browser/ui/webui/management/management_ui_handler.cc +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
@@ -48,8 +48,6 @@ #include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h" #include "chrome/browser/ash/policy/core/device_cloud_policy_manager_ash.h" #include "chrome/browser/ash/policy/handlers/minimum_version_policy_handler.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service.h" -#include "chrome/browser/ash/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ash/policy/status_collector/device_status_collector.h" #include "chrome/browser/ash/policy/status_collector/status_collector.h" #include "chrome/browser/ash/policy/uploading/status_uploader.h" @@ -58,6 +56,8 @@ #include "chrome/browser/ash/settings/cros_settings.h" #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h" #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_factory.h" +#include "chrome/browser/policy/networking/policy_cert_service.h" +#include "chrome/browser/policy/networking/policy_cert_service_factory.h" #include "chrome/browser/ui/webui/management/management_ui_handler_chromeos.h" #include "chrome/browser/ui/webui/webui_util.h" #include "chrome/grit/chromium_strings.h"
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt index bef86e9..9b34de2c 100644 --- a/chrome/build/linux.pgo.txt +++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@ -chrome-linux-main-1642053592-c701c55b80cde61f0a1f914c56eac06a11fc6abb.profdata +chrome-linux-main-1642075045-895de87bc21918c0a8f91690568c382c98469702.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt index e9ed011f..01eedc75 100644 --- a/chrome/build/mac.pgo.txt +++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@ -chrome-mac-main-1642031908-55c538a72d36cd8ed81b176da7e7eb2641e7e90e.profdata +chrome-mac-main-1642053592-bbce07ee6e3bbc918928cd8634964b5731057513.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt index a15dffe1..c414af9 100644 --- a/chrome/build/win32.pgo.txt +++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@ -chrome-win32-main-1642042377-fdac5dda08154114e6accd50fbd0f1bd0913a14c.profdata +chrome-win32-main-1642063281-e34662e61b4f1ebc8847cdf9407b49bca0c34e63.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt index cafdc5e1..feb0ba1 100644 --- a/chrome/build/win64.pgo.txt +++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@ -chrome-win64-main-1642042377-42f525f4065ffdafdcf4df388d8754bf5aa936dc.profdata +chrome-win64-main-1642063281-3d6a64382d164705e7b6298e7e942c9293f78c08.profdata
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 152bb0d..0557efe 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -2137,8 +2137,6 @@ "data/webui/certificate_viewer_ui_test-inl.h", "data/webui/chrome_send_browsertest.cc", "data/webui/chrome_send_browsertest.h", - "data/webui/chrome_timeticks_browsertest.cc", - "data/webui/chrome_timeticks_browsertest.h", "data/webui/history_ui_browsertest.cc", "data/webui/history_ui_browsertest.h", "data/webui/mojo/mojo_js_interface_broker_browsertest.cc", @@ -3738,6 +3736,7 @@ "//chrome/browser/media/router:test_support", "//chrome/browser/metrics/structured", "//chrome/browser/nearby_sharing/common", + "//chrome/browser/policy:onc", "//chrome/browser/resources/chromeos/accessibility:browser_tests", "//chrome/browser/ui:ash_test_support", "//chrome/browser/ui/ash/holding_space:browser_tests", @@ -6342,6 +6341,8 @@ "//chrome/browser/nearby_sharing/instantmessaging/proto", "//chrome/browser/nearby_sharing/local_device_data", "//chrome/browser/nearby_sharing/proto:tachyon_proto", + "//chrome/browser/policy:onc", + "//chrome/browser/policy:unit_tests", "//chrome/browser/supervised_user/kids_chrome_management:proto", "//chrome/browser/ui/webui/nearby_share:mojom", "//chrome/browser/ui/webui/nearby_share/public/mojom", @@ -8523,7 +8524,6 @@ "//ui/events:test_support", "//ui/web_dialogs:test_support", ] - if (include_js_tests) { deps += [ "//chrome/test/data/webui:interactive_ui_tests_js_mojo_lite_webui", @@ -8556,7 +8556,10 @@ } if (use_ozone) { - deps += [ "//ui/ozone" ] + deps += [ + "//ui/ozone", + "//ui/ozone:ozone_interactive_ui_tests", + ] } if (use_aura) {
diff --git a/chrome/test/base/javascript_browser_test.cc b/chrome/test/base/javascript_browser_test.cc index 1ebe5c7..f818f11f 100644 --- a/chrome/test/base/javascript_browser_test.cc +++ b/chrome/test/base/javascript_browser_test.cc
@@ -138,7 +138,7 @@ arguments.push_back(std::make_unique<base::Value>(function_name)); auto baked_argument_list = std::make_unique<base::ListValue>(); for (const auto& arg : test_func_args) - baked_argument_list->Append(arg.CreateDeepCopy()); + baked_argument_list->Append(arg.Clone()); arguments.push_back(std::move(baked_argument_list)); std::vector<const base::Value*> ptr_vector;
diff --git a/chrome/test/data/extensions/webui/sanity_check_available_apis.js b/chrome/test/data/extensions/webui/sanity_check_available_apis.js index eacc896..3ef7e93 100644 --- a/chrome/test/data/extensions/webui/sanity_check_available_apis.js +++ b/chrome/test/data/extensions/webui/sanity_check_available_apis.js
@@ -23,7 +23,6 @@ 'runtime', 'send', 'test', - 'timeTicks' ]; var actual = Object.keys(chrome).sort();
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json index 50aea000..9cb1daa 100644 --- a/chrome/test/data/policy/policy_test_cases.json +++ b/chrome/test/data/policy/policy_test_cases.json
@@ -13657,7 +13657,7 @@ } ] }, - "QuickAnswersUnitConverstionEnabled": { + "QuickAnswersUnitConversionEnabled": { "os": [ "chromeos_ash" ], @@ -13672,7 +13672,7 @@ }, { "policies": { - "QuickAnswersUnitConverstionEnabled": false + "QuickAnswersUnitConversionEnabled": false }, "prefs": { "settings.quick_answers.unit_conversion.enabled": { @@ -13682,7 +13682,7 @@ }, { "policies": { - "QuickAnswersUnitConverstionEnabled": true + "QuickAnswersUnitConversionEnabled": true }, "prefs": { "settings.quick_answers.unit_conversion.enabled": { @@ -17650,5 +17650,8 @@ }, "DeviceKeylockerForStorageEncryptionEnabled": { "reason_for_missing_test": "Chrome OS device policy used by cryptohome only, not used in Chrome." + }, + "DeviceRunAutomaticCleanupOnLogin": { + "reason_for_missing_test": "Chrome OS device policy used by cryptohome only, not used in Chrome." } }
diff --git a/chrome/test/data/webui/BUILD.gn b/chrome/test/data/webui/BUILD.gn index 6ef0cfa..32f3f7a 100644 --- a/chrome/test/data/webui/BUILD.gn +++ b/chrome/test/data/webui/BUILD.gn
@@ -13,7 +13,6 @@ import("//third_party/closure_compiler/compile_js.gni") import("//tools/grit/grit_rule.gni") import("//tools/typescript/ts_definitions.gni") -import("//tools/typescript/ts_library.gni") import("//ui/webui/resources/tools/generate_grd.gni") import("//ui/webui/webui_features.gni") @@ -77,7 +76,6 @@ "assertions.js", "async_gen.js", "bookmarks/bookmarks_browsertest.js", - "chrome_timeticks_browsertest.js", "cr_components/cr_components_browsertest.js", "cr_elements/cr_elements_browsertest.js", "download_shelf/download_shelf_browsertest.js", @@ -620,7 +618,6 @@ deps = [ ":build_chai_grdp", - ":build_ts", ":build_web_ui_test_mojo_grdp", "bookmarks:build_grdp", "cr_components:build_grdp", @@ -669,8 +666,6 @@ grdp_files += [ "$target_gen_dir/chromeos/personalization_app/resources.grdp" ] } - - manifest_files = [ "$target_gen_dir/tsconfig.manifest" ] } # TypeScript related targets @@ -702,19 +697,3 @@ "//ui/webui/resources:generate_definitions", ] } - -ts_library("build_ts") { - root_dir = "." - out_dir = "$target_gen_dir/tsc" - composite = true - tsconfig_base = "tsconfig_base.json" - path_mappings = [ "chrome://webui-test/*|" + - rebase_path("$root_gen_dir/chrome/test/data/webui/tsc/*", - target_gen_dir) ] - in_files = [ "chrome_timeticks_test.ts" ] - extra_deps = [ ":generate_definitions" ] - definitions = [ - "//tools/typescript/definitions/chrome_send.d.ts", - "//tools/typescript/definitions/chrome_timeticks.d.ts", - ] -}
diff --git a/chrome/test/data/webui/chrome_timeticks_browsertest.cc b/chrome/test/data/webui/chrome_timeticks_browsertest.cc deleted file mode 100644 index cf180143..0000000 --- a/chrome/test/data/webui/chrome_timeticks_browsertest.cc +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/test/data/webui/chrome_timeticks_browsertest.h" - -#include "base/bind.h" -#include "base/callback_helpers.h" -#include "base/strings/string_number_conversions.h" -#include "base/values.h" -#include "content/public/browser/web_ui.h" -#include "testing/gmock/include/gmock/gmock.h" - -using content::WebUIMessageHandler; - -ChromeTimeTicksBrowserTest::ChromeTimeTicksBrowserTest() = default; - -ChromeTimeTicksBrowserTest::~ChromeTimeTicksBrowserTest() = default; - -ChromeTimeTicksBrowserTest::ChromeTimeTicksWebUIMessageHandler:: - ChromeTimeTicksWebUIMessageHandler() = default; - -ChromeTimeTicksBrowserTest::ChromeTimeTicksWebUIMessageHandler:: - ~ChromeTimeTicksWebUIMessageHandler() = default; - -void ChromeTimeTicksBrowserTest::ChromeTimeTicksWebUIMessageHandler:: - RegisterMessages() { - web_ui()->RegisterMessageCallback( - "checkTimeticks", - base::BindRepeating( - &ChromeTimeTicksWebUIMessageHandler::HandleCheckTimeTicks, - weak_ptr_factory_.GetWeakPtr())); -} - -void ChromeTimeTicksBrowserTest::ChromeTimeTicksWebUIMessageHandler:: - HandleCheckTimeTicks(base::Value::ConstListView args) { - int64_t timeTicks_in_us; - EXPECT_TRUE(base::StringToInt64(args[0].GetString(), &timeTicks_in_us)); - // Renderer's chrome.timeTicks.nowInMicroseconds() should be close to - // browser's base::TimeTicks::Now(). - EXPECT_LE(base::TimeTicks::Now().since_origin() - - base::Microseconds(timeTicks_in_us), - base::Milliseconds(100)); -} - -WebUIMessageHandler* ChromeTimeTicksBrowserTest::GetMockMessageHandler() { - return &message_handler_; -}
diff --git a/chrome/test/data/webui/chrome_timeticks_browsertest.h b/chrome/test/data/webui/chrome_timeticks_browsertest.h deleted file mode 100644 index 6d35e61..0000000 --- a/chrome/test/data/webui/chrome_timeticks_browsertest.h +++ /dev/null
@@ -1,47 +0,0 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_TEST_DATA_WEBUI_CHROME_TIMETICKS_BROWSERTEST_H_ -#define CHROME_TEST_DATA_WEBUI_CHROME_TIMETICKS_BROWSERTEST_H_ - -#include "base/memory/weak_ptr.h" -#include "chrome/test/base/web_ui_browser_test.h" -#include "content/public/browser/web_ui_message_handler.h" -#include "testing/gmock/include/gmock/gmock.h" - -// Test fixture for testing if chrome.timeTicks.nowInMicroseconds() is close -// to base::TimeTicks::Now(). -class ChromeTimeTicksBrowserTest : public WebUIBrowserTest { - public: - ChromeTimeTicksBrowserTest(); - - ChromeTimeTicksBrowserTest(const ChromeTimeTicksBrowserTest&) = delete; - ChromeTimeTicksBrowserTest& operator=(const ChromeTimeTicksBrowserTest&) = - delete; - - ~ChromeTimeTicksBrowserTest() override; - - class ChromeTimeTicksWebUIMessageHandler - : public content::WebUIMessageHandler { - public: - ChromeTimeTicksWebUIMessageHandler(); - ~ChromeTimeTicksWebUIMessageHandler() override; - - void HandleCheckTimeTicks(base::Value::ConstListView args); - - private: - void RegisterMessages() override; - - base::WeakPtrFactory<ChromeTimeTicksWebUIMessageHandler> weak_ptr_factory_{ - this}; - }; - - protected: - ChromeTimeTicksWebUIMessageHandler message_handler_; - - private: - content::WebUIMessageHandler* GetMockMessageHandler() override; -}; - -#endif // CHROME_TEST_DATA_WEBUI_CHROME_TIMETICKS_BROWSERTEST_H_
diff --git a/chrome/test/data/webui/chrome_timeticks_browsertest.js b/chrome/test/data/webui/chrome_timeticks_browsertest.js deleted file mode 100644 index 0a563ae0..0000000 --- a/chrome/test/data/webui/chrome_timeticks_browsertest.js +++ /dev/null
@@ -1,40 +0,0 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/** - * @fileoverview Tests to ensure that chrome.timeticks.nowInMicroseconds() - * is close to C++ base::TimeTicks::Now(). - */ - -GEN('#include "chrome/test/data/webui/chrome_timeticks_browsertest.h"'); -GEN('#include "content/public/test/browser_test.h"'); - -/* eslint-disable no-var */ - -/** Test fixture for chrome.timeTicks WebUI testing. */ -var ChromeTimeTicksBrowserTest = class extends testing.Test { - /** @override */ - get typedefCppFixture() { - return 'ChromeTimeTicksBrowserTest'; - } - - /** @override */ - get browsePreload() { - return 'chrome://dummyurl'; - } - - /** @override */ - get webuiHost() { - return 'dummyurl'; - } - - /** @override */ - get browsePreload() { - return 'chrome://test/test_loader.html?module=chrome_timeticks_test.js&host=webui-test'; - } -}; - -TEST_F('ChromeTimeTicksBrowserTest', 'All', function() { - mocha.run(); -}); \ No newline at end of file
diff --git a/chrome/test/data/webui/chrome_timeticks_test.ts b/chrome/test/data/webui/chrome_timeticks_test.ts deleted file mode 100644 index fdaa7da..0000000 --- a/chrome/test/data/webui/chrome_timeticks_test.ts +++ /dev/null
@@ -1,14 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import {assertEquals} from 'chrome://webui-test/chai_assert.js'; - -suite('ChromeTimeTicksTest', () => { - test('NowIsBigInt', () => { - const now = chrome.timeTicks.nowInMicroseconds(); - assertEquals(typeof now, 'bigint'); - // chrome.send() doesn't not support passing BigInt, so we use String. - chrome.send('checkTimeticks', [now.toString()]); - }); -}); \ No newline at end of file
diff --git a/chrome/test/data/webui/tsconfig_base.json b/chrome/test/data/webui/tsconfig_base.json deleted file mode 100644 index cd9af8c9..0000000 --- a/chrome/test/data/webui/tsconfig_base.json +++ /dev/null
@@ -1,8 +0,0 @@ -{ - "extends": "../../../../tools/typescript/tsconfig_base.json", - "compilerOptions": { - "typeRoots": [ - "./../../../../third_party/node/node_modules/@types" - ] - } -}
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index 86109c79..5d8860c4 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -14452.0.0 \ No newline at end of file +14453.0.0 \ No newline at end of file
diff --git a/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.cc b/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.cc index 5482d72..7f422694 100644 --- a/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.cc +++ b/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.cc
@@ -36,7 +36,7 @@ // A preference that indicates the user has enabled the Quick Answers unit // conversion services. // This preference can be overridden by the administrator policy. -const char kQuickAnswersUnitConverstionEnabled[] = +const char kQuickAnswersUnitConversionEnabled[] = "settings.quick_answers.unit_conversion.enabled"; // A preference to keep track of the number of Quick Answers notice impression. @@ -55,7 +55,7 @@ ConsentStatus::kUnknown); registry->RegisterBooleanPref(kQuickAnswersDefinitionEnabled, true); registry->RegisterBooleanPref(kQuickAnswersTranslationEnabled, true); - registry->RegisterBooleanPref(kQuickAnswersUnitConverstionEnabled, true); + registry->RegisterBooleanPref(kQuickAnswersUnitConversionEnabled, true); registry->RegisterIntegerPref(kQuickAnswersNoticeImpressionCount, 0); registry->RegisterIntegerPref(kQuickAnswersNoticeImpressionDuration, 0); }
diff --git a/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.h b/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.h index c70d717..9e6324b2 100644 --- a/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.h +++ b/chromeos/components/quick_answers/public/cpp/quick_answers_prefs.h
@@ -28,7 +28,7 @@ extern const char kQuickAnswersConsentStatus[]; extern const char kQuickAnswersDefinitionEnabled[]; extern const char kQuickAnswersTranslationEnabled[]; -extern const char kQuickAnswersUnitConverstionEnabled[]; +extern const char kQuickAnswersUnitConversionEnabled[]; extern const char kQuickAnswersNoticeImpressionCount[]; extern const char kQuickAnswersNoticeImpressionDuration[];
diff --git a/chromeos/components/quick_answers/public/cpp/quick_answers_state.cc b/chromeos/components/quick_answers/public/cpp/quick_answers_state.cc index 998b946..5b152af8b 100644 --- a/chromeos/components/quick_answers/public/cpp/quick_answers_state.cc +++ b/chromeos/components/quick_answers/public/cpp/quick_answers_state.cc
@@ -23,7 +23,7 @@ using quick_answers::prefs::kQuickAnswersEnabled; using quick_answers::prefs::kQuickAnswersNoticeImpressionCount; using quick_answers::prefs::kQuickAnswersTranslationEnabled; -using quick_answers::prefs::kQuickAnswersUnitConverstionEnabled; +using quick_answers::prefs::kQuickAnswersUnitConversionEnabled; QuickAnswersState* g_quick_answers_state = nullptr; @@ -131,15 +131,15 @@ base::BindRepeating(&QuickAnswersState::UpdateTranslationEnabled, base::Unretained(this))); pref_change_registrar_->Add( - kQuickAnswersUnitConverstionEnabled, - base::BindRepeating(&QuickAnswersState::UpdateUnitConverstionEnabled, + kQuickAnswersUnitConversionEnabled, + base::BindRepeating(&QuickAnswersState::UpdateUnitConversionEnabled, base::Unretained(this))); UpdateSettingsEnabled(); UpdateConsentStatus(); UpdateDefinitionEnabled(); UpdateTranslationEnabled(); - UpdateUnitConverstionEnabled(); + UpdateUnitConversionEnabled(); prefs_initialized_ = true; @@ -256,9 +256,9 @@ translation_enabled_ = translation_enabled; } -void QuickAnswersState::UpdateUnitConverstionEnabled() { +void QuickAnswersState::UpdateUnitConversionEnabled() { auto unit_conversion_enabled = pref_change_registrar_->prefs()->GetBoolean( - kQuickAnswersUnitConverstionEnabled); + kQuickAnswersUnitConversionEnabled); if (unit_conversion_enabled_ == unit_conversion_enabled) { return; }
diff --git a/chromeos/components/quick_answers/public/cpp/quick_answers_state.h b/chromeos/components/quick_answers/public/cpp/quick_answers_state.h index ce7a174..c3929ec 100644 --- a/chromeos/components/quick_answers/public/cpp/quick_answers_state.h +++ b/chromeos/components/quick_answers/public/cpp/quick_answers_state.h
@@ -85,7 +85,7 @@ void UpdateConsentStatus(); void UpdateDefinitionEnabled(); void UpdateTranslationEnabled(); - void UpdateUnitConverstionEnabled(); + void UpdateUnitConversionEnabled(); // Called when the feature eligibility might change. void UpdateEligibility();
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc index 905712758..37a26b3 100644 --- a/components/autofill/core/browser/autofill_download_manager.cc +++ b/components/autofill/core/browser/autofill_download_manager.cc
@@ -514,8 +514,7 @@ // event pref to set the appropriate bit. bool is_first_upload_for_event = ((value & mask) == 0); if (is_first_upload_for_event) { - DictionaryPrefUpdateDeprecated update(pref_service, - prefs::kAutofillUploadEvents); + DictionaryPrefUpdate update(pref_service, prefs::kAutofillUploadEvents); update->SetKey(std::move(key), base::Value(value | mask)); }
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc index d31887ed..2c25dae1 100644 --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc
@@ -286,8 +286,7 @@ base::Base64Encode(crypto::SHA256HashString(account_id.ToString()), &account_hash); - DictionaryPrefUpdateDeprecated update(prefs, - prefs::kAutofillSyncTransportOptIn); + DictionaryPrefUpdate update(prefs, prefs::kAutofillSyncTransportOptIn); int value = GetSyncTransportOptInBitFieldForAccount(prefs, account_hash); // If the user has opted in, set that bit while leaving the others intact. @@ -325,8 +324,7 @@ } void ClearSyncTransportOptIns(PrefService* prefs) { - DictionaryPrefUpdateDeprecated update(prefs, - prefs::kAutofillSyncTransportOptIn); + DictionaryPrefUpdate update(prefs, prefs::kAutofillSyncTransportOptIn); update->DictClear(); }
diff --git a/components/autofill_assistant/browser/actions/generate_password_for_form_field_action.cc b/components/autofill_assistant/browser/actions/generate_password_for_form_field_action.cc index 1b63558..f2171c1 100644 --- a/components/autofill_assistant/browser/actions/generate_password_for_form_field_action.cc +++ b/components/autofill_assistant/browser/actions/generate_password_for_form_field_action.cc
@@ -55,13 +55,23 @@ } uint64_t max_length = field_data.max_length; - std::string password = delegate_->GetWebsiteLoginManager()->GeneratePassword( - autofill::CalculateFormSignature(form_data), - autofill::CalculateFieldSignatureForField(field_data), max_length); + absl::optional<std::string> password = + delegate_->GetWebsiteLoginManager()->GeneratePassword( + autofill::CalculateFormSignature(form_data), + autofill::CalculateFieldSignatureForField(field_data), max_length); + + if (!password) { + // In theory, GeneratePassword() could fail for other reasons, but in + // practice, the only reason it can return absl::nullopt is if the + // RenderFrameHost does not have a live RenderFrame (e.g. the renderer + // process crashed). + EndAction(ClientStatus(NO_RENDER_FRAME)); + return; + } delegate_->WriteUserData(base::BindOnce( &GeneratePasswordForFormFieldAction::StoreGeneratedPasswordToUserData, - weak_ptr_factory_.GetWeakPtr(), memory_key, password, form_data)); + weak_ptr_factory_.GetWeakPtr(), memory_key, *password, form_data)); EndAction(ClientStatus(ACTION_APPLIED)); }
diff --git a/components/autofill_assistant/browser/actions/generate_password_for_form_field_action_unittest.cc b/components/autofill_assistant/browser/actions/generate_password_for_form_field_action_unittest.cc index 55ead14..2c82622e 100644 --- a/components/autofill_assistant/browser/actions/generate_password_for_form_field_action_unittest.cc +++ b/components/autofill_assistant/browser/actions/generate_password_for_form_field_action_unittest.cc
@@ -105,4 +105,27 @@ EXPECT_FALSE(user_data_.HasAdditionalValue(kMemoryKeyForGeneratedPassword)); } +TEST_F(GeneratePasswordForFormFieldActionTest, GeneratePasswordFails) { + ON_CALL(mock_action_delegate_, RetrieveElementFormAndFieldData) + .WillByDefault(RunOnceCallback<1>(ClientStatus(ACTION_APPLIED), + autofill::FormData(), + autofill::FormFieldData())); + GeneratePasswordForFormFieldProto* generate_password_proto = + proto_.mutable_generate_password_for_form_field(); + *generate_password_proto->mutable_element() = Selector({kFakeSelector}).proto; + generate_password_proto->set_memory_key(kMemoryKeyForGeneratedPassword); + + GeneratePasswordForFormFieldAction action(&mock_action_delegate_, proto_); + + EXPECT_CALL(mock_website_login_manager_, GeneratePassword) + .WillOnce(Return(absl::nullopt)); + EXPECT_CALL( + callback_, + Run(Pointee(Property(&ProcessedActionProto::status, NO_RENDER_FRAME)))); + + action.ProcessAction(callback_.Get()); + + EXPECT_FALSE(user_data_.HasAdditionalValue(kMemoryKeyForGeneratedPassword)); +} + } // namespace autofill_assistant
diff --git a/components/autofill_assistant/browser/client_status.cc b/components/autofill_assistant/browser/client_status.cc index 98485857..47a38250 100644 --- a/components/autofill_assistant/browser/client_status.cc +++ b/components/autofill_assistant/browser/client_status.cc
@@ -161,6 +161,9 @@ case ProcessedActionStatusProto::RESEND_USER_DATA: out << "RESEND_USER_DATA"; break; + case ProcessedActionStatusProto::NO_RENDER_FRAME: + out << "NO_RENDER_FRAME"; + break; // Intentionally no default case to make compilation fail if a new value // was added to the enum but not to this list.
diff --git a/components/autofill_assistant/browser/mock_website_login_manager.h b/components/autofill_assistant/browser/mock_website_login_manager.h index 2b955a7..58bee8a 100644 --- a/components/autofill_assistant/browser/mock_website_login_manager.h +++ b/components/autofill_assistant/browser/mock_website_login_manager.h
@@ -45,7 +45,7 @@ base::OnceCallback<void(bool)> callback), (override)); - MOCK_METHOD(std::string, + MOCK_METHOD(absl::optional<std::string>, GeneratePassword, (autofill::FormSignature form_signature, autofill::FieldSignature field_signature,
diff --git a/components/autofill_assistant/browser/model.proto b/components/autofill_assistant/browser/model.proto index 255de7f2f..887799e 100644 --- a/components/autofill_assistant/browser/model.proto +++ b/components/autofill_assistant/browser/model.proto
@@ -235,6 +235,10 @@ // data to be resent. RESEND_USER_DATA = 36; + // The RenderFrameHost does not have a corresponding live RenderFrame, e.g. + // the renderer process may have crashed. + NO_RENDER_FRAME = 37; + reserved 15, 23, 25, 32; }
diff --git a/components/autofill_assistant/browser/website_login_manager.h b/components/autofill_assistant/browser/website_login_manager.h index c1f70b6..397e6147 100644 --- a/components/autofill_assistant/browser/website_login_manager.h +++ b/components/autofill_assistant/browser/website_login_manager.h
@@ -13,6 +13,7 @@ #include "base/time/time.h" #include "components/autofill/core/common/form_data.h" #include "components/autofill/core/common/signatures.h" +#include "third_party/abseil-cpp/absl/types/optional.h" #include "url/gurl.h" namespace autofill_assistant { @@ -69,10 +70,12 @@ // Generates new strong password. |form/field_signature| are used to fetch // password requirements. |max_length| is the "max_length" attribute of input - // field that limits the length of value. - virtual std::string GeneratePassword(autofill::FormSignature form_signature, - autofill::FieldSignature field_signature, - uint64_t max_length) = 0; + // field that limits the length of value. Returns |absl::nullopt| if the + // password cannot be generated for some reason. + virtual absl::optional<std::string> GeneratePassword( + autofill::FormSignature form_signature, + autofill::FieldSignature field_signature, + uint64_t max_length) = 0; // Presaves generated passwod for the form. Password will be saved after // successful form submission.
diff --git a/components/autofill_assistant/browser/website_login_manager_impl.cc b/components/autofill_assistant/browser/website_login_manager_impl.cc index 0c819576..1193def 100644 --- a/components/autofill_assistant/browser/website_login_manager_impl.cc +++ b/components/autofill_assistant/browser/website_login_manager_impl.cc
@@ -20,6 +20,7 @@ #include "components/password_manager/core/browser/votes_uploader.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" +#include "third_party/abseil-cpp/absl/types/optional.h" namespace autofill_assistant { @@ -448,7 +449,7 @@ weak_ptr_factory_.GetWeakPtr()))); pending_requests_.back()->Start(); } -std::string WebsiteLoginManagerImpl::GeneratePassword( +absl::optional<std::string> WebsiteLoginManagerImpl::GeneratePassword( autofill::FormSignature form_signature, autofill::FieldSignature field_signature, uint64_t max_length) { @@ -460,7 +461,9 @@ // frame has a different origin than the main frame, passwords-related // features may not work. auto* driver = factory->GetDriverForFrame(web_contents_->GetMainFrame()); - DCHECK(driver); + if (!driver) { + return absl::nullopt; + } return base::UTF16ToUTF8( driver->GetPasswordGenerationHelper()->GeneratePassword(
diff --git a/components/autofill_assistant/browser/website_login_manager_impl.h b/components/autofill_assistant/browser/website_login_manager_impl.h index 067a8e3..aa4728b5 100644 --- a/components/autofill_assistant/browser/website_login_manager_impl.h +++ b/components/autofill_assistant/browser/website_login_manager_impl.h
@@ -46,9 +46,10 @@ void EditPasswordForLogin(const Login& login, const std::string& new_password, base::OnceCallback<void(bool)> callback) override; - std::string GeneratePassword(autofill::FormSignature form_signature, - autofill::FieldSignature field_signature, - uint64_t max_length) override; + absl::optional<std::string> GeneratePassword( + autofill::FormSignature form_signature, + autofill::FieldSignature field_signature, + uint64_t max_length) override; void PresaveGeneratedPassword(const Login& login, const std::string& password,
diff --git a/components/invalidation/impl/fcm_invalidation_service_base.cc b/components/invalidation/impl/fcm_invalidation_service_base.cc index 911ba06..68a1472 100644 --- a/components/invalidation/impl/fcm_invalidation_service_base.cc +++ b/components/invalidation/impl/fcm_invalidation_service_base.cc
@@ -29,9 +29,8 @@ if (!prefs->HasPrefPath(prefs::kFCMInvalidationClientIDCacheDeprecated)) { return; } - DictionaryPrefUpdateDeprecated update(prefs, - prefs::kInvalidationClientIDCache); - update->SetString( + DictionaryPrefUpdate update(prefs, prefs::kInvalidationClientIDCache); + update->SetStringKey( sender_id, prefs->GetString(prefs::kFCMInvalidationClientIDCacheDeprecated)); prefs->ClearPref(prefs::kFCMInvalidationClientIDCacheDeprecated); @@ -276,8 +275,7 @@ // source of truth, and are responsible for ensuring that the deletion // actually happens. client_id_.clear(); - DictionaryPrefUpdateDeprecated update(pref_service_, - prefs::kInvalidationClientIDCache); + DictionaryPrefUpdate update(pref_service_, prefs::kInvalidationClientIDCache); update->RemoveKey(sender_id_); // Also let the registrar (and its observers) know that the instance ID is @@ -296,8 +294,8 @@ diagnostic_info_.instance_id_received = base::Time::Now(); if (client_id_ != instance_id) { client_id_ = instance_id; - DictionaryPrefUpdateDeprecated update(pref_service_, - prefs::kInvalidationClientIDCache); + DictionaryPrefUpdate update(pref_service_, + prefs::kInvalidationClientIDCache); update->SetStringKey(sender_id_, instance_id); invalidator_registrar_.UpdateInvalidatorInstanceId(instance_id); }
diff --git a/components/invalidation/impl/fcm_invalidation_service_unittest.cc b/components/invalidation/impl/fcm_invalidation_service_unittest.cc index 982a755..1f53441c 100644 --- a/components/invalidation/impl/fcm_invalidation_service_unittest.cc +++ b/components/invalidation/impl/fcm_invalidation_service_unittest.cc
@@ -209,8 +209,8 @@ // Set up a cached InstanceID aka client ID stored in prefs. { - DictionaryPrefUpdateDeprecated update(&delegate->pref_service_, - prefs::kInvalidationClientIDCache); + DictionaryPrefUpdate update(&delegate->pref_service_, + prefs::kInvalidationClientIDCache); update->SetStringKey(kSenderId, "InstanceIDFromPrefs"); }
diff --git a/components/invalidation/impl/invalidator_registrar_with_memory.cc b/components/invalidation/impl/invalidator_registrar_with_memory.cc index cb98270..bead8450 100644 --- a/components/invalidation/impl/invalidator_registrar_with_memory.cc +++ b/components/invalidation/impl/invalidator_registrar_with_memory.cc
@@ -36,7 +36,7 @@ return; } { - DictionaryPrefUpdateDeprecated update(prefs, kTopicsToHandler); + DictionaryPrefUpdate update(prefs, kTopicsToHandler); update->SetKey(sender_id, old_prefs->Clone()); } prefs->ClearPref(kTopicsToHandlerDeprecated); @@ -82,8 +82,8 @@ const base::Value* pref_data = prefs_->Get(kTopicsToHandler)->FindDictKey(sender_id_); if (!pref_data) { - DictionaryPrefUpdateDeprecated update(prefs_, kTopicsToHandler); - update->SetKey(sender_id_, base::DictionaryValue()); + DictionaryPrefUpdate update(prefs_, kTopicsToHandler); + update->SetKey(sender_id_, base::Value(base::Value::Type::DICTIONARY)); return; } // Restore |handler_name_to_subscribed_topics_map_| from prefs. @@ -148,7 +148,7 @@ registered_handler_to_topics_map_[handler] = topics; } - DictionaryPrefUpdateDeprecated update(prefs_, kTopicsToHandler); + DictionaryPrefUpdate update(prefs_, kTopicsToHandler); base::Value* pref_data = update->FindDictKey(sender_id_); // TODO(crbug.com/1020117): This does currently *not* remove subscribed // topics which are not registered, but it almost certainly should. It
diff --git a/components/invalidation/impl/per_user_topic_subscription_manager.cc b/components/invalidation/impl/per_user_topic_subscription_manager.cc index 9dcf7cf..9430291b 100644 --- a/components/invalidation/impl/per_user_topic_subscription_manager.cc +++ b/components/invalidation/impl/per_user_topic_subscription_manager.cc
@@ -84,11 +84,10 @@ false, }; -class PerProjectDictionaryPrefUpdateDeprecated { +class PerProjectDictionaryPrefUpdate { public: - explicit PerProjectDictionaryPrefUpdateDeprecated( - PrefService* prefs, - const std::string& project_id) + explicit PerProjectDictionaryPrefUpdate(PrefService* prefs, + const std::string& project_id) : update_(prefs, kTypeSubscribedForInvalidations) { per_sender_pref_ = update_->FindDictKey(project_id); if (!per_sender_pref_) { @@ -103,7 +102,7 @@ base::Value* operator->() { return per_sender_pref_; } private: - DictionaryPrefUpdateDeprecated update_; + DictionaryPrefUpdate update_; raw_ptr<base::Value> per_sender_pref_; }; @@ -113,16 +112,15 @@ return; } { - DictionaryPrefUpdateDeprecated token_update(prefs, - kActiveRegistrationTokens); - token_update->SetString( + DictionaryPrefUpdate token_update(prefs, kActiveRegistrationTokens); + token_update->SetStringKey( project_id, prefs->GetString(kActiveRegistrationTokenDeprecated)); } auto* old_subscriptions = prefs->GetDictionary(kTypeSubscribedForInvalidationsDeprecated); { - PerProjectDictionaryPrefUpdateDeprecated update(prefs, project_id); + PerProjectDictionaryPrefUpdate update(prefs, project_id); *update = old_subscriptions->Clone(); } prefs->ClearPref(kActiveRegistrationTokenDeprecated); @@ -242,7 +240,7 @@ if (migrate_prefs_) { MigratePrefs(pref_service_, project_id_); } - PerProjectDictionaryPrefUpdateDeprecated update(pref_service_, project_id_); + PerProjectDictionaryPrefUpdate update(pref_service_, project_id_); if (update->DictEmpty()) { return; } @@ -322,8 +320,7 @@ it = topic_to_private_topic_.erase(it); // The decision to unsubscribe from invalidations for |topic| was // made, the preferences should be cleaned up immediately. - PerProjectDictionaryPrefUpdateDeprecated update(pref_service_, - project_id_); + PerProjectDictionaryPrefUpdate update(pref_service_, project_id_); update->RemoveKey(topic); } else { // Topic is still wanted, nothing to do. @@ -406,9 +403,8 @@ // unsubscription, we've already updated the prefs when scheduling the // request). { - PerProjectDictionaryPrefUpdateDeprecated update(pref_service_, - project_id_); - update->SetKey(topic, base::Value(private_topic_name)); + PerProjectDictionaryPrefUpdate update(pref_service_, project_id_); + update->SetStringKey(topic, private_topic_name); topic_to_private_topic_[topic] = private_topic_name; private_topic_to_topic_[private_topic_name] = topic; } @@ -572,16 +568,17 @@ PerUserTopicSubscriptionManager::TokenStateOnSubscriptionRequest PerUserTopicSubscriptionManager::DropAllSavedSubscriptionsOnTokenChangeImpl() { { - DictionaryPrefUpdateDeprecated token_update(pref_service_, - kActiveRegistrationTokens); + DictionaryPrefUpdate token_update(pref_service_, kActiveRegistrationTokens); std::string previous_token; - token_update->GetString(project_id_, &previous_token); + if (const std::string* str_ptr = token_update->FindStringKey(project_id_)) { + previous_token = *str_ptr; + } if (previous_token == instance_id_token_) { // Note: This includes the case where the token was and still is empty. return TokenStateOnSubscriptionRequest::kTokenUnchanged; } - token_update->SetString(project_id_, instance_id_token_); + token_update->SetStringKey(project_id_, instance_id_token_); if (previous_token.empty()) { // If we didn't have a registration token before, we shouldn't have had // any subscriptions either, so no need to drop them. @@ -593,7 +590,7 @@ // subscriptions since they won't be valid anymore. (No need to send // unsubscribe requests - if the token was revoked, the server will drop the // subscriptions anyway.) - PerProjectDictionaryPrefUpdateDeprecated update(pref_service_, project_id_); + PerProjectDictionaryPrefUpdate update(pref_service_, project_id_); *update = base::Value(base::Value::Type::DICTIONARY); topic_to_private_topic_.clear(); private_topic_to_topic_.clear();
diff --git a/components/ntp_snippets/remote/remote_suggestion.cc b/components/ntp_snippets/remote/remote_suggestion.cc index 3abc92b..25df172 100644 --- a/components/ntp_snippets/remote/remote_suggestion.cc +++ b/components/ntp_snippets/remote/remote_suggestion.cc
@@ -18,26 +18,38 @@ namespace { // dict.Get() specialization for base::Time values -bool GetTimeValue(const base::DictionaryValue& dict, +bool GetTimeValue(const base::Value& dict, const std::string& key, base::Time* time) { - std::string time_value; - return dict.GetString(key, &time_value) && - base::Time::FromString(time_value.c_str(), time); + const std::string* time_value = dict.FindStringKey(key); + if (!time_value) { + return false; + } + return base::Time::FromString(time_value->c_str(), time); } // dict.Get() specialization for GURL values -bool GetURLValue(const base::DictionaryValue& dict, - const std::string& key, - GURL* url) { - std::string spec; - if (!dict.GetString(key, &spec)) { +bool GetURLValue(const base::Value& dict, const std::string& key, GURL* url) { + const std::string* spec = dict.FindStringKey(key); + if (!spec) { return false; } - *url = GURL(spec); + *url = GURL(*spec); return url->is_valid(); } +// dict.Get() specialization for std::string values +bool GetStringValue(const base::Value& dict, + const std::string& key, + std::string* str) { + const std::string* str_value = dict.FindStringKey(key); + if (!str_value) { + return false; + } + *str = *str_value; + return true; +} + } // namespace namespace ntp_snippets { @@ -85,16 +97,16 @@ auto snippet = MakeUnique(parsed_ids, remote_category_id); snippet->fetch_date_ = fetch_date; - if (!(dict.GetString("title", &snippet->title_) && + if (!(GetStringValue(dict, "title", &snippet->title_) && GetTimeValue(dict, "creationTime", &snippet->publish_date_) && GetTimeValue(dict, "expirationTime", &snippet->expiry_date_) && - dict.GetString("attribution", &snippet->publisher_name_) && + GetStringValue(dict, "attribution", &snippet->publisher_name_) && GetURLValue(dict, "fullPageUrl", &snippet->url_))) { return nullptr; } // Optional fields. - dict.GetString("snippet", &snippet->snippet_); + GetStringValue(dict, "snippet", &snippet->snippet_); GetURLValue(dict, "imageUrl", &snippet->salient_image_url_); GetURLValue(dict, "ampUrl", &snippet->amp_url_); @@ -140,7 +152,7 @@ // content_type_ of the class |RemoteSuggestion| is by default initialized to // ContentType::UNKNOWN. std::string content_type; - if (dict.GetString("contentType", &content_type)) { + if (GetStringValue(dict, "contentType", &content_type)) { if (content_type == "VIDEO") { snippet->content_type_ = ContentType::VIDEO; } else {
diff --git a/components/omnibox/browser/BUILD.gn b/components/omnibox/browser/BUILD.gn index 30f6080..7a3d578 100644 --- a/components/omnibox/browser/BUILD.gn +++ b/components/omnibox/browser/BUILD.gn
@@ -103,6 +103,7 @@ "autocomplete_classifier.h", "autocomplete_controller.cc", "autocomplete_controller.h", + "autocomplete_i18n.h", "autocomplete_match.cc", "autocomplete_match.h", "autocomplete_match_classification.cc", @@ -115,6 +116,7 @@ "autocomplete_provider_client.h", "autocomplete_provider_debouncer.cc", "autocomplete_provider_debouncer.h", + "autocomplete_provider_listener.h", "autocomplete_result.cc", "autocomplete_result.h", "base_search_provider.cc",
diff --git a/components/optimization_guide/content/browser/page_content_annotations_model_manager_unittest.cc b/components/optimization_guide/content/browser/page_content_annotations_model_manager_unittest.cc index 3a8becc..d1fafbf 100644 --- a/components/optimization_guide/content/browser/page_content_annotations_model_manager_unittest.cc +++ b/components/optimization_guide/content/browser/page_content_annotations_model_manager_unittest.cc
@@ -562,7 +562,13 @@ EXPECT_FALSE(GetMetadataForEntityId("someid").has_value()); } -TEST_F(PageContentAnnotationsModelManagerTest, BatchAnnotate_PageTopics) { +// TODO(crbug.com/1286473): Flaky on Chrome OS. +#if defined(OS_CHROMEOS) +#define MAYBE_BatchAnnotate_PageTopics DISABLED_BatchAnnotate_PageTopics +#else +#define MAYBE_BatchAnnotate_PageTopics BatchAnnotate_PageTopics +#endif +TEST_F(PageContentAnnotationsModelManagerTest, MAYBE_BatchAnnotate_PageTopics) { SetupPageTopicsV2ModelExecutor(); // Running the actual model can take a while. @@ -663,7 +669,14 @@ EXPECT_EQ(result[0].visibility_score(), absl::nullopt); } -TEST_F(PageContentAnnotationsModelManagerTest, BatchAnnotate_PageVisibility) { +// TODO(crbug.com/1286473): Flaky on Chrome OS. +#if defined(OS_CHROMEOS) +#define MAYBE_BatchAnnotate_PageVisibility DISABLED_BatchAnnotate_PageVisibility +#else +#define MAYBE_BatchAnnotate_PageVisibility BatchAnnotate_PageVisibility +#endif +TEST_F(PageContentAnnotationsModelManagerTest, + MAYBE_BatchAnnotate_PageVisibility) { proto::Any any_metadata; any_metadata.set_type_url( "type.googleapis.com/com.foo.PageTopicsModelMetadata"); @@ -745,7 +758,14 @@ EXPECT_EQ(result[0].visibility_score(), absl::nullopt); } -TEST_F(PageContentAnnotationsModelManagerTest, BatchAnnotate_CalledTwice) { +// TODO(crbug.com/1286473): Flaky on Chrome OS. +#if defined(OS_CHROMEOS) +#define MAYBE_BatchAnnotate_CalledTwice DISABLED_BatchAnnotate_CalledTwice +#else +#define MAYBE_BatchAnnotate_CalledTwice BatchAnnotate_CalledTwice +#endif +TEST_F(PageContentAnnotationsModelManagerTest, + MAYBE_BatchAnnotate_CalledTwice) { SetupPageTopicsV2ModelExecutor(); base::HistogramTester histogram_tester;
diff --git a/components/password_manager/content/browser/content_password_manager_driver_factory.cc b/components/password_manager/content/browser/content_password_manager_driver_factory.cc index 2842f20..a868017 100644 --- a/components/password_manager/content/browser/content_password_manager_driver_factory.cc +++ b/components/password_manager/content/browser/content_password_manager_driver_factory.cc
@@ -50,9 +50,17 @@ // the request will be just dropped, this would cause closing the message pipe // which would raise connection error to peer side. // Peer side could reconnect later when needed. + // TODO(https://crbug.com/1286342): WebContents should never be null here; the + // helper function above only returns a null WebContents if + // `render_frame_host` is null, but that should never be the case here. if (!web_contents) return; + // This is called by a Mojo registry for associated interfaces, which should + // never attempt to bind interfaces for RenderFrameHosts with non-live + // RenderFrames. + CHECK(render_frame_host->IsRenderFrameLive()); + ContentPasswordManagerDriverFactory* factory = ContentPasswordManagerDriverFactory::FromWebContents(web_contents); if (!factory) @@ -67,7 +75,12 @@ content::RenderFrameHost* render_frame_host) { DCHECK_EQ(web_contents(), content::WebContents::FromRenderFrameHost(render_frame_host)); - DCHECK(render_frame_host->IsRenderFrameCreated()); + + // A RenderFrameHost without a live RenderFrame will never call + // RenderFrameDeleted(), and the corresponding driver would never be cleaned + // up. + if (!render_frame_host->IsRenderFrameLive()) + return nullptr; // TryEmplace() will return an iterator to the driver corresponding to // `render_frame_host`. It creates a new one if required. @@ -97,6 +110,8 @@ navigation->GetPageTransition(), navigation->WasInitiatedByLinkClick(), password_client_->GetPasswordManager()); + // A committed navigation always has a live RenderFrameHost. + CHECK(navigation->GetRenderFrameHost()->IsRenderFrameLive()); GetDriverForFrame(navigation->GetRenderFrameHost()) ->GetPasswordAutofillManager() ->DidNavigateMainFrame();
diff --git a/components/password_manager/content/browser/content_password_manager_driver_factory.h b/components/password_manager/content/browser/content_password_manager_driver_factory.h index 35b7ab37..120b6ef 100644 --- a/components/password_manager/content/browser/content_password_manager_driver_factory.h +++ b/components/password_manager/content/browser/content_password_manager_driver_factory.h
@@ -29,7 +29,7 @@ class ContentPasswordManagerDriver; // Creates and owns ContentPasswordManagerDrivers. There is one -// factory per WebContents, and one driver per render frame. +// factory per WebContents, and one driver per RenderFrameHost. class ContentPasswordManagerDriverFactory : public content::WebContentsObserver, public content::WebContentsUserData<ContentPasswordManagerDriverFactory> { @@ -46,6 +46,8 @@ pending_receiver, content::RenderFrameHost* render_frame_host); + // Note that this may return null if the RenderFrameHost does not have a + // live RenderFrame (e.g. it represents a crashed RenderFrameHost). ContentPasswordManagerDriver* GetDriverForFrame( content::RenderFrameHost* render_frame_host);
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc index 5bc9eb8..5a56953 100644 --- a/components/password_manager/core/browser/login_database.cc +++ b/components/password_manager/core/browser/login_database.cc
@@ -42,6 +42,7 @@ #include "components/password_manager/core/browser/password_store_change.h" #include "components/password_manager/core/browser/psl_matching_helper.h" #include "components/password_manager/core/browser/sql_table_builder.h" +#include "components/password_manager/core/common/password_manager_features.h" #include "components/sync/protocol/entity_metadata.pb.h" #include "components/sync/protocol/model_type_state.pb.h" #include "google_apis/gaia/gaia_auth_util.h" @@ -658,6 +659,16 @@ } #endif +// Whether we should try to return the decryptable passwords while the +// encryption service fails for some passwords. +bool ShouldReturnPartialPasswords() { +#if defined(OS_MAC) || defined(OS_LINUX) + return base::FeatureList::IsEnabled(features::kSkipUndecryptablePasswords); +#else + return false; +#endif +} + } // namespace struct LoginDatabase::PrimaryKeyAndPassword { @@ -1213,7 +1224,9 @@ sql::Statement s( db_.GetCachedStatement(SQL_FROM_HERE, autosignin_statement_.c_str())); FormRetrievalResult result = StatementToForms(&s, nullptr, key_to_form_map); - return result == FormRetrievalResult::kSuccess; + return (result == FormRetrievalResult::kSuccess || + result == + FormRetrievalResult::kEncryptionServiceFailureWithPartialData); } bool LoginDatabase::DisableAutoSignInForOrigin(const GURL& origin) { @@ -1353,7 +1366,8 @@ FormRetrievalResult result = StatementToForms( &s, should_PSL_matching_apply || should_federated_apply ? &form : nullptr, &key_to_form_map); - if (result != FormRetrievalResult::kSuccess) { + if (result != FormRetrievalResult::kSuccess && + result != FormRetrievalResult::kEncryptionServiceFailureWithPartialData) { return false; } for (auto& pair : key_to_form_map) { @@ -1431,10 +1445,10 @@ PrimaryKeyToFormMap key_to_form_map; - if (StatementToForms(&s, nullptr, &key_to_form_map) != - FormRetrievalResult::kSuccess) { + FormRetrievalResult result = StatementToForms(&s, nullptr, &key_to_form_map); + if (result != FormRetrievalResult::kSuccess && + result != FormRetrievalResult::kEncryptionServiceFailureWithPartialData) return false; - } for (auto& pair : key_to_form_map) { forms->push_back(std::move(pair.second)); @@ -1751,6 +1765,7 @@ const PasswordFormDigest* matched_form, PrimaryKeyToFormMap* key_to_form_map) { key_to_form_map->clear(); + bool has_service_failure = false; while (statement->Step()) { auto new_form = std::make_unique<PasswordForm>(); FillFormInStore(new_form.get()); @@ -1760,7 +1775,8 @@ *statement, /*decrypt_and_fill_password_value=*/true, &primary_key, new_form.get()); if (result == ENCRYPTION_RESULT_SERVICE_FAILURE) { - return FormRetrievalResult::kEncrytionServiceFailure; + has_service_failure = true; + continue; } if (result == ENCRYPTION_RESULT_ITEM_FAILURE) { continue; @@ -1787,6 +1803,13 @@ if (!statement->Succeeded()) { return FormRetrievalResult::kDbError; } + if (has_service_failure && + (key_to_form_map->empty() || !ShouldReturnPartialPasswords())) { + return FormRetrievalResult::kEncrytionServiceFailure; + } + if (has_service_failure) { + return FormRetrievalResult::kEncryptionServiceFailureWithPartialData; + } return FormRetrievalResult::kSuccess; }
diff --git a/components/password_manager/core/browser/login_database_async_helper.cc b/components/password_manager/core/browser/login_database_async_helper.cc index 34791b4..e19293e3 100644 --- a/components/password_manager/core/browser/login_database_async_helper.cc +++ b/components/password_manager/core/browser/login_database_async_helper.cc
@@ -78,8 +78,11 @@ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); PrimaryKeyToFormMap key_to_form_map; - if (!login_db_ || login_db_->GetAllLogins(&key_to_form_map) != - FormRetrievalResult::kSuccess) + if (!login_db_) + return {}; + FormRetrievalResult result = login_db_->GetAllLogins(&key_to_form_map); + if (result != FormRetrievalResult::kSuccess && + result != FormRetrievalResult::kEncryptionServiceFailureWithPartialData) return {}; std::vector<std::unique_ptr<PasswordForm>> obtained_forms;
diff --git a/components/password_manager/core/browser/login_database_unittest.cc b/components/password_manager/core/browser/login_database_unittest.cc index bf6db14..aa508295 100644 --- a/components/password_manager/core/browser/login_database_unittest.cc +++ b/components/password_manager/core/browser/login_database_unittest.cc
@@ -20,6 +20,7 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/test/metrics/histogram_tester.h" +#include "base/test/scoped_feature_list.h" #include "base/test/task_environment.h" #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" @@ -2168,6 +2169,86 @@ } #endif // defined(OS_MAC) +#if defined(OS_MAC) || defined(OS_LINUX) +// Test getting auto sign in logins when there are undecryptable ones +TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutoSignInLogins) { + PrimaryKeyToFormMap key_to_form_map; + + auto form1 = + AddDummyLogin("foo1", GURL("https://foo1.com/"), + /*should_be_corrupted=*/false, /*blocklisted=*/false); + auto form2 = + AddDummyLogin("foo2", GURL("https://foo2.com/"), + /*should_be_corrupted=*/true, /*blocklisted=*/false); + auto form3 = + AddDummyLogin("foo3", GURL("https://foo3.com/"), + /*should_be_corrupted=*/false, /*blocklisted=*/false); + + LoginDatabase db(database_path(), IsAccountStore(false)); + ASSERT_TRUE(db.Init()); + + EXPECT_FALSE(db.GetAutoSignInLogins(&key_to_form_map)); + + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature(features::kSkipUndecryptablePasswords); + + EXPECT_TRUE(db.GetAutoSignInLogins(&key_to_form_map)); + EXPECT_THAT(key_to_form_map, UnorderedElementsAre(Pair(_, Pointee(form1)), + Pair(_, Pointee(form3)))); +} + +// Test getting logins when there are undecryptable ones +TEST_F(LoginDatabaseUndecryptableLoginsTest, GetLogins) { + auto form1 = + AddDummyLogin("user1", GURL("http://www.google.com/"), + /*should_be_corrupted=*/false, /*blocklisted=*/false); + auto form2 = + AddDummyLogin("user2", GURL("http://www.google.com/"), + /*should_be_corrupted=*/true, /*blocklisted=*/false); + LoginDatabase db(database_path(), IsAccountStore(false)); + ASSERT_TRUE(db.Init()); + std::vector<std::unique_ptr<PasswordForm>> result; + + PasswordForm form = GenerateExamplePasswordForm(); + EXPECT_FALSE(db.GetLogins(PasswordFormDigest(form), + /*should_PSL_matching_apply=*/false, &result)); + + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature(features::kSkipUndecryptablePasswords); + result.clear(); + + EXPECT_TRUE(db.GetLogins(PasswordFormDigest(form), + /*should_PSL_matching_apply=*/false, &result)); + EXPECT_THAT(result, ElementsAre(Pointee(form1))); +} + +// Test getting auto fillable logins when there are undecryptable ones +TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutofillableLogins) { + std::vector<std::unique_ptr<PasswordForm>> result; + + auto form1 = + AddDummyLogin("foo1", GURL("https://foo1.com/"), + /*should_be_corrupted=*/false, /*blocklisted=*/false); + auto form2 = + AddDummyLogin("foo2", GURL("https://foo2.com/"), + /*should_be_corrupted=*/true, /*blocklisted=*/false); + auto form3 = + AddDummyLogin("foo3", GURL("https://foo3.com/"), + /*should_be_corrupted=*/false, /*blocklisted=*/true); + + LoginDatabase db(database_path(), IsAccountStore(false)); + ASSERT_TRUE(db.Init()); + + EXPECT_FALSE(db.GetAutofillableLogins(&result)); + + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature(features::kSkipUndecryptablePasswords); + + EXPECT_TRUE(db.GetAutofillableLogins(&result)); + EXPECT_THAT(result, ElementsAre(Pointee(form1))); +} +#endif + // Test encrypted passwords are present in add change lists. TEST_F(LoginDatabaseTest, EncryptedPasswordAdd) { PasswordForm form;
diff --git a/components/password_manager/core/browser/password_store_proxy_backend.cc b/components/password_manager/core/browser/password_store_proxy_backend.cc index 177a630..903043e5 100644 --- a/components/password_manager/core/browser/password_store_proxy_backend.cc +++ b/components/password_manager/core/browser/password_store_proxy_backend.cc
@@ -26,6 +26,11 @@ namespace { +bool ShouldExecuteReadOperationsOnShadowBackend(bool is_syncing) { + return is_syncing && base::FeatureList::IsEnabled( + features::kUnifiedPasswordManagerShadowAndroid); +} + bool ShouldExecuteModifyOperationsOnShadowBackend(PrefService* prefs, bool is_syncing) { if (!base::FeatureList::IsEnabled( @@ -285,9 +290,8 @@ handler) .Then(std::move(callback))); - if (is_syncing_passwords_callback_.Run() && - base::FeatureList::IsEnabled( - features::kUnifiedPasswordManagerShadowAndroid)) { + if (ShouldExecuteReadOperationsOnShadowBackend( + is_syncing_passwords_callback_.Run())) { shadow_backend_->GetAllLoginsAsync( base::BindOnce(&ShadowTrafficMetricsRecorder< LoginsResultOrErrorImpl>::RecordShadowResult, @@ -297,8 +301,22 @@ void PasswordStoreProxyBackend::GetAutofillableLoginsAsync( LoginsOrErrorReply callback) { - main_backend_->GetAutofillableLoginsAsync(std::move(callback)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + auto handler = base::MakeRefCounted< + ShadowTrafficMetricsRecorder<LoginsResultOrErrorImpl>>( + MethodName("GetAutofillableLoginsAsync")); + main_backend_->GetAutofillableLoginsAsync( + base::BindOnce(&ShadowTrafficMetricsRecorder< + LoginsResultOrErrorImpl>::RecordMainResult, + handler) + .Then(std::move(callback))); + + if (ShouldExecuteReadOperationsOnShadowBackend( + is_syncing_passwords_callback_.Run())) { + shadow_backend_->GetAutofillableLoginsAsync( + base::BindOnce(&ShadowTrafficMetricsRecorder< + LoginsResultOrErrorImpl>::RecordShadowResult, + handler)); + } } void PasswordStoreProxyBackend::FillMatchingLoginsAsync( @@ -335,15 +353,45 @@ void PasswordStoreProxyBackend::UpdateLoginAsync( const PasswordForm& form, PasswordStoreChangeListReply callback) { - main_backend_->UpdateLoginAsync(form, std::move(callback)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + auto handler = base::MakeRefCounted< + ShadowTrafficMetricsRecorder<PasswordStoreChangeListImpl>>( + MethodName("UpdateLoginAsync")); + + main_backend_->UpdateLoginAsync( + form, base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordMainResult, + handler) + .Then(std::move(callback))); + if (ShouldExecuteModifyOperationsOnShadowBackend( + prefs_, is_syncing_passwords_callback_.Run())) { + shadow_backend_->UpdateLoginAsync( + form, + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordShadowResult, + handler)); + } } void PasswordStoreProxyBackend::RemoveLoginAsync( const PasswordForm& form, PasswordStoreChangeListReply callback) { - main_backend_->RemoveLoginAsync(form, std::move(callback)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + auto handler = base::MakeRefCounted< + ShadowTrafficMetricsRecorder<PasswordStoreChangeListImpl>>( + MethodName("RemoveLoginAsync")); + + main_backend_->RemoveLoginAsync( + form, base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordMainResult, + handler) + .Then(std::move(callback))); + if (ShouldExecuteModifyOperationsOnShadowBackend( + prefs_, is_syncing_passwords_callback_.Run())) { + shadow_backend_->RemoveLoginAsync( + form, + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordShadowResult, + handler)); + } } void PasswordStoreProxyBackend::RemoveLoginsByURLAndTimeAsync( @@ -352,19 +400,49 @@ base::Time delete_end, base::OnceCallback<void(bool)> sync_completion, PasswordStoreChangeListReply callback) { + auto handler = base::MakeRefCounted< + ShadowTrafficMetricsRecorder<PasswordStoreChangeListImpl>>( + MethodName("RemoveLoginsByURLAndTimeAsync")); + main_backend_->RemoveLoginsByURLAndTimeAsync( - url_filter, std::move(delete_begin), std::move(delete_end), - std::move(sync_completion), std::move(callback)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + url_filter, delete_begin, delete_end, std::move(sync_completion), + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordMainResult, + handler) + .Then(std::move(callback))); + if (ShouldExecuteModifyOperationsOnShadowBackend( + prefs_, is_syncing_passwords_callback_.Run())) { + shadow_backend_->RemoveLoginsByURLAndTimeAsync( + url_filter, std::move(delete_begin), std::move(delete_end), + base::OnceCallback<void(bool)>(), + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordShadowResult, + handler)); + } } void PasswordStoreProxyBackend::RemoveLoginsCreatedBetweenAsync( base::Time delete_begin, base::Time delete_end, PasswordStoreChangeListReply callback) { + auto handler = base::MakeRefCounted< + ShadowTrafficMetricsRecorder<PasswordStoreChangeListImpl>>( + MethodName("RemoveLoginsCreatedBetweenAsync")); + main_backend_->RemoveLoginsCreatedBetweenAsync( - std::move(delete_begin), std::move(delete_end), std::move(callback)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + delete_begin, delete_end, + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordMainResult, + handler) + .Then(std::move(callback))); + if (ShouldExecuteModifyOperationsOnShadowBackend( + prefs_, is_syncing_passwords_callback_.Run())) { + shadow_backend_->RemoveLoginsCreatedBetweenAsync( + std::move(delete_begin), std::move(delete_end), + base::BindOnce(&ShadowTrafficMetricsRecorder< + PasswordStoreChangeListImpl>::RecordShadowResult, + handler)); + } } void PasswordStoreProxyBackend::DisableAutoSignInForOriginsAsync( @@ -372,7 +450,12 @@ base::OnceClosure completion) { main_backend_->DisableAutoSignInForOriginsAsync(origin_filter, std::move(completion)); - // TODO(crbug.com/1229655): Request shadow_backend_ and compare results. + if (ShouldExecuteModifyOperationsOnShadowBackend( + prefs_, is_syncing_passwords_callback_.Run())) { + shadow_backend_->DisableAutoSignInForOriginsAsync( + origin_filter, + /*completion=*/base::DoNothing()); + } } SmartBubbleStatsStore* PasswordStoreProxyBackend::GetSmartBubbleStatsStore() {
diff --git a/components/password_manager/core/browser/password_store_proxy_backend_unittest.cc b/components/password_manager/core/browser/password_store_proxy_backend_unittest.cc index 213e3a8c..2a4b551 100644 --- a/components/password_manager/core/browser/password_store_proxy_backend_unittest.cc +++ b/components/password_manager/core/browser/password_store_proxy_backend_unittest.cc
@@ -29,6 +29,7 @@ namespace { using ::testing::_; +using ::testing::AnyNumber; using ::testing::AtMost; using ::testing::Eq; using ::testing::Invoke; @@ -199,7 +200,7 @@ change_list.push_back(PasswordStoreChange(Type::ADD, form)); EXPECT_CALL(mock_reply, Run(Eq(change_list))); // This test doesn't care about the shadow backend. - EXPECT_CALL(shadow_backend(), AddLoginAsync).Times(testing::AnyNumber()); + EXPECT_CALL(shadow_backend(), AddLoginAsync).Times(AnyNumber()); EXPECT_CALL(main_backend(), AddLoginAsync(Eq(form), _)) .WillOnce(WithArg<1>( Invoke([&change_list](PasswordStoreChangeListReply reply) -> void { @@ -214,6 +215,8 @@ PasswordStoreChangeList change_list; change_list.push_back(PasswordStoreChange(Type::UPDATE, form)); EXPECT_CALL(mock_reply, Run(Eq(change_list))); + // This test doesn't care about the shadow backend. + EXPECT_CALL(shadow_backend(), UpdateLoginAsync).Times(AnyNumber()); EXPECT_CALL(main_backend(), UpdateLoginAsync(Eq(form), _)) .WillOnce(WithArg<1>( Invoke([&change_list](PasswordStoreChangeListReply reply) -> void { @@ -228,6 +231,8 @@ PasswordStoreChangeList change_list; change_list.push_back(PasswordStoreChange(Type::REMOVE, form)); EXPECT_CALL(mock_reply, Run(Eq(change_list))); + // This test doesn't care about the shadow backend. + EXPECT_CALL(shadow_backend(), RemoveLoginAsync).Times(AnyNumber()); EXPECT_CALL(main_backend(), RemoveLoginAsync(Eq(form), _)) .WillOnce(WithArg<1>( Invoke([&change_list](PasswordStoreChangeListReply reply) -> void { @@ -244,6 +249,9 @@ PasswordStoreChangeList change_list; change_list.push_back(PasswordStoreChange(Type::REMOVE, CreateTestForm())); EXPECT_CALL(mock_reply, Run(Eq(change_list))); + // This test doesn't care about the shadow backend. + EXPECT_CALL(shadow_backend(), RemoveLoginsByURLAndTimeAsync) + .Times(AnyNumber()); EXPECT_CALL(main_backend(), RemoveLoginsByURLAndTimeAsync(_, Eq(kStart), Eq(kEnd), _, _)) .WillOnce(WithArg<4>( @@ -263,6 +271,9 @@ PasswordStoreChangeList change_list; change_list.push_back(PasswordStoreChange(Type::REMOVE, CreateTestForm())); EXPECT_CALL(mock_reply, Run(Eq(change_list))); + // This test doesn't care about the shadow backend. + EXPECT_CALL(shadow_backend(), RemoveLoginsCreatedBetweenAsync) + .Times(AnyNumber()); EXPECT_CALL(main_backend(), RemoveLoginsCreatedBetweenAsync(Eq(kStart), Eq(kEnd), _)) .WillOnce(WithArg<2>( @@ -277,6 +288,9 @@ UseMainBackendToDisableAutoSignInForOriginsAsync) { base::MockCallback<base::OnceClosure> mock_reply; EXPECT_CALL(mock_reply, Run); + // This test doesn't care about the shadow backend. + EXPECT_CALL(shadow_backend(), DisableAutoSignInForOriginsAsync) + .Times(AnyNumber()); EXPECT_CALL(main_backend(), DisableAutoSignInForOriginsAsync) .WillOnce(WithArg<1>( Invoke([](base::OnceClosure reply) { std::move(reply).Run(); }))); @@ -301,7 +315,8 @@ proxy_backend().CreateSyncControllerDelegate(); } -TEST_F(PasswordStoreProxyBackendTest, NoShadowGetAllLoginsWhenSyncDisabled) { +TEST_F(PasswordStoreProxyBackendTest, + NoShadowGetAllLoginsAsyncWhenSyncDisabled) { base::HistogramTester histogram_tester; base::MockCallback<LoginsOrErrorReply> mock_reply; std::vector<std::unique_ptr<PasswordForm>> expected_logins = @@ -329,7 +344,17 @@ histogram_tester.ExpectTotalCount(prefix + "InconsistentPasswords.Rel", 0); } -TEST_F(PasswordStoreProxyBackendTest, NoShadowAddLoginsAsyncWhenSyncEnabled) { +TEST_F(PasswordStoreProxyBackendTest, + NoShadowGetAutofillableLoginsAsyncWhenSyncDisabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), GetAutofillableLoginsAsync); + EXPECT_CALL(shadow_backend(), GetAutofillableLoginsAsync).Times(0); + proxy_backend().GetAutofillableLoginsAsync(/*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, NoShadowAddLoginAsyncWhenSyncEnabled) { EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); EXPECT_CALL(main_backend(), AddLoginAsync); @@ -339,7 +364,7 @@ } TEST_F(PasswordStoreProxyBackendTest, - NoShadowAddLoginsAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + NoShadowAddLoginAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeaturesAndParameters( /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, @@ -357,7 +382,7 @@ } TEST_F(PasswordStoreProxyBackendTest, - ShadowAddLoginsAsyncWhenSyncDisabledAndInitialMigrationComplete) { + ShadowAddLoginAsyncWhenSyncDisabledAndInitialMigrationComplete) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeaturesAndParameters( /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, @@ -374,7 +399,7 @@ /*callback=*/base::DoNothing()); } -TEST_F(PasswordStoreProxyBackendTest, ShadowAddLoginsAsyncBasicMetricsTesting) { +TEST_F(PasswordStoreProxyBackendTest, ShadowAddLoginAsyncBasicMetricsTesting) { base::HistogramTester histogram_tester; // Set the prefs such that no initial migration is required to allow shadow // write operations. @@ -420,6 +445,258 @@ 1); } +TEST_F(PasswordStoreProxyBackendTest, NoShadowUpdateLoginAsyncWhenSyncEnabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); + + EXPECT_CALL(main_backend(), UpdateLoginAsync); + EXPECT_CALL(shadow_backend(), UpdateLoginAsync).Times(0); + proxy_backend().UpdateLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + NoShadowUpdateLoginAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 1); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), UpdateLoginAsync); + EXPECT_CALL(shadow_backend(), UpdateLoginAsync).Times(0); + proxy_backend().UpdateLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + ShadowUpdateLoginAsyncWhenSyncDisabledAndInitialMigrationComplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 2); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), UpdateLoginAsync); + EXPECT_CALL(shadow_backend(), UpdateLoginAsync); + proxy_backend().UpdateLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, NoShadowRemoveLoginAsyncWhenSyncEnabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); + + EXPECT_CALL(main_backend(), RemoveLoginAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginAsync).Times(0); + proxy_backend().RemoveLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + NoShadowRemoveLoginAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 1); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginAsync).Times(0); + proxy_backend().RemoveLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + ShadowRemoveLoginAsyncWhenSyncDisabledAndInitialMigrationComplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 2); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginAsync); + proxy_backend().RemoveLoginAsync(CreateTestForm(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + NoShadowRemoveLoginsByURLAndTimeAsyncWhenSyncEnabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); + + EXPECT_CALL(main_backend(), RemoveLoginsByURLAndTimeAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsByURLAndTimeAsync).Times(0); + proxy_backend().RemoveLoginsByURLAndTimeAsync( + base::BindRepeating(&FilterNoUrl), + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*sync_completion=*/base::OnceCallback<void(bool)>(), + /*callback=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + NoShadowRemoveLoginsByURLAndTimeAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 1); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginsByURLAndTimeAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsByURLAndTimeAsync).Times(0); + proxy_backend().RemoveLoginsByURLAndTimeAsync( + base::BindRepeating(&FilterNoUrl), + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*sync_completion=*/base::OnceCallback<void(bool)>(), + /*callback=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + ShadowRemoveLoginsByURLAndTimeAsyncWhenSyncDisabledAndInitialMigrationComplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 2); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginsByURLAndTimeAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsByURLAndTimeAsync); + proxy_backend().RemoveLoginsByURLAndTimeAsync( + base::BindRepeating(&FilterNoUrl), + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*sync_completion=*/base::OnceCallback<void(bool)>(), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + NoShadowRemoveLoginsCreatedBetweenAsyncWhenSyncEnabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); + + EXPECT_CALL(main_backend(), RemoveLoginsCreatedBetweenAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsCreatedBetweenAsync).Times(0); + proxy_backend().RemoveLoginsCreatedBetweenAsync( + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*callback=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + NoShadowRemoveLoginsCreatedBetweenAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 1); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginsCreatedBetweenAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsCreatedBetweenAsync).Times(0); + proxy_backend().RemoveLoginsCreatedBetweenAsync( + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*callback=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + ShadowRemoveLoginsCreatedBetweenAsyncWhenSyncDisabledAndInitialMigrationComplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 2); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), RemoveLoginsCreatedBetweenAsync); + EXPECT_CALL(shadow_backend(), RemoveLoginsCreatedBetweenAsync); + proxy_backend().RemoveLoginsCreatedBetweenAsync( + /*delete_begin=*/base::Time::FromTimeT(111111), + /*delete_end=*/base::Time::FromTimeT(22222222), + /*callback=*/base::DoNothing()); +} + +TEST_F(PasswordStoreProxyBackendTest, + NoShadowDisableAutoSignInForOriginsAsyncWhenSyncEnabled) { + EXPECT_CALL(is_syncing_passwords_callback_, Run).WillRepeatedly(Return(true)); + + EXPECT_CALL(main_backend(), DisableAutoSignInForOriginsAsync); + EXPECT_CALL(shadow_backend(), DisableAutoSignInForOriginsAsync).Times(0); + proxy_backend().DisableAutoSignInForOriginsAsync( + base::BindRepeating(&FilterNoUrl), /*completion=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + NoShadowDisableAutoSignInForOriginsAsyncWhenSyncDisabledAndInitialMigrationIncomplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 1); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), DisableAutoSignInForOriginsAsync); + EXPECT_CALL(shadow_backend(), DisableAutoSignInForOriginsAsync).Times(0); + proxy_backend().DisableAutoSignInForOriginsAsync( + base::BindRepeating(&FilterNoUrl), /*completion=*/base::DoNothing()); +} + +TEST_F( + PasswordStoreProxyBackendTest, + ShadowDisableAutoSignInForOriginsAsyncWhenSyncDisabledAndInitialMigrationComplete) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeaturesAndParameters( + /*enabled_features=*/{{features::kUnifiedPasswordManagerMigration, + {{"migration_version", "2"}}}}, + /*disabled_features=*/{}); + prefs()->SetInteger(prefs::kCurrentMigrationVersionToGoogleMobileServices, 2); + + EXPECT_CALL(is_syncing_passwords_callback_, Run) + .WillRepeatedly(Return(false)); + + EXPECT_CALL(main_backend(), DisableAutoSignInForOriginsAsync); + EXPECT_CALL(shadow_backend(), DisableAutoSignInForOriginsAsync); + proxy_backend().DisableAutoSignInForOriginsAsync( + base::BindRepeating(&FilterNoUrl), /*completion=*/base::DoNothing()); +} + // Holds the main and shadow backend's logins and the expected number of common // and different logins. struct LoginsMetricsParam {
diff --git a/components/password_manager/core/browser/password_store_sync.h b/components/password_manager/core/browser/password_store_sync.h index 6779498..3a109ea 100644 --- a/components/password_manager/core/browser/password_store_sync.h +++ b/components/password_manager/core/browser/password_store_sync.h
@@ -42,6 +42,8 @@ // A service-level failure (e.g., on a platform using a keyring, the keyring // is temporarily unavailable). kEncrytionServiceFailure, + // A service-level failure, but some forms can be retrieved successfully. + kEncryptionServiceFailureWithPartialData, }; // Error values for adding a login to the store.
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge.cc b/components/password_manager/core/browser/sync/password_sync_bridge.cc index 3a3b928..bfb797c5 100644 --- a/components/password_manager/core/browser/sync/password_sync_bridge.cc +++ b/components/password_manager/core/browser/sync/password_sync_bridge.cc
@@ -331,7 +331,9 @@ return syncer::ModelError(FROM_HERE, "Failed to load entries from password store."); } - if (read_result == FormRetrievalResult::kEncrytionServiceFailure) { + if (read_result == FormRetrievalResult::kEncrytionServiceFailure || + read_result == + FormRetrievalResult::kEncryptionServiceFailureWithPartialData) { if (!ShouldRecoverPasswordsDuringMerge()) { metrics_util::LogPasswordSyncState( metrics_util::NOT_SYNCING_FAILED_DECRYPTION);
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc index 4d00f22..f20a61f 100644 --- a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc +++ b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
@@ -966,26 +966,45 @@ #if defined(OS_MAC) || defined(OS_LINUX) // Tests that in case ReadAllLogins() during initial merge returns encryption // service failure, the bridge would try to do a DB clean up. -TEST_F(PasswordSyncBridgeTest, ShouldDeleteUndecryptableLoginsDuringMerge) { +class PasswordSyncBridgeMergeTest + : public PasswordSyncBridgeTest, + public testing::WithParamInterface<FormRetrievalResult> { + protected: + void ShouldDeleteUndecryptableLoginsDuringMerge() { #if defined(OS_LINUX) - base::test::ScopedFeatureList feature_list; - feature_list.InitAndEnableFeature(features::kSyncUndecryptablePasswordsLinux); + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature( + features::kSyncUndecryptablePasswordsLinux); #endif + ON_CALL(*mock_password_store_sync(), DeleteUndecryptableLogins()) + .WillByDefault(Return(DatabaseCleanupResult::kSuccess)); - ON_CALL(*mock_password_store_sync(), DeleteUndecryptableLogins()) - .WillByDefault(Return(DatabaseCleanupResult::kSuccess)); + // We should try to read first, and simulate an encryption failure. Then, + // cleanup the database and try to read again which should be successful + // now. + testing::InSequence in_sequence; + EXPECT_CALL(*mock_password_store_sync(), ReadAllLogins) + .WillOnce(Return(GetParam())); + EXPECT_CALL(*mock_password_store_sync(), DeleteUndecryptableLogins()); + EXPECT_CALL(*mock_password_store_sync(), ReadAllLogins) + .WillOnce(Return(FormRetrievalResult::kSuccess)); - // We should try to read first, and simulate an encryption failure. Then, - // cleanup the database and try to read again which should be successful now. - EXPECT_CALL(*mock_password_store_sync(), ReadAllLogins) - .WillOnce(Return(FormRetrievalResult::kEncrytionServiceFailure)) - .WillOnce(Return(FormRetrievalResult::kSuccess)); - EXPECT_CALL(*mock_password_store_sync(), DeleteUndecryptableLogins()); + absl::optional<syncer::ModelError> error = + bridge()->MergeSyncData(bridge()->CreateMetadataChangeList(), {}); + EXPECT_FALSE(error); + } +}; - absl::optional<syncer::ModelError> error = - bridge()->MergeSyncData(bridge()->CreateMetadataChangeList(), {}); - EXPECT_FALSE(error); +TEST_P(PasswordSyncBridgeMergeTest, ShouldFixWhenDatabaseEncryptionFails) { + ShouldDeleteUndecryptableLoginsDuringMerge(); } + +INSTANTIATE_TEST_SUITE_P( + PasswordSyncBridgeTest, + PasswordSyncBridgeMergeTest, + testing::Values( + FormRetrievalResult::kEncrytionServiceFailure, + FormRetrievalResult::kEncryptionServiceFailureWithPartialData)); #endif TEST_F(PasswordSyncBridgeTest,
diff --git a/components/password_manager/core/common/password_manager_features.cc b/components/password_manager/core/common/password_manager_features.cc index 62dc10e7..8551cdb 100644 --- a/components/password_manager/core/common/password_manager_features.cc +++ b/components/password_manager/core/common/password_manager_features.cc
@@ -129,6 +129,13 @@ const base::Feature kSecondaryServerFieldPredictions = { "SecondaryServerFieldPredictions", base::FEATURE_ENABLED_BY_DEFAULT}; +#if defined(OS_MAC) || defined(OS_LINUX) +// Displays at least the decryptable and never saved logins in the password +// manager +const base::Feature kSkipUndecryptablePasswords = { + "SkipUndecryptablePasswords", base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + // Enables the addition of passwords in Chrome Settings. // TODO(crbug/1226008): Remove once it's launched. const base::Feature kSupportForAddPasswordsInSettings = {
diff --git a/components/password_manager/core/common/password_manager_features.h b/components/password_manager/core/common/password_manager_features.h index d80920e..a0a57b8b 100644 --- a/components/password_manager/core/common/password_manager_features.h +++ b/components/password_manager/core/common/password_manager_features.h
@@ -40,6 +40,9 @@ extern const base::Feature kRecoverFromNeverSaveAndroid; extern const base::Feature kReparseServerPredictionsFollowingFormChange; extern const base::Feature kSecondaryServerFieldPredictions; +#if defined(OS_MAC) || defined(OS_LINUX) +extern const base::Feature kSkipUndecryptablePasswords; +#endif extern const base::Feature kSupportForAddPasswordsInSettings; #if defined(OS_LINUX) extern const base::Feature kSyncUndecryptablePasswordsLinux;
diff --git a/components/permissions/permission_actions_history.cc b/components/permissions/permission_actions_history.cc index 660eddb..bcb2cac 100644 --- a/components/permissions/permission_actions_history.cc +++ b/components/permissions/permission_actions_history.cc
@@ -83,13 +83,12 @@ PermissionAction action, RequestType type, PermissionPromptDisposition prompt_disposition) { - DictionaryPrefUpdateDeprecated update(pref_service_, - prefs::kPermissionActions); + DictionaryPrefUpdate update(pref_service_, prefs::kPermissionActions); const base::StringPiece permission_path(PermissionKeyForRequestType(type)); if (!update->FindPathOfType(permission_path, base::Value::Type::LIST)) { - update->SetPath(permission_path, base::ListValue()); + update->SetPath(permission_path, base::Value(base::Value::Type::LIST)); } base::Value* permission_actions = @@ -123,8 +122,7 @@ return; } - DictionaryPrefUpdateDeprecated update(pref_service_, - prefs::kPermissionActions); + DictionaryPrefUpdate update(pref_service_, prefs::kPermissionActions); for (auto permission_entry : update->DictItems()) { permission_entry.second.EraseListValueIf([delete_begin,
diff --git a/components/policy/proto/chrome_device_policy.proto b/components/policy/proto/chrome_device_policy.proto index 5c64110f..2339168 100644 --- a/components/policy/proto/chrome_device_policy.proto +++ b/components/policy/proto/chrome_device_policy.proto
@@ -2036,4 +2036,5 @@ 131; optional DeviceKeylockerForStorageEncryptionEnabledProto keylocker_for_storage_encryption_enabled = 132; + optional BooleanPolicyProto device_run_automatic_cleanup_on_login = 133; }
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json index 02457f67..f49eec94 100644 --- a/components/policy/resources/policy_templates.json +++ b/components/policy/resources/policy_templates.json
@@ -934,6 +934,7 @@ 'DeviceShowNumericKeyboardForPassword', 'DeviceFamilyLinkAccountsAllowed', 'DeviceLoginScreenPromptOnMultipleMatchingCertificates', + 'DeviceRunAutomaticCleanupOnLogin', ], }, { @@ -1232,7 +1233,7 @@ 'QuickAnswersEnabled', 'QuickAnswersDefinitionEnabled', 'QuickAnswersTranslationEnabled', - 'QuickAnswersUnitConverstionEnabled', + 'QuickAnswersUnitConversionEnabled', ] }, { @@ -22954,7 +22955,7 @@ If the policy is disabled, Quick Answers translation will be disabled.''', }, { - 'name': 'QuickAnswersUnitConverstionEnabled', + 'name': 'QuickAnswersUnitConversionEnabled', 'owners': ['updowndota@google.com'], 'type': 'main', 'schema': { 'type': 'boolean' }, @@ -29286,7 +29287,37 @@ If the policy value changes, existing <ph name="DM_CRYPT">dm-crypt</ph> user homes will be accessed using the encryption implementation configured by the policy because the <ph name="AES_ALGORITHM_NAME">AES</ph> implementations are compatible. If the policy is disabled or not set, user storage encryption for <ph name="DM_CRYPT">dm-crypt</ph> user homes will default to using <ph name="AES_NI_NAME">AESNI</ph>.''', - } + }, + { + 'name': 'DeviceRunAutomaticCleanupOnLogin', + 'owners': ['vsavu@google.com'], + 'type': 'main', + 'schema': {'type': 'boolean', }, + 'tags': [], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, + }, + 'items': [ + { + 'value': True, + 'caption': 'Run automatic disk cleanup during login', + }, + { + 'value': False, + 'caption': 'Do not run automatic disk cleanup during login', + }, + ], + 'device_only': True, + 'default': False, + 'supported_on': ['chrome_os:99-'], + 'id': 940, + 'caption': '''Control automatic cleanup during login''', + 'example_value': True, + 'desc': '''When this policy is set to true, automatic cleanup is executed during login to ensure enough free disk space is available. + Cleanup will only run when strictly necessary, but will still impact the login time. + Setting the policy to false (the default) ensures the login time is not affected.''', + }, ], 'messages': { # Messages that are not associated to any policies. @@ -29754,6 +29785,7 @@ 'ChromadToCloudMigrationEnabled': 'chromad_to_cloud_migration_enabled.value', 'DeviceLoginScreenWebUILazyLoading': 'login_web_ui_lazy_loading.enabled', 'DeviceKeylockerForStorageEncryptionEnabled': 'keylocker_for_storage_encryption_enabled.enabled', + 'DeviceRunAutomaticCleanupOnLogin': 'device_run_automatic_cleanup_on_login.value', }, 'policy_atomic_group_definitions': [ { @@ -30263,6 +30295,6 @@ 'placeholders': [], 'deleted_policy_ids': [114, 115, 204, 205, 206, 341, 412, 476, 544, 546, 562, 569, 578, 583, 585, 586, 587, 588, 589, 590, 591, 600, 668, 669, 872], 'deleted_atomic_policy_group_ids': [19], - 'highest_id_currently_used': 939, + 'highest_id_currently_used': 940, 'highest_atomic_group_id_currently_used': 41 }
diff --git a/components/prefs/pref_service_unittest.cc b/components/prefs/pref_service_unittest.cc index 3abd928..82ff889 100644 --- a/components/prefs/pref_service_unittest.cc +++ b/components/prefs/pref_service_unittest.cc
@@ -130,8 +130,7 @@ obs2.Expect(pref_name, &expected_new_pref_value2); // This should fire the checks in obs and obs2 but with an unchanged value // as the recommended value is being overridden by the user-set value. - prefs.SetRecommendedPref( - pref_name, base::Value::ToUniquePtrValue(recommended_pref_value.Clone())); + prefs.SetRecommendedPref(pref_name, recommended_pref_value.Clone()); Mock::VerifyAndClearExpectations(&obs); Mock::VerifyAndClearExpectations(&obs2);
diff --git a/components/prefs/testing_pref_service.h b/components/prefs/testing_pref_service.h index cd05b48..a068c632 100644 --- a/components/prefs/testing_pref_service.h +++ b/components/prefs/testing_pref_service.h
@@ -38,6 +38,7 @@ // preference changed. void SetManagedPref(const std::string& path, std::unique_ptr<base::Value> value); + void SetManagedPref(const std::string& path, base::Value value); // Clears the preference on the managed layer and fire observers if the // preference has been defined previously. @@ -61,12 +62,14 @@ // Similar to the above, but for user preferences. const base::Value* GetUserPref(const std::string& path) const; void SetUserPref(const std::string& path, std::unique_ptr<base::Value> value); + void SetUserPref(const std::string& path, base::Value value); void RemoveUserPref(const std::string& path); // Similar to the above, but for recommended policy preferences. const base::Value* GetRecommendedPref(const std::string& path) const; void SetRecommendedPref(const std::string& path, std::unique_ptr<base::Value> value); + void SetRecommendedPref(const std::string& path, base::Value value); void RemoveRecommendedPref(const std::string& path); // Do-nothing implementation for TestingPrefService. @@ -159,6 +162,12 @@ template <class SuperPrefService, class ConstructionPrefRegistry> void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: + SetManagedPref(const std::string& path, base::Value value) { + SetManagedPref(path, base::Value::ToUniquePtrValue(std::move(value))); +} + +template <class SuperPrefService, class ConstructionPrefRegistry> +void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: RemoveManagedPref(const std::string& path) { RemovePref(managed_prefs_.get(), path); } @@ -218,6 +227,12 @@ template <class SuperPrefService, class ConstructionPrefRegistry> void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: + SetUserPref(const std::string& path, base::Value value) { + SetUserPref(path, base::Value::ToUniquePtrValue(std::move(value))); +} + +template <class SuperPrefService, class ConstructionPrefRegistry> +void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: RemoveUserPref(const std::string& path) { RemovePref(user_prefs_.get(), path); } @@ -238,6 +253,13 @@ template <class SuperPrefService, class ConstructionPrefRegistry> void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: + SetRecommendedPref(const std::string& path, base::Value value) { + SetPref(recommended_prefs_.get(), path, + base::Value::ToUniquePtrValue(std::move(value))); +} + +template <class SuperPrefService, class ConstructionPrefRegistry> +void TestingPrefServiceBase<SuperPrefService, ConstructionPrefRegistry>:: RemoveRecommendedPref(const std::string& path) { RemovePref(recommended_prefs_.get(), path); }
diff --git a/components/sync_preferences/pref_model_associator_unittest.cc b/components/sync_preferences/pref_model_associator_unittest.cc index dd79788..f66146d 100644 --- a/components/sync_preferences/pref_model_associator_unittest.cc +++ b/components/sync_preferences/pref_model_associator_unittest.cc
@@ -168,8 +168,8 @@ TEST_F(ListPreferenceMergeTest, ServerNull) { auto null_value = std::make_unique<base::Value>(); { - ListPrefUpdateDeprecated update(pref_service_.get(), kListPrefName); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), kListPrefName); + base::Value* local_list_value = update.Get(); local_list_value->Append(local_url0_); } @@ -184,8 +184,8 @@ TEST_F(ListPreferenceMergeTest, ServerEmpty) { std::unique_ptr<base::Value> empty_value(new base::ListValue); { - ListPrefUpdateDeprecated update(pref_service_.get(), kListPrefName); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), kListPrefName); + base::Value* local_list_value = update.Get(); local_list_value->Append(local_url0_); } @@ -199,8 +199,8 @@ TEST_F(ListPreferenceMergeTest, Merge) { { - ListPrefUpdateDeprecated update(pref_service_.get(), kListPrefName); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), kListPrefName); + base::Value* local_list_value = update.Get(); local_list_value->Append(local_url0_); local_list_value->Append(local_url1_); } @@ -220,8 +220,8 @@ TEST_F(ListPreferenceMergeTest, Duplicates) { { - ListPrefUpdateDeprecated update(pref_service_.get(), kListPrefName); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), kListPrefName); + base::Value* local_list_value = update.Get(); local_list_value->Append(local_url0_); local_list_value->Append(server_url0_); local_list_value->Append(server_url1_); @@ -241,8 +241,8 @@ TEST_F(ListPreferenceMergeTest, Equals) { { - ListPrefUpdateDeprecated update(pref_service_.get(), kListPrefName); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), kListPrefName); + base::Value* local_list_value = update.Get(); local_list_value->Append(server_url0_); local_list_value->Append(server_url1_); } @@ -288,9 +288,8 @@ TEST_F(DictionaryPreferenceMergeTest, ServerNull) { auto null_value = std::make_unique<base::Value>(); { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression3_, 1); } @@ -306,9 +305,8 @@ TEST_F(DictionaryPreferenceMergeTest, ServerEmpty) { std::unique_ptr<base::Value> empty_value(new base::DictionaryValue); { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression3_, 1); } @@ -323,9 +321,8 @@ TEST_F(DictionaryPreferenceMergeTest, MergeNoConflicts) { { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression3_, 1); } @@ -344,9 +341,8 @@ TEST_F(DictionaryPreferenceMergeTest, MergeConflicts) { { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression0_, 2); SetContentPattern(local_dict_value, expression2_, 1); SetContentPattern(local_dict_value, expression3_, 1); @@ -382,9 +378,8 @@ TEST_F(DictionaryPreferenceMergeTest, Equal) { { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression0_, 1); SetContentPattern(local_dict_value, expression1_, 2); SetContentPattern(local_dict_value, expression2_, 1); @@ -399,9 +394,8 @@ TEST_F(DictionaryPreferenceMergeTest, ConflictButServerWins) { { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), - kDictionaryPrefName); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), kDictionaryPrefName); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression0_, 2); SetContentPattern(local_dict_value, expression1_, 2); SetContentPattern(local_dict_value, expression2_, 1); @@ -427,8 +421,8 @@ bool MergeListPreference(const char* pref) { { - ListPrefUpdateDeprecated update(pref_service_.get(), pref); - base::ListValue* local_list_value = update.Get(); + ListPrefUpdate update(pref_service_.get(), pref); + base::Value* local_list_value = update.Get(); local_list_value->Append(url1_); } @@ -443,8 +437,8 @@ bool MergeDictionaryPreference(const char* pref) { { - DictionaryPrefUpdateDeprecated update(pref_service_.get(), pref); - base::DictionaryValue* local_dict_value = update.Get(); + DictionaryPrefUpdate update(pref_service_.get(), pref); + base::Value* local_dict_value = update.Get(); SetContentPattern(local_dict_value, expression1_, 1); }
diff --git a/components/sync_preferences/pref_service_syncable_unittest.cc b/components/sync_preferences/pref_service_syncable_unittest.cc index 41f63bb..3ec2ff2 100644 --- a/components/sync_preferences/pref_service_syncable_unittest.cc +++ b/components/sync_preferences/pref_service_syncable_unittest.cc
@@ -299,8 +299,8 @@ TEST_F(PrefServiceSyncableTest, ModelAssociationEmptyCloud) { prefs_.SetString(kStringPrefName, kExampleUrl0); { - ListPrefUpdateDeprecated update(GetPrefs(), kListPrefName); - base::ListValue* url_list = update.Get(); + ListPrefUpdate update(GetPrefs(), kListPrefName); + base::Value* url_list = update.Get(); url_list->Append(kExampleUrl0); url_list->Append(kExampleUrl1); } @@ -318,8 +318,8 @@ TEST_F(PrefServiceSyncableTest, ModelAssociationCloudHasData) { prefs_.SetString(kStringPrefName, kExampleUrl0); { - ListPrefUpdateDeprecated update(GetPrefs(), kListPrefName); - base::ListValue* url_list = update.Get(); + ListPrefUpdate update(GetPrefs(), kListPrefName); + base::Value* url_list = update.Get(); url_list->Append(kExampleUrl0); } @@ -508,8 +508,8 @@ TEST_F(PrefServiceSyncableMergeTest, ShouldMergeSelectedListValues) { { - ListPrefUpdateDeprecated update(&prefs_, kListPrefName); - base::ListValue* url_list = update.Get(); + ListPrefUpdate update(&prefs_, kListPrefName); + base::Value* url_list = update.Get(); url_list->Append(kExampleUrl0); url_list->Append(kExampleUrl1); } @@ -589,10 +589,10 @@ TEST_F(PrefServiceSyncableMergeTest, ShouldMergeSelectedDictionaryValues) { { - DictionaryPrefUpdateDeprecated update(&prefs_, kDictPrefName); - base::DictionaryValue* dict_value = update.Get(); - dict_value->Set("my_key1", std::make_unique<base::Value>("my_value1")); - dict_value->Set("my_key3", std::make_unique<base::Value>("my_value3")); + DictionaryPrefUpdate update(&prefs_, kDictPrefName); + base::Value* dict_value = update.Get(); + dict_value->SetStringKey("my_key1", "my_value1"); + dict_value->SetStringKey("my_key3", "my_value3"); } base::DictionaryValue remote_update; @@ -778,7 +778,7 @@ TEST_F(PrefServiceSyncableTest, ManagedPreferences) { // Make the homepage preference managed. base::Value managed_value("http://example.com"); - prefs_.SetManagedPref(kStringPrefName, managed_value.CreateDeepCopy()); + prefs_.SetManagedPref(kStringPrefName, managed_value.Clone()); syncer::SyncChangeList out; InitWithSyncDataTakeOutput(syncer::SyncDataList(), &out); @@ -786,7 +786,7 @@ // Changing the homepage preference should not sync anything. base::Value user_value("http://chromium..com"); - prefs_.SetUserPref(kStringPrefName, user_value.CreateDeepCopy()); + prefs_.SetUserPref(kStringPrefName, user_value.Clone()); EXPECT_TRUE(out.empty()); // An incoming sync transaction should change the user value, not the managed @@ -814,7 +814,7 @@ // Switch kHomePage to managed and set a different value. base::Value managed_value("http://example.com/managed"); GetTestingPrefService()->SetManagedPref(kStringPrefName, - managed_value.CreateDeepCopy()); + managed_value.Clone()); // The pref value should be the one dictated by policy. EXPECT_TRUE(managed_value.Equals(&GetPreferenceValue(kStringPrefName))); @@ -839,7 +839,7 @@ // Switch kHomePage to managed and set a different value. base::Value managed_value("http://example.com/managed"); GetTestingPrefService()->SetManagedPref(kStringPrefName, - managed_value.CreateDeepCopy()); + managed_value.Clone()); // Change the sync value. base::Value sync_value("http://example.com/sync"); @@ -872,7 +872,7 @@ // Switch kHomePage to managed and set a different value. base::Value managed_value("http://example.com/managed"); GetTestingPrefService()->SetManagedPref(kStringPrefName, - managed_value.CreateDeepCopy()); + managed_value.Clone()); // The pref value should be the one dictated by policy. EXPECT_TRUE(managed_value.Equals(&GetPreferenceValue(kStringPrefName))); EXPECT_FALSE(pref->IsDefaultValue());
diff --git a/components/test/data/payments/blob_url.js b/components/test/data/payments/blob_url.js index 026ee80..23584f2c 100644 --- a/components/test/data/payments/blob_url.js +++ b/components/test/data/payments/blob_url.js
@@ -7,8 +7,10 @@ /** Requests payment via a blob URL. */ function buy() { // eslint-disable-line no-unused-vars var spoof = function() { + // base64-encoded HTML page that defines a function, triggerPaymentRequest, + // which creates a basic-card PaymentRequest and calls show() on it. var payload = - 'PGh0bWw+PGhlYWQ+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0yLCBtYXhpbXVtLXNjYWxlPTIiPjwvaGVhZD48Ym9keT48ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PjxzY3JpcHQ+dHJ5IHsgIG5ldyBQYXltZW50UmVxdWVzdChbe3N1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIn1dLCAgICB7dG90YWw6IHtsYWJlbDogIlQiLCBhbW91bnQ6IHtjdXJyZW5jeTogIlVTRCIsIHZhbHVlOiAiMS4wMCJ9fX0pICAuc2hvdygpICAudGhlbihmdW5jdGlvbihpbnN0cnVtZW50UmVzcG9uc2UpIHsgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJSZXNvbHZlZCI7ICB9KS5jYXRjaChmdW5jdGlvbihlKSB7ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiUmVqZWN0ZWQ6ICIgKyBlOyAgfSk7fSBjYXRjaChlKSB7ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkV4Y2VwdGlvbjogIiArIGU7fTwvc2NyaXB0PjwvYm9keT48L2h0bWw+'; // eslint-disable-line max-len + 'PGh0bWw+PGhlYWQ+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0yLCBtYXhpbXVtLXNjYWxlPTIiPjwvaGVhZD48Ym9keT48ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PjxzY3JpcHQ+ZnVuY3Rpb24gdHJpZ2dlclBheW1lbnRSZXF1ZXN0KCkgeyB0cnkgeyAgbmV3IFBheW1lbnRSZXF1ZXN0KFt7c3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQifV0sICAgIHt0b3RhbDoge2xhYmVsOiAiVCIsIGFtb3VudDoge2N1cnJlbmN5OiAiVVNEIiwgdmFsdWU6ICIxLjAwIn19fSkgIC5zaG93KCkgIC50aGVuKGZ1bmN0aW9uKGluc3RydW1lbnRSZXNwb25zZSkgeyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlJlc29sdmVkIjsgIH0pLmNhdGNoKGZ1bmN0aW9uKGUpIHsgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJSZWplY3RlZDogIiArIGU7ICB9KTt9IGNhdGNoKGUpIHsgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiRXhjZXB0aW9uOiAiICsgZTt9fTwvc2NyaXB0PjwvYm9keT48L2h0bWw+'; // eslint-disable-line max-len document.write(atob(payload)); }; window.location.href =
diff --git a/content/browser/browsing_instance.cc b/content/browser/browsing_instance.cc index a7347dfa..d7040d80 100644 --- a/content/browser/browsing_instance.cc +++ b/content/browser/browsing_instance.cc
@@ -200,8 +200,16 @@ : UrlInfo(UrlInfoInit(url_info).WithStoragePartitionConfig( storage_partition_config_)); + // The WebExposedIsolationInfos must be compatible for this function to make + // sense. + DCHECK(WebExposedIsolationInfo::AreCompatible( + url_info.web_exposed_isolation_info, web_exposed_isolation_info_)); + + // If the passed in UrlInfo has a null WebExposedIsolationInfo, meaning that + // it is compatible with any isolation state, we reuse the isolation state of + // the BrowsingInstance. url_info_with_partition.web_exposed_isolation_info = - web_exposed_isolation_info_; + url_info.web_exposed_isolation_info.value_or(web_exposed_isolation_info_); return SiteInfo::Create(isolation_context_, url_info_with_partition); }
diff --git a/content/browser/browsing_instance.h b/content/browser/browsing_instance.h index 6f2b9537..51038066 100644 --- a/content/browser/browsing_instance.h +++ b/content/browser/browsing_instance.h
@@ -140,9 +140,11 @@ // Note: Unlike ComputeSiteInfoForURL() this method can return a SiteInfo for // a default SiteInstance, if `url_info` can be placed in the default // SiteInstance and `allow_default_instance` is true. - // TODO(http://crbug.com/1243449): This function has become ambiguous - // regarding the web_exposed_isolation_info of `url_info`. It is currently - // disregarded but we should probably check that the values are equal. + // + // Note: Since we're asking to get a SiteInfo that would belong in this + // BrowsingInstance, it is mandatory that |url_info|'s + // web_exposed_isolation_info is compatible with the BrowsingInstance's + // internal WebExposedIsolationInfo value. SiteInfo GetSiteInfoForURL(const UrlInfo& url_info, bool allow_default_instance);
diff --git a/content/browser/direct_sockets/direct_sockets_open_browsertest.cc b/content/browser/direct_sockets/direct_sockets_open_browsertest.cc index c3724aa..002a208 100644 --- a/content/browser/direct_sockets/direct_sockets_open_browsertest.cc +++ b/content/browser/direct_sockets/direct_sockets_open_browsertest.cc
@@ -429,7 +429,7 @@ protocol == DirectSocketsServiceImpl::ProtocolType::kTcp ? "Tcp" : "Udp"; const std::string expected_result = base::StringPrintf( - "open%s failed: NotAllowedError: Permission denied", type.c_str()); + "open%s failed: NetworkError: Network error.", type.c_str()); base::HistogramTester histogram_tester; histogram_tester.ExpectBucketCount( @@ -520,7 +520,7 @@ const std::string script = "openTcp({remoteAddress: '127.0.0.1', remotePort: 443})"; - EXPECT_EQ("openTcp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openTcp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -543,7 +543,7 @@ const std::string script = "openTcp({remoteAddress: '127.0.0.1', remotePort: 993})"; - EXPECT_EQ("openTcp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openTcp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -559,7 +559,7 @@ const std::string script = "openTcp({remotePort: 993})"; - EXPECT_EQ("openTcp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openTcp failed: NetworkError: Network error.", EvalJs(shell(), script)); } @@ -589,7 +589,7 @@ const std::string script = "openTcp({remoteAddress: '127.0.0.1', remotePort: 993})"; - EXPECT_EQ("openTcp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openTcp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -634,7 +634,7 @@ MockNetworkContext mock_network_context(net::ERR_PROXY_CONNECTION_FAILED); DirectSocketsServiceImpl::SetNetworkContextForTesting(&mock_network_context); const std::string expected_result = - "openTcp failed: NotAllowedError: Permission denied"; + "openTcp failed: NetworkError: Network error."; const std::string script = R"( @@ -784,7 +784,7 @@ const std::string script = base::StringPrintf( "openUdp({remoteAddress: '127.0.0.1', remotePort: %d})", 0); - EXPECT_EQ("openUdp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openUdp failed: NetworkError: Network error.", EvalJs(shell(), script)); } @@ -800,7 +800,7 @@ const std::string script = "openUdp({remoteAddress: '127.0.0.1', remotePort: 443})"; - EXPECT_EQ("openUdp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openUdp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -823,7 +823,7 @@ const std::string script = "openUdp({remoteAddress: '127.0.0.1', remotePort: 993})"; - EXPECT_EQ("openUdp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openUdp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -839,7 +839,7 @@ const std::string script = "openUdp({remotePort: 993})"; - EXPECT_EQ("openUdp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openUdp failed: NetworkError: Network error.", EvalJs(shell(), script)); } @@ -869,7 +869,7 @@ const std::string script = "openUdp({remoteAddress: '127.0.0.1', remotePort: 993})"; - EXPECT_EQ("openUdp failed: NotAllowedError: Permission denied", + EXPECT_EQ("openUdp failed: NetworkError: Network error.", EvalJs(shell(), script)); histogram_tester.ExpectBucketCount( kPermissionDeniedHistogramName, @@ -914,7 +914,7 @@ MockNetworkContext mock_network_context(net::ERR_PROXY_CONNECTION_FAILED); DirectSocketsServiceImpl::SetNetworkContextForTesting(&mock_network_context); const std::string expected_result = - "openUdp failed: NotAllowedError: Permission denied"; + "openUdp failed: NetworkError: Network error."; const std::string script = R"(
diff --git a/content/browser/fenced_frame/fenced_frame_browsertest.cc b/content/browser/fenced_frame/fenced_frame_browsertest.cc index f38afd1..e0ff673 100644 --- a/content/browser/fenced_frame/fenced_frame_browsertest.cc +++ b/content/browser/fenced_frame/fenced_frame_browsertest.cc
@@ -298,6 +298,40 @@ EXPECT_FALSE(fenced_frame_root_node->IsLoading()); } +// Test that a fenced-frame does not perform any of the Android main-frame +// viewport behaviors like zoom-out-to-fit-content or parsing the viewport +// <meta>. +IN_PROC_BROWSER_TEST_F(FencedFrameBrowserTest, ViewportSettings) { + const GURL top_level_url = embedded_test_server()->GetURL( + "fencedframe.test", "/fenced_frames/viewport.html"); + EXPECT_TRUE(NavigateToURL(shell(), top_level_url)); + + RenderFrameHostImplWrapper primary_rfh(primary_main_frame_host()); + std::vector<FencedFrame*> fenced_frames = primary_rfh->GetFencedFrames(); + ASSERT_EQ(1ul, fenced_frames.size()); + FencedFrame* fenced_frame = fenced_frames.back(); + + fenced_frame->WaitForDidStopLoadingForTesting(); + + // Ensure various dimensions and properties in the fenced frame + // match the dimensions of the <fencedframe> in the parent and do + // not take into account the <meta name="viewport"> in the + // fenced-frame page. + EXPECT_EQ( + EvalJs(fenced_frame->GetInnerRoot(), "window.innerWidth").ExtractInt(), + 314); + EXPECT_EQ( + EvalJs(fenced_frame->GetInnerRoot(), "window.innerHeight").ExtractInt(), + 271); + EXPECT_EQ(EvalJs(fenced_frame->GetInnerRoot(), + "document.documentElement.clientWidth") + .ExtractInt(), + 314); + EXPECT_EQ(EvalJs(fenced_frame->GetInnerRoot(), "window.visualViewport.scale") + .ExtractDouble(), + 1.0); +} + namespace { enum class FrameTypeWithOrigin {
diff --git a/content/browser/interest_group/ad_auction_service_impl.cc b/content/browser/interest_group/ad_auction_service_impl.cc index 1b021ef..9dfd18d 100644 --- a/content/browser/interest_group/ad_auction_service_impl.cc +++ b/content/browser/interest_group/ad_auction_service_impl.cc
@@ -334,6 +334,47 @@ auctions_.insert(std::move(auction)); } +namespace { +class FencedFrameURLMappingObserver + : public FencedFrameURLMapping::MappingResultObserver { + public: + FencedFrameURLMappingObserver() = default; + ~FencedFrameURLMappingObserver() override = default; + + void OnFencedFrameURLMappingComplete( + absl::optional<GURL> mapped_url, + absl::optional<FencedFrameURLMapping::PendingAdComponentsMap> + pending_ad_components_map) override { + mapped_url_ = mapped_url; + called_ = true; + } + + bool called_; + absl::optional<GURL> mapped_url_; +}; + +} // namespace + +void AdAuctionServiceImpl::DeprecatedGetURLFromURN( + const GURL& urn_url, + DeprecatedGetURLFromURNCallback callback) { + if (!FencedFrameURLMapping::IsValidUrnUuidURL(urn_url)) { + std::move(callback).Run(absl::nullopt); + return; + } + FencedFrameURLMappingObserver obs; + content::FencedFrameURLMapping& mapping = + static_cast<RenderFrameHostImpl*>(render_frame_host()) + ->GetPage() + .fenced_frame_urls_map(); + // FLEDGE URN URLs should already be mapped, so the observer will be called + // synchronously. + mapping.ConvertFencedFrameURNToURL(urn_url, &obs); + if (!obs.called_) + mapping.RemoveObserverForURN(urn_url, &obs); + std::move(callback).Run(std::move(obs.mapped_url_)); +} + void AdAuctionServiceImpl::CreateAdRequest( blink::mojom::AdRequestConfigPtr config, CreateAdRequestCallback callback) {
diff --git a/content/browser/interest_group/ad_auction_service_impl.h b/content/browser/interest_group/ad_auction_service_impl.h index 8958c10..e95e43d 100644 --- a/content/browser/interest_group/ad_auction_service_impl.h +++ b/content/browser/interest_group/ad_auction_service_impl.h
@@ -47,6 +47,9 @@ void UpdateAdInterestGroups() override; void RunAdAuction(blink::mojom::AuctionAdConfigPtr config, RunAdAuctionCallback callback) override; + void DeprecatedGetURLFromURN( + const GURL& urn_url, + DeprecatedGetURLFromURNCallback callback) override; void CreateAdRequest(blink::mojom::AdRequestConfigPtr config, CreateAdRequestCallback callback) override; void FinalizeAd(const std::string& ads_guid,
diff --git a/content/browser/interest_group/auction_process_manager.h b/content/browser/interest_group/auction_process_manager.h index b65f0223..f95138b 100644 --- a/content/browser/interest_group/auction_process_manager.h +++ b/content/browser/interest_group/auction_process_manager.h
@@ -138,6 +138,9 @@ size_t GetPendingSellerRequestsForTesting() const { return pending_seller_request_queue_.size(); } + size_t GetBidderProcessCountForTesting() const { + return bidder_processes_.size(); + } size_t GetSellerProcessCountForTesting() const { return seller_processes_.size(); }
diff --git a/content/browser/interest_group/auction_runner.cc b/content/browser/interest_group/auction_runner.cc index 2a22085..b35747b 100644 --- a/content/browser/interest_group/auction_runner.cc +++ b/content/browser/interest_group/auction_runner.cc
@@ -122,13 +122,6 @@ AuctionRunner::BidState::~BidState() = default; AuctionRunner::BidState::BidState(BidState&&) = default; -void AuctionRunner::BidState::ClosePipes() { - url_loader_factory.reset(); - bidder_worklet_debug.reset(); - bidder_worklet.reset(); - process_handle.reset(); -} - std::unique_ptr<AuctionRunner> AuctionRunner::CreateAndStart( AuctionWorkletManager* auction_worklet_manager, AuctionWorkletManager::Delegate* auction_worklet_manager_delegate, @@ -254,17 +247,14 @@ DCHECK_EQ(bid_state.state, BidState::State::kLoadingWorkletsAndOnSellerProcess); - bid_state.state = BidState::State::kWaitingForProcess; - bid_state.process_handle = - std::make_unique<AuctionProcessManager::ProcessHandle>(); - if (interest_group_manager_->auction_process_manager() - .RequestWorkletService( - AuctionProcessManager::WorkletType::kBidder, - bid_state.bidder.interest_group.owner, - bid_state.process_handle.get(), - base::BindOnce(&AuctionRunner::OnBidderWorkletProcessReceived, - base::Unretained(this), &bid_state))) { - OnBidderWorkletProcessReceived(&bid_state); + bid_state.state = BidState::State::kWaitingForWorklet; + if (RequestBidderWorklet( + bid_state, + base::BindOnce(&AuctionRunner::OnBidderWorkletReceived, + base::Unretained(this), &bid_state), + base::BindOnce(&AuctionRunner::OnBidderWorkletGenerateBidFatalError, + base::Unretained(this), &bid_state))) { + OnBidderWorkletReceived(&bid_state); } } } @@ -284,16 +274,12 @@ FailAuction(result, errors); } -void AuctionRunner::OnBidderWorkletProcessReceived(BidState* bid_state) { - DCHECK_EQ(bid_state->state, BidState::State::kWaitingForProcess); +void AuctionRunner::OnBidderWorkletReceived(BidState* bid_state) { + DCHECK_EQ(bid_state->state, BidState::State::kWaitingForWorklet); bid_state->state = BidState::State::kGeneratingBid; - LoadBidderWorklet(*bid_state, - /*disconnect_handler=*/base::BindOnce( - &AuctionRunner::OnBidderWorkletDisconnected, - base::Unretained(this), bid_state)); const blink::InterestGroup& interest_group = bid_state->bidder.interest_group; - bid_state->bidder_worklet->GenerateBid( + bid_state->worklet_handle->GetBidderWorklet()->GenerateBid( auction_worklet::mojom::BidderWorkletNonSharedParams::New( interest_group.name, interest_group.trusted_bidding_signals_keys, interest_group.user_bidding_signals, interest_group.ads, @@ -302,23 +288,29 @@ PerBuyerSignals(bid_state), browser_signals_->seller, bid_state->bidder.bidding_browser_signals.Clone(), auction_start_time_, base::BindOnce(&AuctionRunner::OnGenerateBidComplete, - base::Unretained(this), bid_state)); + weak_ptr_factory_.GetWeakPtr(), bid_state)); } -void AuctionRunner::OnBidderWorkletDisconnected( - BidState* state, - uint32_t custom_reason, - const std::string& description) { - std::vector<std::string> errors; - if (description.empty()) { - errors.emplace_back( - base::StrCat({state->bidder.interest_group.bidding_url->spec(), - " crashed while trying to run generateBid()."})); - } else { - errors.push_back(description); +void AuctionRunner::OnBidderWorkletGenerateBidFatalError( + BidState* bid_state, + AuctionWorkletManager::FatalErrorType fatal_error_type, + const std::vector<std::string>& errors) { + DCHECK_EQ(BidState::State::kGeneratingBid, bid_state->state); + + if (fatal_error_type == + AuctionWorkletManager::FatalErrorType::kWorkletCrash) { + // Ignore default error message in case of crash. Instead, use a more + // specific one. + OnGenerateBidComplete( + bid_state, auction_worklet::mojom::BidderWorkletBidPtr(), + {base::StrCat({bid_state->bidder.interest_group.bidding_url->spec(), + " crashed while trying to run generateBid()."})}); + return; } - OnGenerateBidComplete(state, auction_worklet::mojom::BidderWorkletBidPtr(), - errors); + + // Otherwise, use error message from the worklet. + OnGenerateBidComplete(bid_state, + auction_worklet::mojom::BidderWorkletBidPtr(), errors); } void AuctionRunner::OnGenerateBidComplete( @@ -332,9 +324,9 @@ errors_.insert(errors_.end(), errors.begin(), errors.end()); - // Close the worklet's pipes. If the worklet ends up winning the auction, it - // will be reloaded to invoke its ReportWin() method. - state->ClosePipes(); + // Release the worklet. If it wins the auction, it will it will be requested + // again to invoke its ReportWin() method. + state->worklet_handle.reset(); // Ignore invalid bids. if (bid) { @@ -496,17 +488,15 @@ const absl::optional<std::string>& signals_for_winner) { DCHECK(top_bidder_->bid_result); - // Process handle should have been closed once the bid was generated. - DCHECK(!top_bidder_->process_handle); + // Worklet handle should have been destroyed once the bid was generated. + DCHECK(!top_bidder_->worklet_handle); - top_bidder_->process_handle = - std::make_unique<AuctionProcessManager::ProcessHandle>(); - if (interest_group_manager_->auction_process_manager().RequestWorkletService( - AuctionProcessManager::WorkletType::kBidder, - top_bidder_->bidder.interest_group.owner, - top_bidder_->process_handle.get(), + if (RequestBidderWorklet( + *top_bidder_, base::BindOnce(&AuctionRunner::ReportBidWin, base::Unretained(this), - signals_for_winner))) { + signals_for_winner), + base::BindOnce(&AuctionRunner::OnWinningBidderWorkletFatalError, + base::Unretained(this)))) { ReportBidWin(signals_for_winner); } } @@ -527,19 +517,14 @@ signals_for_winner_arg = "null"; } - // Load the script for the top-scoring bidder worklet again, and invoke its - // ReportWin() method. - LoadBidderWorklet(*top_bidder_, /*disconnect_handler=*/base::BindOnce( - &AuctionRunner::WinningBidderWorkletDisconnected, - base::Unretained(this))); - top_bidder_->bidder_worklet->ReportWin( + top_bidder_->worklet_handle->GetBidderWorklet()->ReportWin( top_bidder_->bidder.interest_group.name, auction_config_->shareable_auction_ad_config->auction_signals, PerBuyerSignals(top_bidder_), signals_for_winner_arg, top_bidder_->bid_result->render_url, top_bidder_->bid_result->bid, auction_config_->seller, base::BindOnce(&AuctionRunner::OnReportBidWinComplete, - base::Unretained(this))); + weak_ptr_factory_.GetWeakPtr())); } void AuctionRunner::OnReportBidWinComplete( @@ -556,20 +541,22 @@ ReportSuccess(); } -void AuctionRunner::WinningBidderWorkletDisconnected( - uint32_t custom_reason, - const std::string& description) { - std::vector<std::string> errors; - if (description.empty()) { - // Empty `description` means the process crashed. +void AuctionRunner::OnWinningBidderWorkletFatalError( + AuctionWorkletManager::FatalErrorType fatal_error_type, + const std::vector<std::string>& errors) { + // Crashes are considered fatal errors, while load errors currently are not. + if (fatal_error_type == + AuctionWorkletManager::FatalErrorType::kWorkletCrash) { FailAuction( AuctionResult::kWinningBidderWorkletCrashed, + // Ignore default error message in case of crash. Instead, use a more + // specific one. {base::StrCat({top_bidder_->bidder.interest_group.bidding_url->spec(), " crashed while trying to run reportWin()."})}); } else { - // Non-empty `description` means there was a different error (e.g., script - // failed to load). This currently does not fail the auction. - errors_.push_back(description); + // An error while reloading the worklet to call ReportWin() does not + // currently fail the auction. + errors_.insert(errors_.end(), errors.begin(), errors.end()); ReportSuccess(); } } @@ -610,7 +597,7 @@ weak_ptr_factory_.InvalidateWeakPtrs(); for (BidState& bid_state : bid_states_) { - bid_state.ClosePipes(); + bid_state.worklet_handle.reset(); } seller_worklet_handle_.reset(); } @@ -640,42 +627,19 @@ } } -void AuctionRunner::LoadBidderWorklet( +bool AuctionRunner::RequestBidderWorklet( BidState& bid_state, - mojo::ConnectionErrorWithReasonCallback disconnect_handler) { + base::OnceClosure worklet_available_callback, + AuctionWorkletManager::FatalErrorCallback fatal_error_callback) { + DCHECK(!bid_state.worklet_handle); + const blink::InterestGroup& interest_group = bid_state.bidder.interest_group; - - mojo::PendingRemote<network::mojom::URLLoaderFactory> url_loader_factory; - GURL bidding_url = interest_group.bidding_url.value_or(GURL()); - bid_state.url_loader_factory = std::make_unique<AuctionURLLoaderFactoryProxy>( - url_loader_factory.InitWithNewPipeAndPassReceiver(), - // BidderWorklets don't need frame URLLoaderFactories. - AuctionURLLoaderFactoryProxy::GetUrlLoaderFactoryCallback(), - base::BindRepeating( - &AuctionWorkletManager::Delegate::GetTrustedURLLoaderFactory, - base::Unretained(auction_worklet_manager_delegate_)), - browser_signals_->top_frame_origin, frame_origin_, - /*is_for_seller=*/false, - auction_worklet_manager_delegate_->GetClientSecurityState(), bidding_url, - bid_state.bidder.interest_group.bidding_wasm_helper_url, - interest_group.trusted_bidding_signals_url); - - mojo::PendingReceiver<auction_worklet::mojom::BidderWorklet> - worklet_receiver = bid_state.bidder_worklet.BindNewPipeAndPassReceiver(); - bid_state.bidder_worklet_debug = - base::WrapUnique(new DebuggableAuctionWorklet( - auction_worklet_manager_delegate_->GetFrame(), bidding_url, - bid_state.bidder_worklet.get())); - - bid_state.process_handle->GetService()->LoadBidderWorklet( - std::move(worklet_receiver), - bid_state.bidder_worklet_debug->should_pause_on_start(), - std::move(url_loader_factory), *interest_group.bidding_url, + return auction_worklet_manager_->RequestBidderWorklet( + interest_group.bidding_url.value_or(GURL()), interest_group.bidding_wasm_helper_url, interest_group.trusted_bidding_signals_url, - browser_signals_->top_frame_origin); - bid_state.bidder_worklet.set_disconnect_with_reason_handler( - std::move(disconnect_handler)); + std::move(worklet_available_callback), std::move(fatal_error_callback), + bid_state.worklet_handle); } } // namespace content
diff --git a/content/browser/interest_group/auction_runner.h b/content/browser/interest_group/auction_runner.h index 24451f2..6cef2d728 100644 --- a/content/browser/interest_group/auction_runner.h +++ b/content/browser/interest_group/auction_runner.h
@@ -16,17 +16,11 @@ #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/time/time.h" -#include "content/browser/interest_group/auction_process_manager.h" #include "content/browser/interest_group/auction_worklet_manager.h" #include "content/browser/interest_group/interest_group_storage.h" #include "content/common/content_export.h" -#include "content/services/auction_worklet/public/mojom/auction_worklet_service.mojom-forward.h" #include "content/services/auction_worklet/public/mojom/auction_worklet_service.mojom.h" #include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom.h" -#include "content/services/auction_worklet/public/mojom/seller_worklet.mojom.h" -#include "mojo/public/cpp/bindings/connection_error_callback.h" -#include "mojo/public/cpp/bindings/remote.h" -#include "services/network/public/mojom/url_loader_factory.mojom-forward.h" #include "third_party/abseil-cpp/absl/types/optional.h" #include "third_party/blink/public/common/interest_group/interest_group.h" #include "third_party/blink/public/mojom/interest_group/interest_group_types.mojom.h" @@ -34,8 +28,6 @@ namespace content { -class AuctionURLLoaderFactoryProxy; -class DebuggableAuctionWorklet; class InterestGroupManager; // An AuctionRunner loads and runs the bidder and seller worklets, along with @@ -160,9 +152,8 @@ // worklet to get a process. kLoadingWorkletsAndOnSellerProcess, - // Waiting for the AuctionProcessManager to provide a process usable for - // this particular bidder worklet. - kWaitingForProcess, + // Waiting for the AuctionWorkletManager to provide a BidderWorklet. + kWaitingForWorklet, // Loading the bidder worklet script / trusted data and generating the // bid. @@ -191,23 +182,13 @@ BidState(BidState&) = delete; BidState& operator=(BidState&) = delete; - // Convenient function to destroy `bidder_worklet`, `bidder_worklet_debug`, - // and `process_handle`. - // Safe to call if they're already null. - void ClosePipes(); - State state = State::kLoadingWorkletsAndOnSellerProcess; StorageInterestGroup bidder; - // URLLoaderFactory proxy class configured only to load the URLs the bidder - // needs. - std::unique_ptr<AuctionURLLoaderFactoryProxy> url_loader_factory; + // Holds a reference to the BidderWorklet, once created. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> worklet_handle; - std::unique_ptr<AuctionProcessManager::ProcessHandle> process_handle; - - mojo::Remote<auction_worklet::mojom::BidderWorklet> bidder_worklet; - std::unique_ptr<DebuggableAuctionWorklet> bidder_worklet_debug; auction_worklet::mojom::BidderWorkletBidPtr bid_result; // Points to the InterestGroupAd within `bidder` that won the auction. Only // nullptr when `bid_result` is also nullptr. @@ -249,14 +230,22 @@ AuctionWorkletManager::FatalErrorType fatal_error_type, const std::vector<std::string>& errors); - // Invoked whenever the AuctionProcessManager has provided a process for a - // bidder worklet. Starts loading the corresponding worklet and generating a - // bid. - void OnBidderWorkletProcessReceived(BidState* bid_state); + // Invoked whenever the AuctionWorkletManager has provided a BidderWorket for + // the bidder identified by `bid_state`. Starts generating a bid. + void OnBidderWorkletReceived(BidState* bid_state); - void OnBidderWorkletDisconnected(BidState* state, - uint32_t custom_reason, - const std::string& description); + // Called when the `bid_state` BidderWorklet crashes or fails to load, and + // `bid_state` is in state kGeneratingBid. Fails the GenerateBid() call and + // releases the worklet handle, as the callback passed to the GenerateBid Mojo + // call will not be invoked after this method is. + void OnBidderWorkletGenerateBidFatalError( + BidState* bid_state, + AuctionWorkletManager::FatalErrorType fatal_error_type, + const std::vector<std::string>& errors); + + // Called once a bid has been generated, or has failed to be generated. + // Releases the BidderWorklet handle and instructs the SellerWorklet to start + // scoring the bid, if there is one. void OnGenerateBidComplete(BidState* state, auction_worklet::mojom::BidderWorkletBidPtr bid, const std::vector<std::string>& errors); @@ -293,10 +282,11 @@ void OnReportBidWinComplete(const absl::optional<GURL>& bidder_report_url, const std::vector<std::string>& error_msgs); - // Called when the BidderWorklet that won an auction is disconnected during - // the ReportWin() call. - void WinningBidderWorkletDisconnected(uint32_t custom_reason, - const std::string& description); + // Called when the BidderWorklet that won an auction has an out-of-band fatal + // error during the ReportWin() call. + void OnWinningBidderWorkletFatalError( + AuctionWorkletManager::FatalErrorType fatal_error_type, + const std::vector<std::string>& errors); // Completes the auction, invoking `callback_` and preventing any future // calls into `this` by closing mojo pipes and disposing of weak pointers. The @@ -310,11 +300,13 @@ // Logs the result of the auction to UMA. void RecordResult(AuctionResult result) const; - // Loads a bidder worklet for `bid_state`, setting the provided disconnect - // handler. - void LoadBidderWorklet( - BidState& bid_state, - mojo::ConnectionErrorWithReasonCallback disconnect_handler); + // Requests a WorkletHandle for the interest group identified by `bid_state`, + // using the provided callbacks. Returns true if a worklet was received + // synchronously. + bool RequestBidderWorklet(BidState& bid_state, + base::OnceClosure worklet_available_callback, + AuctionWorkletManager::FatalErrorCallback + fatal_error_callback) WARN_UNUSED_RESULT; const raw_ptr<AuctionWorkletManager> auction_worklet_manager_; const raw_ptr<AuctionWorkletManager::Delegate>
diff --git a/content/browser/interest_group/auction_runner_unittest.cc b/content/browser/interest_group/auction_runner_unittest.cc index 51b3b8a..3ed010b 100644 --- a/content/browser/interest_group/auction_runner_unittest.cc +++ b/content/browser/interest_group/auction_runner_unittest.cc
@@ -299,11 +299,8 @@ public: explicit MockBidderWorklet( mojo::PendingReceiver<auction_worklet::mojom::BidderWorklet> - pending_receiver, - mojo::PendingRemote<network::mojom::URLLoaderFactory> - pending_url_loader_factory) - : url_loader_factory_(std::move(pending_url_loader_factory)), - receiver_(this, std::move(pending_receiver)) { + pending_receiver) + : receiver_(this, std::move(pending_receiver)) { receiver_.set_disconnect_handler(base::BindOnce( &MockBidderWorklet::OnPipeClosed, base::Unretained(this))); } @@ -402,10 +399,6 @@ .Run(report_url, std::vector<std::string>() /* errors */); } - mojo::Remote<network::mojom::URLLoaderFactory>& url_loader_factory() { - return url_loader_factory_; - } - // Flush the receiver pipe and return whether or not its closed. bool PipeIsClosed() { receiver_.FlushForTesting(); @@ -423,8 +416,6 @@ std::unique_ptr<base::RunLoop> report_win_run_loop_; ReportWinCallback report_win_callback_; - mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_; - // Receiver is last so that destroying `this` while there's a pending callback // over the pipe will not DCHECK. mojo::Receiver<auction_worklet::mojom::BidderWorklet> receiver_; @@ -624,8 +615,7 @@ EXPECT_EQ(0u, bidder_worklets_.count(script_source_url)); bidder_worklets_.emplace(std::make_pair( script_source_url, std::make_unique<MockBidderWorklet>( - std::move(bidder_worklet_receiver), - std::move(pending_url_loader_factory)))); + std::move(bidder_worklet_receiver)))); // Whenever a worklet is created, one of the RunLoops should be waiting for // worklet creation. if (wait_for_bidder_reload_run_loop_) { @@ -3091,72 +3081,6 @@ 2 /* expected_interest_groups */, 2 /* expected_owners */); } -// Make sure that requesting unexpected URLs from a bidder worklet is blocked. -// While this test starts an auction, it only does this so it can directly make -// requests using the URLLoaderFactories the auction creates. -// -// TODO(https://crbug.com/1276639): Once bidder worklets are created using -// AuctionWorkletManager, make this an AuctionWorkletManager test. -TEST_F(AuctionRunnerTest, UrlRequestProtection) { - StartStandardAuctionWithMockService(); - - auto seller_worklet = mock_auction_process_manager_->TakeSellerWorklet(); - ASSERT_TRUE(seller_worklet); - // This auction doesn't generate any bids, the auction is just used to create - // URLLoaderFactories, which are used independently of the AuctionRunner. - seller_worklet->set_expect_send_pending_signals_requests_called(false); - - auto bidder1_worklet = - mock_auction_process_manager_->TakeBidderWorklet(kBidder1Url); - ASSERT_TRUE(bidder1_worklet); - auto bidder2_worklet = - mock_auction_process_manager_->TakeBidderWorklet(kBidder2Url); - ASSERT_TRUE(bidder2_worklet); - - // A bidder's URLLoaderFactory should reject the seller URL, closing the Mojo - // pipe. - network::ResourceRequest request; - request.headers.SetHeader(net::HttpRequestHeaders::kAccept, - "application/javascript"); - mojo::PendingRemote<network::mojom::URLLoader> receiver; - mojo::PendingReceiver<network::mojom::URLLoaderClient> client; - bidder1_worklet->url_loader_factory()->CreateLoaderAndStart( - receiver.InitWithNewPipeAndPassReceiver(), 0 /* request_id_ */, - 0 /* options */, request, client.InitWithNewPipeAndPassRemote(), - net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); - bidder1_worklet->url_loader_factory().FlushForTesting(); - EXPECT_FALSE(bidder1_worklet->url_loader_factory().is_connected()); - EXPECT_EQ(0u, url_loader_factory_.pending_requests()->size()); - EXPECT_EQ("Unexpected request", TakeBadMessage()); - receiver.reset(); - client.reset(); - - // A bidder's URLLoaderFactory should allow the bidder's URL to be requested. - request.url = kBidder2Url; - bidder2_worklet->url_loader_factory()->CreateLoaderAndStart( - receiver.InitWithNewPipeAndPassReceiver(), 0 /* request_id_ */, - 0 /* options */, request, client.InitWithNewPipeAndPassRemote(), - net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); - bidder2_worklet->url_loader_factory().FlushForTesting(); - EXPECT_TRUE(bidder2_worklet->url_loader_factory().is_connected()); - ASSERT_EQ(1u, url_loader_factory_.pending_requests()->size()); - EXPECT_EQ(kBidder2Url, - (*url_loader_factory_.pending_requests())[0].request.url); - receiver.reset(); - client.reset(); - - // A bidder's URLLoaderFactory should also reject the URL from another bidder. - request.url = kBidder1Url; - bidder2_worklet->url_loader_factory()->CreateLoaderAndStart( - receiver.InitWithNewPipeAndPassReceiver(), 0 /* request_id_ */, - 0 /* options */, request, client.InitWithNewPipeAndPassRemote(), - net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); - bidder2_worklet->url_loader_factory().FlushForTesting(); - EXPECT_FALSE(bidder2_worklet->url_loader_factory().is_connected()); - ASSERT_EQ(1u, url_loader_factory_.pending_requests()->size()); - EXPECT_EQ("Unexpected request", TakeBadMessage()); -} - // Check that BidderWorklets that don't make a bid are destroyed immediately. TEST_F(AuctionRunnerTest, DestroyBidderWorkletWithoutBid) { StartStandardAuctionWithMockService();
diff --git a/content/browser/interest_group/auction_worklet_manager.cc b/content/browser/interest_group/auction_worklet_manager.cc index 6377e34..72f666e 100644 --- a/content/browser/interest_group/auction_worklet_manager.cc +++ b/content/browser/interest_group/auction_worklet_manager.cc
@@ -25,6 +25,7 @@ #include "content/browser/interest_group/auction_url_loader_factory_proxy.h" #include "content/browser/interest_group/debuggable_auction_worklet.h" #include "content/common/content_export.h" +#include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom.h" #include "content/services/auction_worklet/public/mojom/seller_worklet.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" @@ -54,6 +55,11 @@ handles_.RemoveObserver(handle); } + auction_worklet::mojom::BidderWorklet* bidder_worklet() { + DCHECK(bidder_worklet_); + return bidder_worklet_.get(); + } + auction_worklet::mojom::SellerWorklet* seller_worklet() { DCHECK(seller_worklet_); return seller_worklet_.get(); @@ -63,7 +69,9 @@ // Whether or not a worklet has been created. Once a worklet has been created, // always returns true, even after disconnect or error. - bool worklet_created() const { return seller_worklet_.is_bound(); } + bool worklet_created() const { + return bidder_worklet_.is_bound() || seller_worklet_.is_bound(); + } private: friend class base::RefCounted<WorkletOwner>; @@ -103,6 +111,7 @@ base::ObserverList<WorkletHandle, /*check_empty=*/true> handles_; std::unique_ptr<AuctionURLLoaderFactoryProxy> url_loader_factory_proxy_; + mojo::Remote<auction_worklet::mojom::BidderWorklet> bidder_worklet_; mojo::Remote<auction_worklet::mojom::SellerWorklet> seller_worklet_; // This must be destroyed before the worklet it's passed, since it hangs on to // a raw pointer to it. @@ -114,9 +123,6 @@ WorkletInfo worklet_info) : worklet_manager_(worklet_manager), worklet_info_(std::move(worklet_info)) { - // Only seller worklets are currently supported. - DCHECK_EQ(worklet_info_.type, WorkletType::kSeller); - if (worklet_manager_->auction_process_manager()->RequestWorkletService( worklet_info_.type, url::Origin::Create(worklet_info_.script_url), &process_handle_, @@ -139,6 +145,9 @@ } void AuctionWorkletManager::WorkletOwner::OnProcessAssigned() { + DCHECK(!bidder_worklet_.is_bound()); + DCHECK(!seller_worklet_.is_bound()); + Delegate* delegate = worklet_manager_->delegate(); mojo::PendingRemote<network::mojom::URLLoaderFactory> url_loader_factory; url_loader_factory_proxy_ = std::make_unique<AuctionURLLoaderFactoryProxy>( @@ -148,19 +157,42 @@ base::BindRepeating(&Delegate::GetTrustedURLLoaderFactory, base::Unretained(delegate)), worklet_manager_->top_window_origin(), worklet_manager_->frame_origin(), - /*is_for_seller_=*/true, delegate->GetClientSecurityState(), - worklet_info_.script_url, /*wasm_url=*/absl::nullopt, - /*trusted_signals_base_url=*/worklet_info_.signals_url); - mojo::PendingReceiver<auction_worklet::mojom::SellerWorklet> - worklet_receiver = seller_worklet_.BindNewPipeAndPassReceiver(); - worklet_debug_ = base::WrapUnique(new DebuggableAuctionWorklet( - delegate->GetFrame(), worklet_info_.script_url, seller_worklet_.get())); - process_handle_.GetService()->LoadSellerWorklet( - std::move(worklet_receiver), worklet_debug_->should_pause_on_start(), - std::move(url_loader_factory), worklet_info_.script_url, - worklet_info_.signals_url, worklet_manager_->top_window_origin()); - seller_worklet_.set_disconnect_with_reason_handler(base::BindOnce( - &WorkletOwner::OnWorkletDisconnected, base::Unretained(this))); + /*is_for_seller_=*/worklet_info_.type == WorkletType::kSeller, + delegate->GetClientSecurityState(), worklet_info_.script_url, + worklet_info_.wasm_url, worklet_info_.signals_url); + + switch (worklet_info_.type) { + case WorkletType::kBidder: { + mojo::PendingReceiver<auction_worklet::mojom::BidderWorklet> + worklet_receiver = bidder_worklet_.BindNewPipeAndPassReceiver(); + worklet_debug_ = base::WrapUnique(new DebuggableAuctionWorklet( + delegate->GetFrame(), worklet_info_.script_url, + bidder_worklet_.get())); + process_handle_.GetService()->LoadBidderWorklet( + std::move(worklet_receiver), worklet_debug_->should_pause_on_start(), + std::move(url_loader_factory), worklet_info_.script_url, + worklet_info_.wasm_url, worklet_info_.signals_url, + worklet_manager_->top_window_origin()); + bidder_worklet_.set_disconnect_with_reason_handler(base::BindOnce( + &WorkletOwner::OnWorkletDisconnected, base::Unretained(this))); + break; + } + + case WorkletType::kSeller: { + mojo::PendingReceiver<auction_worklet::mojom::SellerWorklet> + worklet_receiver = seller_worklet_.BindNewPipeAndPassReceiver(); + worklet_debug_ = base::WrapUnique(new DebuggableAuctionWorklet( + delegate->GetFrame(), worklet_info_.script_url, + seller_worklet_.get())); + process_handle_.GetService()->LoadSellerWorklet( + std::move(worklet_receiver), worklet_debug_->should_pause_on_start(), + std::move(url_loader_factory), worklet_info_.script_url, + worklet_info_.signals_url, worklet_manager_->top_window_origin()); + seller_worklet_.set_disconnect_with_reason_handler(base::BindOnce( + &WorkletOwner::OnWorkletDisconnected, base::Unretained(this))); + break; + } + } for (auto& handle : handles_) { handle.OnWorkletAvailable(); @@ -197,6 +229,13 @@ worklet_owner_->UnregisterHandle(this); } +auction_worklet::mojom::BidderWorklet* +AuctionWorkletManager::WorkletHandle::GetBidderWorklet() { + DCHECK_EQ(WorkletType::kBidder, worklet_owner_->worklet_info().type); + DCHECK(worklet_owner_->bidder_worklet()); + return worklet_owner_->bidder_worklet(); +} + auction_worklet::mojom::SellerWorklet* AuctionWorkletManager::WorkletHandle::GetSellerWorklet() { DCHECK_EQ(WorkletType::kSeller, worklet_owner_->worklet_info().type); @@ -252,8 +291,26 @@ bool AuctionWorkletManager::WorkletInfo::WorkletInfo::operator<( const WorkletInfo& other) const { - return std::tie(type, script_url, signals_url) < - std::tie(other.type, other.script_url, other.signals_url); + return std::tie(type, script_url, wasm_url, signals_url) < + std::tie(other.type, other.script_url, other.wasm_url, + other.signals_url); +} + +bool AuctionWorkletManager::RequestBidderWorklet( + const GURL& bidding_logic_url, + const absl::optional<GURL>& wasm_url, + const absl::optional<GURL>& trusted_bidding_signals_url, + base::OnceClosure worklet_available_callback, + FatalErrorCallback fatal_error_callback, + std::unique_ptr<WorkletHandle>& out_worklet_handle) { + DCHECK(!out_worklet_handle); + + WorkletInfo worklet_info(WorkletType::kBidder, + /*script_url=*/bidding_logic_url, wasm_url, + /*signals_url=*/trusted_bidding_signals_url); + return RequestWorkletInternal( + std::move(worklet_info), std::move(worklet_available_callback), + std::move(fatal_error_callback), out_worklet_handle); } bool AuctionWorkletManager::RequestSellerWorklet( @@ -266,6 +323,7 @@ WorkletInfo worklet_info(WorkletType::kSeller, /*script_url=*/decision_logic_url, + /*wasm_url=*/absl::nullopt, /*signals_url=*/trusted_scoring_signals_url); return RequestWorkletInternal( std::move(worklet_info), std::move(worklet_available_callback), @@ -275,8 +333,12 @@ AuctionWorkletManager::WorkletInfo::WorkletInfo( WorkletType type, const GURL& script_url, + const absl::optional<GURL>& wasm_url, const absl::optional<GURL>& signals_url) - : type(type), script_url(script_url), signals_url(signals_url) {} + : type(type), + script_url(script_url), + wasm_url(wasm_url), + signals_url(signals_url) {} AuctionWorkletManager::WorkletInfo::WorkletInfo(const WorkletInfo&) = default; AuctionWorkletManager::WorkletInfo::WorkletInfo(WorkletInfo&&) = default;
diff --git a/content/browser/interest_group/auction_worklet_manager.h b/content/browser/interest_group/auction_worklet_manager.h index a0eb1c1..7ef39171 100644 --- a/content/browser/interest_group/auction_worklet_manager.h +++ b/content/browser/interest_group/auction_worklet_manager.h
@@ -16,6 +16,7 @@ #include "base/observer_list_types.h" #include "content/browser/interest_group/auction_process_manager.h" #include "content/common/content_export.h" +#include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom.h" #include "content/services/auction_worklet/public/mojom/seller_worklet.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/remote.h" @@ -103,10 +104,11 @@ WorkletHandle& operator=(const WorkletHandle&) = delete; ~WorkletHandle() override; - // Retrieves the SellerWorklet Mojo interface for the requested worklet. - // Once the worklet is created, will never return null. Even in the case of - // process crash or load error, it will return an interface with a broken - // pipe. + // Retrieves the corresponding Worklet Mojo interface for the requested + // worklet. Only the method corresponding to the worklet type `this` was + // created with my be invoked. Once the worklet is created, will never + // return null. Even in the case of process crash or load error, it will + // return an interface with a broken pipe. // // Note that calls in the returned Mojo worklet cannot currently be // cancelled, so calls should always use weak pointers. Since there's no way @@ -115,6 +117,7 @@ // pointers are probably not strictly necessary, since everything is torn // down before Mojo has a chance to invoke callbacks, but using weak // pointers still seems the safest thing to do). + auction_worklet::mojom::BidderWorklet* GetBidderWorklet(); auction_worklet::mojom::SellerWorklet* GetSellerWorklet(); private: @@ -153,10 +156,8 @@ AuctionWorkletManager& operator=(const AuctionWorkletManager&) = delete; ~AuctionWorkletManager(); - // Requests a SellerWorklet with the specified properties. The top frame - // origin and debugging information is obtained from the RenderFrameHost the - // AuctionWorkletManager is scoped to on construction, so they're not taken as - // parameters. + // Requests a worklet with the specified properties. The top frame origin and + // debugging information are obtained from the Delegate's RenderFrameHost. // // The AuctionWorkletManager will handle requesting a process, hooking up // DevTools, and merging requests with the same parameters so they can share a @@ -171,9 +172,15 @@ // `fatal_error_callback` is invoked in the case of a fatal error. It may be // invoked any time after the worklet is available (after returning true or // after `worklet_available_callback` has been invoked), before the - // WorkletHandle is destroyed. It is called to indicate the seller worklet - // failed to load, or the seller worklet crashed, both of which only happen - // after a worklet has been provided to the caller. + // WorkletHandle is destroyed. It is called to indicate the worklet failed to + // load or crashed. + bool RequestBidderWorklet( + const GURL& bidding_logic_url, + const absl::optional<GURL>& wasm_url, + const absl::optional<GURL>& trusted_bidding_signals_url, + base::OnceClosure worklet_available_callback, + FatalErrorCallback fatal_error_callback, + std::unique_ptr<WorkletHandle>& out_worklet_handle) WARN_UNUSED_RESULT; bool RequestSellerWorklet( const GURL& decision_logic_url, const absl::optional<GURL>& trusted_scoring_signals_url, @@ -188,6 +195,7 @@ struct WorkletInfo { WorkletInfo(WorkletType type, const GURL& script_url, + const absl::optional<GURL>& wasm_url, const absl::optional<GURL>& signals_url); WorkletInfo(const WorkletInfo&); WorkletInfo(WorkletInfo&&); @@ -195,6 +203,7 @@ WorkletType type; GURL script_url; + absl::optional<GURL> wasm_url; absl::optional<GURL> signals_url; bool operator<(const WorkletInfo& other) const;
diff --git a/content/browser/interest_group/auction_worklet_manager_unittest.cc b/content/browser/interest_group/auction_worklet_manager_unittest.cc index 390706f..18b8e69 100644 --- a/content/browser/interest_group/auction_worklet_manager_unittest.cc +++ b/content/browser/interest_group/auction_worklet_manager_unittest.cc
@@ -39,7 +39,6 @@ #include "url/origin.h" namespace content { - namespace { base::OnceClosure NeverInvokedWorkletAvailableCallback() { @@ -90,7 +89,90 @@ base::RunLoop run_loop_; }; -} // namespace +// BidderWorklet that holds onto passed in callbacks, to let the test fixture +// invoke them. +class MockBidderWorklet : public auction_worklet::mojom::BidderWorklet { + public: + explicit MockBidderWorklet( + mojo::PendingReceiver<auction_worklet::mojom::BidderWorklet> + pending_receiver, + mojo::PendingRemote<network::mojom::URLLoaderFactory> + pending_url_loader_factory, + const GURL& script_source_url, + const absl::optional<GURL>& wasm_url, + const absl::optional<GURL>& trusted_bidding_signals_url, + const url::Origin& top_window_origin) + : url_loader_factory_(std::move(pending_url_loader_factory)), + script_source_url_(script_source_url), + wasm_url_(wasm_url), + trusted_bidding_signals_url_(trusted_bidding_signals_url), + top_window_origin_(top_window_origin), + receiver_(this, std::move(pending_receiver)) {} + + MockBidderWorklet(const MockBidderWorklet&) = delete; + const MockBidderWorklet& operator=(const MockBidderWorklet&) = delete; + + ~MockBidderWorklet() override = default; + + // auction_worklet::mojom::SellerWorklet implementation: + + void GenerateBid( + auction_worklet::mojom::BidderWorkletNonSharedParamsPtr + bidder_worklet_non_shared_params, + const absl::optional<std::string>& auction_signals_json, + const absl::optional<std::string>& per_buyer_signals_json, + const url::Origin& seller_origin, + auction_worklet::mojom::BiddingBrowserSignalsPtr bidding_browser_signals, + base::Time auction_start_time, + GenerateBidCallback generate_bid_callback) override { + NOTREACHED(); + } + + void ReportWin(const std::string& interest_group_name, + const absl::optional<std::string>& auction_signals_json, + const absl::optional<std::string>& per_buyer_signals_json, + const std::string& seller_signals_json, + const GURL& browser_signal_render_url, + double browser_signal_bid, + const url::Origin& browser_signal_seller_origin, + ReportWinCallback report_win_callback) override { + NOTREACHED(); + } + + void ConnectDevToolsAgent( + mojo::PendingReceiver<blink::mojom::DevToolsAgent> agent) override { + ADD_FAILURE() + << "ConnectDevToolsAgent should not be called on MockBidderWorklet"; + } + + void ClosePipe(const char* error) { + DCHECK(error); + receiver_.ResetWithReason(/*custom_reason_code=*/0, error); + } + + mojo::Remote<network::mojom::URLLoaderFactory>& url_loader_factory() { + return url_loader_factory_; + } + + const GURL& script_source_url() const { return script_source_url_; } + const absl::optional<GURL>& wasm_url() const { return wasm_url_; } + const absl::optional<GURL>& trusted_bidding_signals_url() const { + return trusted_bidding_signals_url_; + } + const url::Origin& top_window_origin() const { return top_window_origin_; } + + private: + mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_; + + const GURL script_source_url_; + const absl::optional<GURL> wasm_url_; + const absl::optional<GURL> trusted_bidding_signals_url_; + const url::Origin top_window_origin_; + + // Receiver is last so that destroying `this` while there's a pending callback + // over the pipe will not DCHECK. + mojo::Receiver<auction_worklet::mojom::BidderWorklet> receiver_; +}; // SellerWorklet that holds onto passed in callbacks, to let the test fixture // invoke them. @@ -253,6 +335,7 @@ } // auction_worklet::mojom::AuctionWorkletService implementation: + void LoadBidderWorklet( mojo::PendingReceiver<auction_worklet::mojom::BidderWorklet> bidder_worklet_receiver, @@ -260,11 +343,24 @@ mojo::PendingRemote<network::mojom::URLLoaderFactory> pending_url_loader_factory, const GURL& script_source_url, - const absl::optional<GURL>& wasm_helper_url, + const absl::optional<GURL>& bidding_wasm_helper_url, const absl::optional<GURL>& trusted_bidding_signals_url, const url::Origin& top_window_origin) override { - // Bidder worklets are not yet supported by the AuctionWorkletManager. - NOTREACHED(); + DCHECK(!bidder_worklet_); + + // Make sure this request came over the right pipe. + EXPECT_EQ(receiver_display_name_map_[receiver_set_.current_receiver()], + ComputeDisplayName(AuctionProcessManager::WorkletType::kBidder, + url::Origin::Create(script_source_url))); + + bidder_worklet_ = std::make_unique<MockBidderWorklet>( + std::move(bidder_worklet_receiver), + std::move(pending_url_loader_factory), script_source_url, + bidding_wasm_helper_url, trusted_bidding_signals_url, + top_window_origin); + + if (bidder_worklet_run_loop_) + bidder_worklet_run_loop_->Quit(); } void LoadSellerWorklet( @@ -292,6 +388,21 @@ seller_worklet_run_loop_->Quit(); } + std::unique_ptr<MockBidderWorklet> WaitForBidderWorklet() { + if (!bidder_worklet_) { + bidder_worklet_run_loop_ = std::make_unique<base::RunLoop>(); + bidder_worklet_run_loop_->Run(); + } + + DCHECK(bidder_worklet_); + return std::move(bidder_worklet_); + } + + bool HasBidderWorkletRequest() { + base::RunLoop().RunUntilIdle(); + return bidder_worklet_.get() != nullptr; + } + std::unique_ptr<MockSellerWorklet> WaitForSellerWorklet() { if (!seller_worklet_) { seller_worklet_run_loop_ = std::make_unique<base::RunLoop>(); @@ -308,6 +419,10 @@ } private: + // The most recently created unclaimed bidder worklet. + std::unique_ptr<MockBidderWorklet> bidder_worklet_; + std::unique_ptr<base::RunLoop> bidder_worklet_run_loop_; + // The most recently created unclaimed seller worklet. std::unique_ptr<MockSellerWorklet> seller_worklet_; std::unique_ptr<base::RunLoop> seller_worklet_run_loop_; @@ -376,8 +491,9 @@ url::Origin::Create(GURL("https://frame.origin.test/")); // Defaults used by most tests. - const GURL kDecisionLogicUrl = GURL("https://seller.test/script"); - const GURL kTrustedSignalsUrl = GURL("https://seller.test/trusted_signals"); + const GURL kDecisionLogicUrl = GURL("https://origin.test/script"); + const GURL kWasmUrl = GURL("https://origin.test/wasm"); + const GURL kTrustedSignalsUrl = GURL("https://origin.test/trusted_signals"); base::test::TaskEnvironment task_environment_; @@ -388,6 +504,22 @@ AuctionWorkletManager auction_worklet_manager_; }; +TEST_F(AuctionWorkletManagerTest, SingleBidderWorklet) { + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet->top_window_origin()); +} + TEST_F(AuctionWorkletManagerTest, SingleSellerWorklet) { std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; ASSERT_TRUE(auction_worklet_manager_.RequestSellerWorklet( @@ -407,12 +539,85 @@ seller_worklet->WaitForSendPendingSignalsRequests(1); } +// Test the case where a bidder worklet request completes asynchronously. This +// only happens when the BidderWorklet process limit has been reached. This test +// also serves to make sure that different bidder origins result in different +// processes. +TEST_F(AuctionWorkletManagerTest, BidderWorkletAsync) { + // Create `kMaxBidderProcesses` for origins other than https://origin.test. + // + // For proper destruction ordering, `handles` should be after + // `bidder_worklets`. Otherwise, worklet destruction will result in invoking + // the `handles` fatal error callback, as if they had crashed. + std::list<std::unique_ptr<MockBidderWorklet>> bidder_worklets; + std::list<std::unique_ptr<AuctionWorkletManager::WorkletHandle>> handles; + for (size_t i = 0; i < AuctionProcessManager::kMaxBidderProcesses; ++i) { + EXPECT_EQ(i, auction_process_manager_.GetBidderProcessCountForTesting()); + + GURL decision_logic_url = + GURL(base::StringPrintf("https://origin%zu.test", i)); + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + decision_logic_url, /*wasm_url=*/absl::nullopt, + /*trusted_bidding_signals_url=*/absl::nullopt, + NeverInvokedWorkletAvailableCallback(), + NeverInvokedFatalErrorCallback(), handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + EXPECT_EQ(i + 1, + auction_process_manager_.GetBidderProcessCountForTesting()); + + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(decision_logic_url, bidder_worklet->script_source_url()); + EXPECT_EQ(absl::nullopt, bidder_worklet->wasm_url()); + EXPECT_EQ(absl::nullopt, bidder_worklet->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet->top_window_origin()); + + handles.emplace_back(std::move(handle)); + bidder_worklets.emplace_back(std::move(bidder_worklet)); + } + + // Should be at the bidder process limit. + EXPECT_EQ(AuctionProcessManager::kMaxBidderProcesses, + auction_process_manager_.GetBidderProcessCountForTesting()); + + // The next request for a distinct bidder worklet should not complete + // synchronously, since there's no available process quota. + base::RunLoop worklet_available_loop; + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_FALSE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + worklet_available_loop.QuitClosure(), NeverInvokedFatalErrorCallback(), + handle)); + EXPECT_EQ(AuctionProcessManager::kMaxBidderProcesses, + auction_process_manager_.GetBidderProcessCountForTesting()); + EXPECT_FALSE(worklet_available_loop.AnyQuitCalled()); + + // Freeing a WorkletHandle should result in a new process being + // available, and the most recent request getting a new worklet. + + handles.pop_front(); + worklet_available_loop.Run(); + EXPECT_TRUE(handle->GetBidderWorklet()); + + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet->top_window_origin()); + + // Should still be at the process limit. + EXPECT_EQ(AuctionProcessManager::kMaxBidderProcesses, + auction_process_manager_.GetBidderProcessCountForTesting()); +} + // Test the case where a seller worklet request completes asynchronously. This // only happens when the SellerWorklet process limit has been reached. This test // also serves to make sure that different seller origins result in different // processes. TEST_F(AuctionWorkletManagerTest, SellerWorkletAsync) { - // Create `kMaxSellerProcesses` for origins other than https://seller.test. + // Create `kMaxSellerProcesses` for origins other than https://origin.test. // // For proper destruction ordering, `handles` should be after // `seller_worklets`. Otherwise, worklet destruction will result in invoking @@ -423,7 +628,7 @@ EXPECT_EQ(i, auction_process_manager_.GetSellerProcessCountForTesting()); GURL decision_logic_url = - GURL(base::StringPrintf("https://seller%zu.test", i)); + GURL(base::StringPrintf("https://origin%zu.test", i)); std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; ASSERT_TRUE(auction_worklet_manager_.RequestSellerWorklet( decision_logic_url, /*trusted_scoring_signals_url=*/absl::nullopt, @@ -485,6 +690,77 @@ auction_process_manager_.GetSellerProcessCountForTesting()); } +// Test that requests with the same parameters reuse bidder worklets. +TEST_F(AuctionWorkletManagerTest, ReuseBidderWorklet) { + // Load a bidder worklet. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle1)); + EXPECT_TRUE(handle1->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet1 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet1->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet1->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet1->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet1->top_window_origin()); + // Should only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Load a bidder worklet with the same parameters. The worklet should be + // reused. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle2)); + EXPECT_EQ(handle1->GetBidderWorklet(), handle2->GetBidderWorklet()); + EXPECT_FALSE(auction_process_manager_.HasBidderWorkletRequest()); + // Should still only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Close original handle. Worklet should still be alive, and so should its + // process. + handle1.reset(); + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Load a bidder worklet with the same parameters. The worklet should still be + // reused again. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle3)); + EXPECT_EQ(handle2->GetBidderWorklet(), handle3->GetBidderWorklet()); + EXPECT_FALSE(auction_process_manager_.HasBidderWorkletRequest()); + // Should still only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Close both remaining handles. + handle2.reset(); + handle3.reset(); + + // Process should be destroyed. + EXPECT_EQ(0u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Request another bidder worklet. A new BidderWorklet in a new process should + // be created. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle4)); + EXPECT_TRUE(handle4->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet2 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet2->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet2->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet2->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet2->top_window_origin()); + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); +} + // Test that requests with the same parameters reuse seller worklets. TEST_F(AuctionWorkletManagerTest, ReuseSellerWorklet) { // Load a seller worklet. @@ -564,6 +840,85 @@ } // Make sure that worklets are not reused when parameters don't match. +TEST_F(AuctionWorkletManagerTest, DifferentBidderWorklets) { + // Load a bidder worklet. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle1)); + EXPECT_TRUE(handle1->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet1 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet1->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet1->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet1->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet1->top_window_origin()); + // Should only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Load a bidder worklet with a different decision logic URL. A new worklet + // should be created, using the same process. + const GURL kDifferentDecisionLogicUrl = + GURL("https://origin.test/different_script"); + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDifferentDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle2)); + EXPECT_TRUE(handle1->GetBidderWorklet()); + EXPECT_NE(handle1->GetBidderWorklet(), handle2->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet2 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDifferentDecisionLogicUrl, bidder_worklet2->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet2->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet2->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet2->top_window_origin()); + // Should still only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Load a bidder worklet with a different (null) trusted signals URL. A new + // worklet should be created, using the same process. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, + /*trusted_bidding_signals_url=*/absl::nullopt, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle3)); + EXPECT_TRUE(handle3->GetBidderWorklet()); + EXPECT_NE(handle1->GetBidderWorklet(), handle3->GetBidderWorklet()); + EXPECT_NE(handle2->GetBidderWorklet(), handle3->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet3 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet3->script_source_url()); + EXPECT_EQ(kWasmUrl, bidder_worklet3->wasm_url()); + EXPECT_EQ(absl::nullopt, bidder_worklet3->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet3->top_window_origin()); + // Should still only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); + + // Load a bidder worklet with a different (null) wasm helper URL. A new + // worklet should be created, using the same process. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, /*wasm_url=*/absl::nullopt, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle4)); + EXPECT_TRUE(handle4->GetBidderWorklet()); + EXPECT_NE(handle1->GetBidderWorklet(), handle4->GetBidderWorklet()); + EXPECT_NE(handle2->GetBidderWorklet(), handle4->GetBidderWorklet()); + EXPECT_NE(handle3->GetBidderWorklet(), handle4->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet4 = + auction_process_manager_.WaitForBidderWorklet(); + EXPECT_EQ(kDecisionLogicUrl, bidder_worklet4->script_source_url()); + EXPECT_EQ(absl::nullopt, bidder_worklet4->wasm_url()); + EXPECT_EQ(kTrustedSignalsUrl, bidder_worklet4->trusted_bidding_signals_url()); + EXPECT_EQ(kTopWindowOrigin, bidder_worklet4->top_window_origin()); + // Should still only be one process. + EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting()); +} + +// Make sure that worklets are not reused when parameters don't match. TEST_F(AuctionWorkletManagerTest, DifferentSellerWorklets) { // Load a seller worklet. std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1; @@ -583,7 +938,7 @@ // Load a seller worklet with a different decision logic URL. A new worklet // should be created, using the same process. const GURL kDifferentDecisionLogicUrl = - GURL("https://seller.test/different_script"); + GURL("https://origin.test/different_script"); std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2; ASSERT_TRUE(auction_worklet_manager_.RequestSellerWorklet( kDifferentDecisionLogicUrl, kTrustedSignalsUrl, @@ -618,6 +973,43 @@ EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting()); } +TEST_F(AuctionWorkletManagerTest, BidderWorkletLoadError) { + const char kErrorText[] = "Goat teleportation error"; + + // Load a bidder worklet. + FatalLoadErrorHelper load_error_helper; + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), load_error_helper.Callback(), + handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + + // Return a load error. + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + bidder_worklet->ClosePipe(kErrorText); + + // Wait for the load error, check the parameters. + load_error_helper.WaitForResult(); + EXPECT_THAT(load_error_helper.errors(), testing::ElementsAre(kErrorText)); + EXPECT_EQ(AuctionWorkletManager::FatalErrorType::kScriptLoadFailed, + load_error_helper.fatal_error_type()); + + // Another request for the same worklet should trigger creation of a new + // worklet, even though the old handle for the worklet hasn't been deleted + // yet. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), load_error_helper.Callback(), + handle2)); + EXPECT_TRUE(handle2->GetBidderWorklet()); + EXPECT_NE(handle->GetBidderWorklet(), handle2->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet2 = + auction_process_manager_.WaitForBidderWorklet(); +} + TEST_F(AuctionWorkletManagerTest, SellerWorkletLoadError) { const char kErrorText[] = "Goat teleportation error"; @@ -660,6 +1052,42 @@ auction_process_manager_.WaitForSellerWorklet(); } +TEST_F(AuctionWorkletManagerTest, BidderWorkletCrash) { + // Load a bidder worklet. + FatalLoadErrorHelper load_error_helper; + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), load_error_helper.Callback(), + handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + + // Close the worklet pipe, simulating a worklet crash. + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + bidder_worklet.reset(); + + // Wait for the error, check the parameters. + load_error_helper.WaitForResult(); + EXPECT_THAT(load_error_helper.errors(), + testing::ElementsAre("https://origin.test/script crashed.")); + EXPECT_EQ(AuctionWorkletManager::FatalErrorType::kWorkletCrash, + load_error_helper.fatal_error_type()); + + // Another request for the same worklet should trigger creation of a new + // worklet, even though the old handle for the worklet hasn't been deleted + // yet. + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), load_error_helper.Callback(), + handle2)); + EXPECT_TRUE(handle2->GetBidderWorklet()); + EXPECT_NE(handle->GetBidderWorklet(), handle2->GetBidderWorklet()); + std::unique_ptr<MockBidderWorklet> bidder_worklet2 = + auction_process_manager_.WaitForBidderWorklet(); +} + TEST_F(AuctionWorkletManagerTest, SellerWorkletCrash) { // Load a seller worklet. FatalLoadErrorHelper load_error_helper; @@ -678,7 +1106,7 @@ // Wait for the error, check the parameters. load_error_helper.WaitForResult(); EXPECT_THAT(load_error_helper.errors(), - testing::ElementsAre("https://seller.test/script crashed.")); + testing::ElementsAre("https://origin.test/script crashed.")); EXPECT_EQ(AuctionWorkletManager::FatalErrorType::kWorkletCrash, load_error_helper.fatal_error_type()); @@ -703,6 +1131,35 @@ } // Test reentrant deletion of a WorkletHandle on error. +TEST_F(AuctionWorkletManagerTest, BidderWorkletDeleteOnError) { + const char kErrorText[] = "Goat teleporation error"; + + // Load a bidder worklet. + base::RunLoop run_loop; + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), + base::BindLambdaForTesting( + [&](AuctionWorkletManager::FatalErrorType fatal_error_type, + const std::vector<std::string>& errors) { + handle.reset(); + run_loop.Quit(); + }), + handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + + // Return a load error. + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + bidder_worklet->ClosePipe(kErrorText); + + run_loop.Run(); + // The process should have been deleted, and there should be no crashes. + EXPECT_EQ(0u, auction_process_manager_.GetBidderProcessCountForTesting()); +} + +// Test reentrant deletion of a WorkletHandle on error. TEST_F(AuctionWorkletManagerTest, SellerWorkletDeleteOnError) { const char kErrorText[] = "Goat teleporation error"; @@ -731,6 +1188,67 @@ EXPECT_EQ(0u, auction_process_manager_.GetSellerProcessCountForTesting()); } +// Minimal test that bidder worklets' AuctionURLLoaderFactoryProxies are +// correctly configured. +TEST_F(AuctionWorkletManagerTest, BidderWorkletUrlRequestProtection) { + std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle; + ASSERT_TRUE(auction_worklet_manager_.RequestBidderWorklet( + kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl, + NeverInvokedWorkletAvailableCallback(), NeverInvokedFatalErrorCallback(), + handle)); + EXPECT_TRUE(handle->GetBidderWorklet()); + + std::unique_ptr<MockBidderWorklet> bidder_worklet = + auction_process_manager_.WaitForBidderWorklet(); + + const struct { + GURL url; + const char* mime_type; + } kAllowedUrls[] = { + {kDecisionLogicUrl, "application/javascript"}, + {kWasmUrl, "application/wasm"}, + {GURL("https://origin.test/" + "trusted_signals?hostname=top.window.origin.test&render_urls=not_" + "validated"), + "application/json"}, + }; + + for (size_t i = 0; i < base::size(kAllowedUrls); ++i) { + network::ResourceRequest request; + request.url = kAllowedUrls[i].url; + request.headers.SetHeader(net::HttpRequestHeaders::kAccept, + kAllowedUrls[i].mime_type); + mojo::PendingRemote<network::mojom::URLLoader> receiver; + mojo::PendingReceiver<network::mojom::URLLoaderClient> client; + bidder_worklet->url_loader_factory()->CreateLoaderAndStart( + receiver.InitWithNewPipeAndPassReceiver(), 0 /*request_id=*/, + /*options=*/0, request, client.InitWithNewPipeAndPassRemote(), + net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); + bidder_worklet->url_loader_factory().FlushForTesting(); + EXPECT_TRUE(bidder_worklet->url_loader_factory().is_connected()); + ASSERT_EQ(i + 1, url_loader_factory_.pending_requests()->size()); + EXPECT_EQ(kAllowedUrls[i].url, + (*url_loader_factory_.pending_requests())[i].request.url); + } + + // Other URLs should be rejected. + network::ResourceRequest request; + request.url = GURL("https://origin.test/"); + request.headers.SetHeader(net::HttpRequestHeaders::kAccept, + kAllowedUrls[0].mime_type); + mojo::PendingRemote<network::mojom::URLLoader> receiver; + mojo::PendingReceiver<network::mojom::URLLoaderClient> client; + bidder_worklet->url_loader_factory()->CreateLoaderAndStart( + receiver.InitWithNewPipeAndPassReceiver(), /*request_id=*/0, + /*options=*/0, request, client.InitWithNewPipeAndPassRemote(), + net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); + bidder_worklet->url_loader_factory().FlushForTesting(); + EXPECT_FALSE(bidder_worklet->url_loader_factory().is_connected()); + EXPECT_EQ(base::size(kAllowedUrls), + url_loader_factory_.pending_requests()->size()); + EXPECT_EQ("Unexpected request", TakeBadMessage()); +} + // Minimal test that seller worklets' AuctionURLLoaderFactoryProxies are // correctly configured. TEST_F(AuctionWorkletManagerTest, SellerWorkletUrlRequestProtection) { @@ -749,7 +1267,7 @@ const char* mime_type; } kAllowedUrls[] = { {kDecisionLogicUrl, "application/javascript"}, - {GURL("https://seller.test/" + {GURL("https://origin.test/" "trusted_signals?hostname=top.window.origin.test&render_urls=not_" "validated"), "application/json"}, @@ -775,7 +1293,7 @@ // Other URLs should be rejected. network::ResourceRequest request; - request.url = GURL("https://seller.test/"); + request.url = GURL("https://origin.test/"); request.headers.SetHeader(net::HttpRequestHeaders::kAccept, kAllowedUrls[0].mime_type); mojo::PendingRemote<network::mojom::URLLoader> receiver; @@ -786,8 +1304,10 @@ net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS)); seller_worklet->url_loader_factory().FlushForTesting(); EXPECT_FALSE(seller_worklet->url_loader_factory().is_connected()); - EXPECT_EQ(2u, url_loader_factory_.pending_requests()->size()); + EXPECT_EQ(base::size(kAllowedUrls), + url_loader_factory_.pending_requests()->size()); EXPECT_EQ("Unexpected request", TakeBadMessage()); } -} // namespace content \ No newline at end of file +} // namespace +} // namespace content
diff --git a/content/browser/interest_group/interest_group_browsertest.cc b/content/browser/interest_group/interest_group_browsertest.cc index 4c48c32..e239b6a 100644 --- a/content/browser/interest_group/interest_group_browsertest.cc +++ b/content/browser/interest_group/interest_group_browsertest.cc
@@ -708,10 +708,23 @@ static_cast<RenderFrameHostImpl*>(adapter.render_frame_host()) ->GetPage() .fenced_frame_urls_map(); - absl::optional<FencedFrameURLMapping::PendingAdComponentsMap> ignored; fenced_frame_urls_map.ConvertFencedFrameURNToURL(urn_url, observer); } + absl::optional<GURL> ConvertFencedFrameURNToURLInJS( + const GURL& urn_url, + const absl::optional<ToRenderFrameHost> execution_target = + absl::nullopt) { + ToRenderFrameHost adapter(execution_target ? *execution_target : shell()); + EvalJsResult result = EvalJs(adapter, JsReplace(R"( + navigator.deprecatedURNToURL($1) + )", + urn_url)); + if (!result.error.empty() || result.value.is_none()) + return absl::nullopt; + return GURL(result.ExtractString()); + } + WebContentsImpl* web_contents() const { return static_cast<WebContentsImpl*>(shell()->web_contents()); } @@ -3630,8 +3643,10 @@ TestFencedFrameURLMappingResultObserver observer; ConvertFencedFrameURNToURL(*maybe_url, &observer); EXPECT_TRUE(observer.mapped_url()); + absl::optional<GURL> decoded_URL = observer.mapped_url(); + EXPECT_EQ(decoded_URL, ConvertFencedFrameURNToURLInJS(*maybe_url)); NavigateIframeAndCheckURL(web_contents(), *maybe_url, - *observer.mapped_url()); + decoded_URL.value_or(GURL())); return *observer.mapped_url(); } return absl::nullopt; @@ -4687,6 +4702,12 @@ } } +// navigator.deprecatedURNToURL returns null for an invalid URN. +IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest, InvalidURN) { + GURL invalid_urn("urn:uuid:c36973b5-e5d9-de59-e4c4-364f137b3c7a"); + EXPECT_EQ(absl::nullopt, ConvertFencedFrameURNToURLInJS(invalid_urn)); +} + } // namespace } // namespace content
diff --git a/content/browser/renderer_host/input/scroll_latency_browsertest.cc b/content/browser/renderer_host/input/scroll_latency_browsertest.cc index f3117e12..9cb2920 100644 --- a/content/browser/renderer_host/input/scroll_latency_browsertest.cc +++ b/content/browser/renderer_host/input/scroll_latency_browsertest.cc
@@ -210,7 +210,7 @@ }; // Disabled due to flakiness https://crbug.com/1163246. -#if defined(OS_LINUX) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) #define MAYBE_MultipleWheelScroll DISABLED_MultipleWheelScroll #else #define MAYBE_MultipleWheelScroll MultipleWheelScroll
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc index e532add2..b65817c0 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -2414,9 +2414,6 @@ // At this point we know an unrelated site instance must be returned. First // check if the candidate matches. if (candidate_instance && - IsSiteInstanceCompatibleWithWebExposedIsolation( - candidate_instance, - descriptor.dest_url_info.web_exposed_isolation_info) && !current_instance->IsRelatedSiteInstance(candidate_instance) && candidate_instance->DoesSiteInfoForURLMatch(descriptor.dest_url_info)) { return candidate_instance;
diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc index 9a113137..4f5b3898 100644 --- a/content/browser/site_info.cc +++ b/content/browser/site_info.cc
@@ -308,9 +308,23 @@ bool does_site_request_dedicated_process_for_coop = url_info.requests_coop_isolation(); + // Note: Well-formed UrlInfos can arrive here with null + // WebExposedIsolationInfo. One example is, going through the process model + // prior to having received response headers that determine the final + // WebExposedIsolationInfo, and creating a new speculative SiteInstance. In + // these cases we consider the SiteInfo to be non-isolated. + // + // Sometimes SiteInfos are built from UrlInfos for the purpose of using + // SiteInfo comparisons. Sometimes we only want to compare some attributes and + // do not care about WebExposedIsolationInfo. These cases should not rely on + // the default WebExposedIsolationInfo value. Callers should specify why it is + // appropriate to disregard WebExposedIsolationInfo and override it manually + // to what they expect the other value to be. return SiteInfo(site_url, lock_url, requires_origin_keyed_process, storage_partition_config.value(), - url_info.web_exposed_isolation_info, false /* is_guest */, + url_info.web_exposed_isolation_info.value_or( + WebExposedIsolationInfo::CreateNonIsolated()), + false /* is_guest */, does_site_request_dedicated_process_for_coop, is_jitless, url_info.is_pdf); } @@ -321,22 +335,20 @@ return Create(isolation_context, UrlInfo::CreateForTesting(url)); } -SiteInfo::SiteInfo( - const GURL& site_url, - const GURL& process_lock_url, - bool requires_origin_keyed_process, - const StoragePartitionConfig storage_partition_config, - const absl::optional<WebExposedIsolationInfo>& web_exposed_isolation_info, - bool is_guest, - bool does_site_request_dedicated_process_for_coop, - bool is_jit_disabled, - bool is_pdf) +SiteInfo::SiteInfo(const GURL& site_url, + const GURL& process_lock_url, + bool requires_origin_keyed_process, + const StoragePartitionConfig storage_partition_config, + const WebExposedIsolationInfo& web_exposed_isolation_info, + bool is_guest, + bool does_site_request_dedicated_process_for_coop, + bool is_jit_disabled, + bool is_pdf) : site_url_(site_url), process_lock_url_(process_lock_url), requires_origin_keyed_process_(requires_origin_keyed_process), storage_partition_config_(storage_partition_config), - web_exposed_isolation_info_(web_exposed_isolation_info.value_or( - WebExposedIsolationInfo::CreateNonIsolated())), + web_exposed_isolation_info_(web_exposed_isolation_info), is_guest_(is_guest), does_site_request_dedicated_process_for_coop_( does_site_request_dedicated_process_for_coop),
diff --git a/content/browser/site_info.h b/content/browser/site_info.h index 00ce015..02a2ae52 100644 --- a/content/browser/site_info.h +++ b/content/browser/site_info.h
@@ -112,16 +112,15 @@ // SiteInfos, to help ensure all creation sites are updated accordingly when // new values are added. The private function MakeTie() should be updated // accordingly. - SiteInfo( - const GURL& site_url, - const GURL& process_lock_url, - bool requires_origin_keyed_process, - const StoragePartitionConfig storage_partition_config, - const absl::optional<WebExposedIsolationInfo>& web_exposed_isolation_info, - bool is_guest, - bool does_site_request_dedicated_process_for_coop, - bool is_jit_disabled, - bool is_pdf); + SiteInfo(const GURL& site_url, + const GURL& process_lock_url, + bool requires_origin_keyed_process, + const StoragePartitionConfig storage_partition_config, + const WebExposedIsolationInfo& web_exposed_isolation_info, + bool is_guest, + bool does_site_request_dedicated_process_for_coop, + bool is_jit_disabled, + bool is_pdf); SiteInfo() = delete; SiteInfo(const SiteInfo& rhs); ~SiteInfo();
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc index bf46068..e1713fe 100644 --- a/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc
@@ -534,10 +534,19 @@ DCHECK(!has_site_); if (!browsing_instance_->HasDefaultSiteInstance()) { - // TODO(http://crbug.com/1243449): Do we need to override the - // WebExposedIsolationInfo here or should we verify that they match? + // We want to set a SiteInfo in this SiteInstance, from information in a + // UrlInfo. The WebExposedIsolationInfo must be compatible for this function + // to not violate WebExposedIsolationInfo isolation invariant within a + // BrowsingInstance. + DCHECK(WebExposedIsolationInfo::AreCompatible( + url_info.web_exposed_isolation_info, GetWebExposedIsolationInfo())); + + // If |url_info| has a null WebExposedIsolationInfo, it is compatible with + // any isolation state. We reuse the isolation state of the browsing + // instance for the SiteInfo, to preserve the invariant. UrlInfo updated_url_info = url_info; updated_url_info.web_exposed_isolation_info = GetWebExposedIsolationInfo(); + const SiteInfo site_info = SiteInfo::Create(GetIsolationContext(), updated_url_info); if (CanBePlacedInDefaultSiteInstance(GetIsolationContext(), @@ -592,11 +601,19 @@ url_info, /* allow_default_instance */ true); } - // Disregard the passed in WebExposedIsolationInfo, see header file for - // details. + // Verify that the passed in WebExposedIsolationInfo is compatible with the + // internal state. If they don't, the semantics of the function wouldn't make + // sense. + DCHECK(WebExposedIsolationInfo::AreCompatible( + url_info.web_exposed_isolation_info, GetWebExposedIsolationInfo())); + + // If the WebExposedIsolationInfo matched, we can safely override url_info + // with SiteInstance's value. This covers the case where UrlInfo has an empty + // WebExposedIsolationInfo and is matchable with any isolation state. + // Reusing the SiteInstance's value is what callers would most likely expect + // since they're deriving a SiteInfo from this SiteInstance. UrlInfo overridden_url_info = url_info; overridden_url_info.web_exposed_isolation_info = GetWebExposedIsolationInfo(); - return SiteInfo::Create(GetIsolationContext(), overridden_url_info); } @@ -1065,12 +1082,21 @@ } bool SiteInstanceImpl::DoesSiteInfoForURLMatch(const UrlInfo& url_info) { - // TODO(http://crbug.com/1243449): Update callers to pass in COOP/COEP info - // into this method. The code is currently safe because the caller checks to - // make sure the COOP/COEP info matches on this object before calling this - // method. + // We want to compare this SiteInstance's SiteInfo to the SiteInfo that would + // be generated by the passed in UrlInfo. For them to match, the + // WebExposedIsolationInfo must be compatible. + if (!WebExposedIsolationInfo::AreCompatible( + url_info.web_exposed_isolation_info, GetWebExposedIsolationInfo())) { + return false; + } + + // If the passed in UrlInfo has a null WebExposedIsolationInfo, meaning that + // it is compatible with any isolation state, we reuse the isolation state of + // this SiteInstance's SiteInfo so the member comparison of SiteInfos will + // match. UrlInfo updated_url_info = url_info; - updated_url_info.web_exposed_isolation_info = GetWebExposedIsolationInfo(); + updated_url_info.web_exposed_isolation_info = + site_info_.web_exposed_isolation_info(); auto site_info = SiteInfo::Create(GetIsolationContext(), updated_url_info); if (kCreateForURLAllowsDefaultSiteInstance &&
diff --git a/content/browser/site_instance_impl.h b/content/browser/site_instance_impl.h index afdf1d4..f899e59 100644 --- a/content/browser/site_instance_impl.h +++ b/content/browser/site_instance_impl.h
@@ -282,11 +282,10 @@ // For guest SiteInstances, `site_info_` is returned because guests are not // allowed to derive new guest SiteInfos. All guest navigations must stay in // the same SiteInstance with the same SiteInfo. - // TODO(https://crbug.com/1243449): This function has become ambiguous with - // the inclusion of WebExposedIsolationInfo into UrlInfo, since the function - // overrides the value of WebExposedIsolationInfo in UrlInfo with that of the - // SiteInstance. It should be refactored and/or renamed to make its behavior - // more obvious. + // + // Note: Since we're deriving the state of the SiteInfo based on both UrlInfo + // and SiteInstance, we verify internally that their WebExposedIsolationInfos + // are compatible. SiteInfo DeriveSiteInfo(const UrlInfo& url_info, bool is_related = false); // Helper function that returns the storage partition domain for this
diff --git a/content/browser/url_info.cc b/content/browser/url_info.cc index 95e560f..4fc8b4e 100644 --- a/content/browser/url_info.cc +++ b/content/browser/url_info.cc
@@ -6,11 +6,9 @@ namespace content { -UrlInfo::UrlInfo(const UrlInfo& other) = default; +UrlInfo::UrlInfo() = default; -UrlInfo::UrlInfo() - : web_exposed_isolation_info(WebExposedIsolationInfo::CreateNonIsolated()) { -} +UrlInfo::UrlInfo(const UrlInfo& other) = default; UrlInfo::UrlInfo(const UrlInfoInit& init) : url(init.url_), @@ -43,10 +41,7 @@ UrlInfoInit::UrlInfoInit(UrlInfoInit&) = default; UrlInfoInit::UrlInfoInit(const GURL& url) - : url_(url), - origin_(url::Origin::Create(url)), - web_exposed_isolation_info_( - WebExposedIsolationInfo::CreateNonIsolated()) {} + : url_(url), origin_(url::Origin::Create(url)) {} UrlInfoInit::UrlInfoInit(const UrlInfo& base) : url_(base.url),
diff --git a/content/public/renderer/chrome_object_extensions_utils.h b/content/public/renderer/chrome_object_extensions_utils.h index 3db44b62..3667a561 100644 --- a/content/public/renderer/chrome_object_extensions_utils.h +++ b/content/public/renderer/chrome_object_extensions_utils.h
@@ -16,7 +16,6 @@ namespace content { -// Get or create a "chrome" object in the global object. CONTENT_EXPORT v8::Local<v8::Object> GetOrCreateChromeObject( v8::Isolate* isolate, v8::Local<v8::Context> context);
diff --git a/content/renderer/web_ui_extension.cc b/content/renderer/web_ui_extension.cc index 61db4a5..fb89c09f 100644 --- a/content/renderer/web_ui_extension.cc +++ b/content/renderer/web_ui_extension.cc
@@ -57,35 +57,14 @@ return true; } -// Get or create a `child_name` object in the `parent` object. -v8::Local<v8::Object> GetOrCreateChildObject(v8::Local<v8::Object> parent, - const std::string& child_name, - v8::Isolate* isolate, - v8::Local<v8::Context> context) { - v8::Local<v8::Object> child; - v8::Local<v8::Value> child_value; - if (!parent->Get(context, gin::StringToV8(isolate, child_name)) - .ToLocal(&child_value) || - !child_value->IsObject()) { - child = v8::Object::New(isolate); - parent->Set(context, gin::StringToSymbol(isolate, child_name), child) - .Check(); - } else { - child = v8::Local<v8::Object>::Cast(child_value); - } - return child; -} - } // namespace -// Exposes three methods: +// Exposes two methods: // - chrome.send: Used to send messages to the browser. Requires the message // name as the first argument and can have an optional second argument that // should be an array. // - chrome.getVariableValue: Returns value for the input variable name if such // a value was set by the browser. Else will return an empty string. -// - chrome.timeTicks.nowInMicroseconds: Returns base::TimeTicks::Now() in -// microseconds. Used for performance measuring. void WebUIExtension::Install(blink::WebLocalFrame* frame) { v8::Isolate* isolate = blink::MainThreadIsolate(); v8::HandleScope handle_scope(isolate); @@ -110,16 +89,6 @@ ->GetFunction(context) .ToLocalChecked()) .Check(); - - v8::Local<v8::Object> timeTicks = - GetOrCreateChildObject(chrome, "timeTicks", isolate, context); - timeTicks - ->Set(context, gin::StringToSymbol(isolate, "nowInMicroseconds"), - gin::CreateFunctionTemplate( - isolate, base::BindRepeating(&base::TimeTicks::Now)) - ->GetFunction(context) - .ToLocalChecked()) - .Check(); } // static
diff --git a/content/renderer/web_ui_extension.h b/content/renderer/web_ui_extension.h index 9393a21..c318d472 100644 --- a/content/renderer/web_ui_extension.h +++ b/content/renderer/web_ui_extension.h
@@ -7,12 +7,6 @@ #include <string> -#include "gin/converter.h" - -namespace base { -class TimeTicks; -} - namespace blink { class WebLocalFrame; }
diff --git a/content/test/data/fenced_frames/viewport.html b/content/test/data/fenced_frames/viewport.html new file mode 100644 index 0000000..6a5fc319 --- /dev/null +++ b/content/test/data/fenced_frames/viewport.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> + <meta name="viewport" content="width=device-width"> + <style> + fencedframe { + width: 314px; + height: 271px; + } + </style> +</head> +<body> + <fencedframe src="viewport_child.html"></fencedframe> +</body> +</html>
diff --git a/content/test/data/fenced_frames/viewport_child.html b/content/test/data/fenced_frames/viewport_child.html new file mode 100644 index 0000000..c226d04 --- /dev/null +++ b/content/test/data/fenced_frames/viewport_child.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + <head> + <!-- Should be ignored inside fenced-frame --> + <meta name="viewport" content="width=2000,minimum-scale=2"> + <style type="text/css"> + html { + width: 100%; + } + div { + width: 100px; + height: 100px; + background-color: red; + } + </style> + </head> + <body> + <div>100x100</div> + </body> +</html>
diff --git a/gin/converter.cc b/gin/converter.cc index 12d12b87..f869522 100644 --- a/gin/converter.cc +++ b/gin/converter.cc
@@ -7,7 +7,6 @@ #include <stdint.h> #include "base/strings/string_util.h" -#include "base/time/time.h" #include "v8/include/v8-array-buffer.h" #include "v8/include/v8-external.h" #include "v8/include/v8-function.h" @@ -18,6 +17,7 @@ #include "v8/include/v8-value.h" using v8::ArrayBuffer; +using v8::Boolean; using v8::External; using v8::Function; using v8::Int32; @@ -48,7 +48,7 @@ namespace gin { Local<Value> Converter<bool>::ToV8(Isolate* isolate, bool val) { - return v8::Boolean::New(isolate, val).As<Value>(); + return Boolean::New(isolate, val).As<Value>(); } bool Converter<bool>::FromV8(Isolate* isolate, Local<Value> val, bool* out) { @@ -182,12 +182,6 @@ return true; } -v8::Local<v8::Value> Converter<base::TimeTicks>::ToV8(v8::Isolate* isolate, - base::TimeTicks val) { - return v8::BigInt::New(isolate, val.since_origin().InMicroseconds()) - .As<v8::Value>(); -} - Local<Value> Converter<Local<Function>>::ToV8(Isolate* isolate, Local<Function> val) { return val.As<Value>();
diff --git a/gin/converter.h b/gin/converter.h index 7a6392f..3621dae 100644 --- a/gin/converter.h +++ b/gin/converter.h
@@ -20,10 +20,6 @@ #include "v8/include/v8-forward.h" #include "v8/include/v8-isolate.h" -namespace base { -class TimeTicks; -} - namespace gin { template<typename KeyType> @@ -136,14 +132,6 @@ std::u16string* out); }; -// Converter for C++ TimeTicks to Javascript BigInt (unit: microseconds). -// TimeTicks can't be converted using the existing Converter<int64_t> because -// the target type will be Number and will lose precision. -template <> -struct GIN_EXPORT Converter<base::TimeTicks> { - static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, base::TimeTicks val); -}; - template <> struct GIN_EXPORT Converter<v8::Local<v8::Function>> { static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
diff --git a/ios/chrome/browser/browser_state/browser_state_info_cache.cc b/ios/chrome/browser/browser_state/browser_state_info_cache.cc index 8ddf96f6..00219ea 100644 --- a/ios/chrome/browser/browser_state/browser_state_info_cache.cc +++ b/ios/chrome/browser/browser_state/browser_state_info_cache.cc
@@ -32,13 +32,10 @@ const base::FilePath& user_data_dir) : prefs_(prefs), user_data_dir_(user_data_dir) { // Populate the cache - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kBrowserStateInfoCache); - base::DictionaryValue* cache = update.Get(); - for (base::DictionaryValue::Iterator it(*cache); !it.IsAtEnd(); - it.Advance()) { - base::DictionaryValue* info = nullptr; - cache->GetDictionaryWithoutPathExpansion(it.key(), &info); - AddBrowserStateCacheKey(it.key()); + DictionaryPrefUpdate update(prefs_, prefs::kBrowserStateInfoCache); + base::Value* cache = update.Get(); + for (const auto it : cache->DictItems()) { + AddBrowserStateCacheKey(it.first); } } @@ -49,13 +46,13 @@ const std::string& gaia_id, const std::u16string& user_name) { std::string key = CacheKeyFromBrowserStatePath(browser_state_path); - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kBrowserStateInfoCache); - base::DictionaryValue* cache = update.Get(); + DictionaryPrefUpdate update(prefs_, prefs::kBrowserStateInfoCache); + base::Value* cache = update.Get(); - std::unique_ptr<base::DictionaryValue> info(new base::DictionaryValue); - info->SetString(kGAIAIdKey, gaia_id); - info->SetString(kUserNameKey, user_name); - cache->SetWithoutPathExpansion(key, std::move(info)); + base::Value info(base::Value::Type::DICTIONARY); + info.SetStringKey(kGAIAIdKey, gaia_id); + info.SetStringKey(kUserNameKey, user_name); + cache->SetKey(key, std::move(info)); AddBrowserStateCacheKey(key); for (auto& observer : observer_list_) @@ -80,8 +77,8 @@ NOTREACHED(); return; } - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kBrowserStateInfoCache); - base::DictionaryValue* cache = update.Get(); + DictionaryPrefUpdate update(prefs_, prefs::kBrowserStateInfoCache); + base::Value* cache = update.Get(); std::string key = CacheKeyFromBrowserStatePath(browser_state_path); cache->RemoveKey(key); sorted_keys_.erase(std::find(sorted_keys_.begin(), sorted_keys_.end(), key)); @@ -185,8 +182,8 @@ void BrowserStateInfoCache::SetInfoForBrowserStateAtIndex(size_t index, base::Value info) { - DictionaryPrefUpdateDeprecated update(prefs_, prefs::kBrowserStateInfoCache); - base::DictionaryValue* cache = update.Get(); + DictionaryPrefUpdate update(prefs_, prefs::kBrowserStateInfoCache); + base::Value* cache = update.Get(); cache->SetKey(sorted_keys_[index], std::move(info)); }
diff --git a/ios/chrome/browser/providers/BUILD.gn b/ios/chrome/browser/providers/BUILD.gn index 214ff42c..d3faee97 100644 --- a/ios/chrome/browser/providers/BUILD.gn +++ b/ios/chrome/browser/providers/BUILD.gn
@@ -6,18 +6,16 @@ sources = [ "chromium_browser_provider.h", "chromium_browser_provider.mm", - "chromium_logo_controller.h", - "chromium_logo_controller.mm", ] deps = [ "//base", - "//ios/chrome/browser/ui/ntp:logo", "//ios/chrome/browser/voice:voice_search_language", "//ios/chrome/browser/web:feature_flags", "//ios/public/provider/chrome/browser", "//ios/public/provider/chrome/browser/discover_feed", "//ios/public/provider/chrome/browser/follow", "//ios/public/provider/chrome/browser/signin", + "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api", "//ios/public/provider/chrome/browser/user_feedback", "//ui/base", ] @@ -52,6 +50,7 @@ "//ios/chrome/browser/providers/signin:chromium_signin_error", "//ios/chrome/browser/providers/signin:chromium_signin_resources", "//ios/chrome/browser/providers/text_zoom:chromium_text_zoom", + "//ios/chrome/browser/providers/ui_utils:chromium_ui_utils", "//ios/chrome/browser/providers/url_rewriters:chromium_url_rewriters", "//ios/chrome/browser/providers/voice_search:chromium_voice_search",
diff --git a/ios/chrome/browser/providers/chromium_browser_provider.mm b/ios/chrome/browser/providers/chromium_browser_provider.mm index aa90542..4a67abd9 100644 --- a/ios/chrome/browser/providers/chromium_browser_provider.mm +++ b/ios/chrome/browser/providers/chromium_browser_provider.mm
@@ -6,10 +6,10 @@ #include <memory> -#import "ios/chrome/browser/providers/chromium_logo_controller.h" #import "ios/public/provider/chrome/browser/discover_feed/discover_feed_provider.h" #import "ios/public/provider/chrome/browser/follow/follow_provider.h" #include "ios/public/provider/chrome/browser/signin/chrome_identity_service.h" +#import "ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h" #include "ios/public/provider/chrome/browser/user_feedback/user_feedback_provider.h" #if !defined(__has_feature) || !__has_feature(objc_arc) @@ -24,13 +24,13 @@ ChromiumBrowserProvider::~ChromiumBrowserProvider() {} UITextField* ChromiumBrowserProvider::CreateStyledTextField() const { - return [[UITextField alloc] initWithFrame:CGRectZero]; + return provider::CreateStyledTextField(); } id<LogoVendor> ChromiumBrowserProvider::CreateLogoVendor( Browser* browser, web::WebState* web_state) const { - return [[ChromiumLogoController alloc] init]; + return provider::CreateLogoVendor(browser, web_state); } UserFeedbackProvider* ChromiumBrowserProvider::GetUserFeedbackProvider() const {
diff --git a/ios/chrome/browser/providers/chromium_logo_controller.h b/ios/chrome/browser/providers/chromium_logo_controller.h deleted file mode 100644 index eeec2c6..0000000 --- a/ios/chrome/browser/providers/chromium_logo_controller.h +++ /dev/null
@@ -1,15 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef IOS_CHROME_BROWSER_PROVIDERS_CHROMIUM_LOGO_CONTROLLER_H_ -#define IOS_CHROME_BROWSER_PROVIDERS_CHROMIUM_LOGO_CONTROLLER_H_ - -#import <Foundation/Foundation.h> - -#import "ios/chrome/browser/ui/ntp/logo_vendor.h" - -@interface ChromiumLogoController : NSObject<LogoVendor> -@end - -#endif // IOS_CHROME_BROWSER_PROVIDERS_CHROMIUM_LOGO_CONTROLLER_H_
diff --git a/ios/chrome/browser/providers/ui_utils/BUILD.gn b/ios/chrome/browser/providers/ui_utils/BUILD.gn new file mode 100644 index 0000000..721e8f0 --- /dev/null +++ b/ios/chrome/browser/providers/ui_utils/BUILD.gn
@@ -0,0 +1,22 @@ +# Copyright 2022 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("chromium_ui_utils") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ "chromium_ui_utils.mm" ] + deps = [ + ":chromium_logo_controller", + "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api", + ] + frameworks = [ "CoreGraphics.framework" ] +} + +source_set("chromium_logo_controller") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ + "chromium_logo_controller.h", + "chromium_logo_controller.mm", + ] + deps = [ "//ios/chrome/browser/ui/ntp:logo" ] +}
diff --git a/ios/chrome/browser/providers/ui_utils/chromium_logo_controller.h b/ios/chrome/browser/providers/ui_utils/chromium_logo_controller.h new file mode 100644 index 0000000..225743b1 --- /dev/null +++ b/ios/chrome/browser/providers/ui_utils/chromium_logo_controller.h
@@ -0,0 +1,15 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_BROWSER_PROVIDERS_UI_UTILS_CHROMIUM_LOGO_CONTROLLER_H_ +#define IOS_CHROME_BROWSER_PROVIDERS_UI_UTILS_CHROMIUM_LOGO_CONTROLLER_H_ + +#import <Foundation/Foundation.h> + +#import "ios/chrome/browser/ui/ntp/logo_vendor.h" + +@interface ChromiumLogoController : NSObject <LogoVendor> +@end + +#endif // IOS_CHROME_BROWSER_PROVIDERS_UI_UTILS_CHROMIUM_LOGO_CONTROLLER_H_
diff --git a/ios/chrome/browser/providers/chromium_logo_controller.mm b/ios/chrome/browser/providers/ui_utils/chromium_logo_controller.mm similarity index 90% rename from ios/chrome/browser/providers/chromium_logo_controller.mm rename to ios/chrome/browser/providers/ui_utils/chromium_logo_controller.mm index 29c40d2d..b3f12fa 100644 --- a/ios/chrome/browser/providers/chromium_logo_controller.mm +++ b/ios/chrome/browser/providers/ui_utils/chromium_logo_controller.mm
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "ios/chrome/browser/providers/chromium_logo_controller.h" +#import "ios/chrome/browser/providers/ui_utils/chromium_logo_controller.h" #import <UIKit/UIKit.h>
diff --git a/ios/chrome/browser/providers/ui_utils/chromium_ui_utils.mm b/ios/chrome/browser/providers/ui_utils/chromium_ui_utils.mm new file mode 100644 index 0000000..13786a3 --- /dev/null +++ b/ios/chrome/browser/providers/ui_utils/chromium_ui_utils.mm
@@ -0,0 +1,38 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h" + +#import <CoreGraphics/CoreGraphics.h> + +#import "ios/chrome/browser/providers/ui_utils/chromium_logo_controller.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +namespace provider { + +void InitializeUI() { + // Chromium does not have global UI state. +} + +UITextField* CreateStyledTextField() { + // Chromium uses default style for UITextField. + return [[UITextField alloc] initWithFrame:CGRectZero]; +} + +id<LogoVendor> CreateLogoVendor(Browser* browser, web::WebState* web_state) { + return [[ChromiumLogoController alloc] init]; +} + +void HideModalViewStack() { + // Chromium provider does not present modals. +} + +void LogIfModalViewsArePresented() { + // Chromium provider does not present modals. +} + +} // namespace provider
diff --git a/ios/chrome/browser/signin/authentication_service.mm b/ios/chrome/browser/signin/authentication_service.mm index e9c0cc42..70ce8d9 100644 --- a/ios/chrome/browser/signin/authentication_service.mm +++ b/ios/chrome/browser/signin/authentication_service.mm
@@ -437,9 +437,8 @@ if (force_clear_browsing_data || (is_managed && is_first_setup_complete)) { delegate_->ClearBrowsingData(completion); } else if (completion) { - // TODO(crbug.com/1277841): Needs to call completion on the next loop cycle - // to be more consistent with the clear browsing data completion. - completion(); + base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, + base::BindOnce(completion)); } }
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm index a25e1e9..488545f 100644 --- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm +++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -1789,7 +1789,8 @@ // the status bar to mimic this layout. - (void)installFakeStatusBar { // This method is called when the view is loaded and when the thumb strip is - // installed via addAnimatee -> didAnimateViewReveal-> installFakeStatusBar. + // installed via addAnimatee -> didAnimateViewRevealFromState -> + // installFakeStatusBar. // Remove the _fakeStatusBarView if present. [_fakeStatusBarView removeFromSuperview]; @@ -3047,12 +3048,14 @@ } } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { [self.tabStripSnapshot removeFromSuperview]; - self.bottomPosition = (viewRevealState == ViewRevealState::Revealed || - viewRevealState == ViewRevealState::Fullscreen); + self.bottomPosition = (currentViewRevealState == ViewRevealState::Revealed || + currentViewRevealState == ViewRevealState::Fullscreen); - if (viewRevealState == ViewRevealState::Hidden) { + if (currentViewRevealState == ViewRevealState::Hidden) { // Stop disabling fullscreen. if (!_deferEndFullscreenDisabler) { _fullscreenDisabler.reset(); @@ -3088,7 +3091,7 @@ } } } - } else if (viewRevealState == ViewRevealState::Peeked) { + } else if (currentViewRevealState == ViewRevealState::Peeked) { // Close the omnibox after opening the thumb strip [self.omniboxHandler cancelOmniboxEdit]; }
diff --git a/ios/chrome/browser/ui/browser_view/hider/browser_view_hider_view_controller.mm b/ios/chrome/browser/ui/browser_view/hider/browser_view_hider_view_controller.mm index 009ae31..73dfeec0 100644 --- a/ios/chrome/browser/ui/browser_view/hider/browser_view_hider_view_controller.mm +++ b/ios/chrome/browser/ui/browser_view/hider/browser_view_hider_view_controller.mm
@@ -61,7 +61,9 @@ if (sender.state != UIGestureRecognizerStateEnded) { return; } - [self.panGestureHandler setNextState:ViewRevealState::Hidden animated:YES]; + [self.panGestureHandler setNextState:ViewRevealState::Hidden + animated:YES + trigger:ViewRevealTrigger::FakeTab]; } - (void)setPanGestureHandler: @@ -69,9 +71,11 @@ _panGestureHandler = panGestureHandler; [self.view removeGestureRecognizer:self.panGestureRecognizer]; - UIPanGestureRecognizer* panGestureRecognizer = [[UIPanGestureRecognizer alloc] - initWithTarget:panGestureHandler - action:@selector(handlePanGesture:)]; + UIPanGestureRecognizer* panGestureRecognizer = + [[ViewRevealingPanGestureRecognizer alloc] + initWithTarget:panGestureHandler + action:@selector(handlePanGesture:) + trigger:ViewRevealTrigger::FakeTab]; panGestureRecognizer.delegate = panGestureHandler; panGestureRecognizer.maximumNumberOfTouches = 1; [self.view addGestureRecognizer:panGestureRecognizer]; @@ -132,9 +136,11 @@ } } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { - self.view.hidden = viewRevealState != ViewRevealState::Revealed && - viewRevealState != ViewRevealState::Fullscreen; +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { + self.view.hidden = currentViewRevealState != ViewRevealState::Revealed && + currentViewRevealState != ViewRevealState::Fullscreen; } @end
diff --git a/ios/chrome/browser/ui/commands/thumb_strip_commands.h b/ios/chrome/browser/ui/commands/thumb_strip_commands.h index c11124b..cce3b09 100644 --- a/ios/chrome/browser/ui/commands/thumb_strip_commands.h +++ b/ios/chrome/browser/ui/commands/thumb_strip_commands.h
@@ -7,10 +7,11 @@ // Commands for manipulating the state of the thumb strip. @protocol ThumbStripCommands +enum class ViewRevealTrigger; // Asks the thumb strip to close itself. This may happen after some delay if the // thumb strip is already transitioninig. -- (void)closeThumbStrip; +- (void)closeThumbStripWithTrigger:(ViewRevealTrigger)trigger; @end
diff --git a/ios/chrome/browser/ui/gestures/view_revealing_animatee.h b/ios/chrome/browser/ui/gestures/view_revealing_animatee.h index 3126338e..8b57017 100644 --- a/ios/chrome/browser/ui/gestures/view_revealing_animatee.h +++ b/ios/chrome/browser/ui/gestures/view_revealing_animatee.h
@@ -14,10 +14,27 @@ Fullscreen, // The view is fully revealed - under software control only. }; +enum class ViewRevealTrigger { + Unknown, // Unknown, only during tests. + TabStrip, // User is dragging from the tab strip. + TabGrid, // User requested tab grid opening or closing or new tab. + PrimaryToolbar, // User is dragging from the primary toolbar. + FakeTab, // User tapped the fake tab at bottom. + Fullscreen, // Page change caused entering or exiting fullscreen. + UserNavigation, // Triggered by user web page navigation. + WebScroll, // Triggered by user scrolling the web view. + AppBackgrounding, // Triggered by app being backgrounded. + OmniboxFocus, // Triggered by user focus on omnibox. + BackgroundTap, // Triggered by user tap on background. + BackgroundSwipe, // Triggered by user swipping up background. +}; + // Protocol defining an interface to handle animations from the view revealing // pan gesture handler. @protocol ViewRevealingAnimatee <NSObject> +@optional + // Called before a view reveal animation. Takes as argument both the state in // which the view revealer is before the animation and the state that the view // revealer will transition to. @@ -30,9 +47,9 @@ // Called inside the completion block of a view reveal animation. Takes as // argument the state in which the view revealer is now. -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState; - -@optional +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger; // Tells the animatee when a web view drag starts and when it ends (at the end // of deceleration).
diff --git a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.h b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.h index f170e31..65f20bd 100644 --- a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.h +++ b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.h
@@ -49,7 +49,9 @@ // Requests the pan handler to transition to |state|. Depending on the // internals, this may not happen immediately. -- (void)setNextState:(ViewRevealState)state animated:(BOOL)animated; +- (void)setNextState:(ViewRevealState)state + animated:(BOOL)animated + trigger:(ViewRevealTrigger)trigger; // Height of the view that will be revealed after the transition to Peeked // state. @@ -72,4 +74,13 @@ @end +@interface ViewRevealingPanGestureRecognizer : UIPanGestureRecognizer + +// Inits a custom |UIPanGestureRecognizer| for the given |trigger|. +- (instancetype)initWithTarget:(id)target + action:(SEL)action + trigger:(ViewRevealTrigger)trigger; + +@end + #endif // IOS_CHROME_BROWSER_UI_GESTURES_VIEW_REVEALING_VERTICAL_PAN_HANDLER_H_
diff --git a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.mm b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.mm index d11a99d..96d9d493 100644 --- a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.mm +++ b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.mm
@@ -8,6 +8,7 @@ #include "base/cxx17_backports.h" #include "base/ios/block_types.h" #include "base/logging.h" +#include "base/mac/foundation_util.h" #import "base/notreached.h" #import "ios/chrome/browser/ui/gestures/layout_switcher.h" #import "ios/chrome/browser/ui/gestures/pan_handler_scroll_view.h" @@ -46,11 +47,34 @@ } // namespace +@interface ViewRevealingPanGestureRecognizer () + +// Trigger for this custom PanGestureRecognizer. +@property(nonatomic, assign) ViewRevealTrigger trigger; + +@end + +@implementation ViewRevealingPanGestureRecognizer + +- (instancetype)initWithTarget:(id)target + action:(SEL)action + trigger:(ViewRevealTrigger)trigger { + if (self = [super initWithTarget:target action:action]) { + _trigger = trigger; + } + return self; +} + +@end + @interface ViewRevealingVerticalPanHandler () // Privately redeclare |currentState| as readwrite. @property(nonatomic, readwrite, assign) ViewRevealState currentState; +// The latest trigger that brought the view to the currentState (or nextState if +// a transition is on). +@property(nonatomic, readwrite, assign) ViewRevealTrigger changeStateTrigger; // The state that the currentState will be set to if the transition animation // completes with its REVERSED property set to NO. @property(nonatomic, assign) ViewRevealState nextState; @@ -123,6 +147,14 @@ self.currentRecognizer = gesture; CGFloat translationY = [gesture translationInView:gesture.view.superview].y; + if ([gesture isKindOfClass:ViewRevealingPanGestureRecognizer.class]) { + self.changeStateTrigger = + (base::mac::ObjCCastStrict<ViewRevealingPanGestureRecognizer>(gesture)) + .trigger; + } else { + self.changeStateTrigger = ViewRevealTrigger::Unknown; + } + if (gesture.state == UIGestureRecognizerStateBegan) { [self panGestureBegan]; } else if (gesture.state == UIGestureRecognizerStateChanged) { @@ -140,10 +172,20 @@ [self.animatees addObject:animatee]; // Make sure the newly added animatee is in the correct state. [UIView performWithoutAnimation:^{ - [animatee willAnimateViewRevealFromState:self.currentState - toState:self.currentState]; - [animatee animateViewReveal:self.currentState]; - [animatee didAnimateViewReveal:self.currentState]; + if ([animatee respondsToSelector:@selector + (willAnimateViewRevealFromState:toState:)]) { + [animatee willAnimateViewRevealFromState:self.currentState + toState:self.currentState]; + } + if ([animatee respondsToSelector:@selector(animateViewReveal:)]) { + [animatee animateViewReveal:self.currentState]; + } + if ([animatee respondsToSelector:@selector + (didAnimateViewRevealFromState:toState:trigger:)]) { + [animatee didAnimateViewRevealFromState:self.currentState + toState:self.currentState + trigger:self.changeStateTrigger]; + } }]; } @@ -153,7 +195,12 @@ _remainingHeight = _revealedHeight - _peekedHeight; } -- (void)setNextState:(ViewRevealState)state animated:(BOOL)animated { +- (void)setNextState:(ViewRevealState)state + animated:(BOOL)animated + trigger:(ViewRevealTrigger)trigger { + // Remember new trigger even if the next state is ignored. + self.changeStateTrigger = trigger; + // Don't change animation if state is already currentState, it creates // confusion. if (self.currentState == state) { @@ -190,8 +237,11 @@ // from the current view reveal state. - (void)willAnimateViewReveal { for (id<ViewRevealingAnimatee> animatee in self.animatees) { - [animatee willAnimateViewRevealFromState:self.currentState - toState:self.nextState]; + if ([animatee respondsToSelector:@selector + (willAnimateViewRevealFromState:toState:)]) { + [animatee willAnimateViewRevealFromState:self.currentState + toState:self.nextState]; + } } } @@ -199,15 +249,23 @@ // reveal state. - (void)animateToNextViewRevealState { for (id<ViewRevealingAnimatee> animatee in self.animatees) { - [animatee animateViewReveal:self.nextState]; + if ([animatee respondsToSelector:@selector(animateViewReveal:)]) { + [animatee animateViewReveal:self.nextState]; + } } } // Called inside the completion block of the current animation. Takes as // argument the state to which the animatees did animate to. -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { +- (void)didAnimateViewRevealFromState:(ViewRevealState)fromViewRevealState + toState:(ViewRevealState)toViewRevealState { for (id<ViewRevealingAnimatee> animatee in self.animatees) { - [animatee didAnimateViewReveal:viewRevealState]; + if ([animatee respondsToSelector:@selector + (didAnimateViewRevealFromState:toState:trigger:)]) { + [animatee didAnimateViewRevealFromState:fromViewRevealState + toState:toViewRevealState + trigger:self.changeStateTrigger]; + } } } @@ -229,6 +287,7 @@ if (self.currentState == self.nextState) { return; } + ViewRevealState startState = self.currentState; [self willAnimateViewReveal]; [self.animator stopAnimation:YES]; @@ -243,7 +302,8 @@ if (!weakSelf.animator.reversed) { weakSelf.currentState = weakSelf.nextState; } - [weakSelf didAnimateViewReveal:weakSelf.currentState]; + [weakSelf didAnimateViewRevealFromState:startState + toState:weakSelf.currentState]; }]; [self.animator pauseAnimation]; [self createLayoutTransitionIfNeeded]; @@ -340,7 +400,9 @@ self.animator.state == UIViewAnimatingStateActive) { return; } - [self setNextState:self.nextState animated:YES]; + [self setNextState:self.nextState + animated:YES + trigger:self.changeStateTrigger]; }); }; [self.layoutSwitcherProvider.layoutSwitcher @@ -713,6 +775,7 @@ UIPanGestureRecognizer* gesture = scrollView.panGestureRecognizer; self.startTransitionY = [gesture translationInView:gesture.view.superview].y; self.currentRecognizer = scrollView.panGestureRecognizer; + self.changeStateTrigger = ViewRevealTrigger::WebScroll; [self panGestureBegan]; self.lastScrollOffset = scrollView.contentOffset; self.deferredScrollEnabled = NO;
diff --git a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler_unittest.mm b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler_unittest.mm index ead97a39..86324b37 100644 --- a/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler_unittest.mm +++ b/ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler_unittest.mm
@@ -31,14 +31,9 @@ } return self; } -- (void)willAnimateViewRevealFromState:(ViewRevealState)currentViewRevealState - toState:(ViewRevealState)nextViewRevealState { -} - (void)animateViewReveal:(ViewRevealState)viewRevealState { self.state = viewRevealState; } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { -} @end // A fake layout switcher provider. @@ -233,33 +228,47 @@ [pan_handler addAnimatee:fake_animatee]; EXPECT_EQ(ViewRevealState::Hidden, fake_animatee.state); - [pan_handler setNextState:ViewRevealState::Revealed animated:NO]; + [pan_handler setNextState:ViewRevealState::Revealed + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Revealed, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Grid, fake_layout_switcher.state); - [pan_handler setNextState:ViewRevealState::Hidden animated:NO]; + [pan_handler setNextState:ViewRevealState::Hidden + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Hidden, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Grid, fake_layout_switcher.state); // Try from hidden to peek to hidden - [pan_handler setNextState:ViewRevealState::Peeked animated:NO]; + [pan_handler setNextState:ViewRevealState::Peeked + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Peeked, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Horizontal, fake_layout_switcher.state); - [pan_handler setNextState:ViewRevealState::Hidden animated:NO]; + [pan_handler setNextState:ViewRevealState::Hidden + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Hidden, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Horizontal, fake_layout_switcher.state); // Now try with going Fullscreen and back to Hidden. - [pan_handler setNextState:ViewRevealState::Revealed animated:NO]; + [pan_handler setNextState:ViewRevealState::Revealed + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Revealed, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Grid, fake_layout_switcher.state); - [pan_handler setNextState:ViewRevealState::Fullscreen animated:NO]; + [pan_handler setNextState:ViewRevealState::Fullscreen + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Fullscreen, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Grid, fake_layout_switcher.state); - [pan_handler setNextState:ViewRevealState::Hidden animated:NO]; + [pan_handler setNextState:ViewRevealState::Hidden + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Hidden, fake_animatee.state); EXPECT_EQ(LayoutSwitcherState::Grid, fake_layout_switcher.state); } @@ -332,13 +341,19 @@ initialState:ViewRevealState::Hidden]; EXPECT_EQ(ViewRevealState::Hidden, pan_handler.currentState); - [pan_handler setNextState:ViewRevealState::Revealed animated:NO]; + [pan_handler setNextState:ViewRevealState::Revealed + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Revealed, pan_handler.currentState); - [pan_handler setNextState:ViewRevealState::Peeked animated:NO]; + [pan_handler setNextState:ViewRevealState::Peeked + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Peeked, pan_handler.currentState); - [pan_handler setNextState:ViewRevealState::Hidden animated:NO]; + [pan_handler setNextState:ViewRevealState::Hidden + animated:NO + trigger:ViewRevealTrigger::Unknown]; EXPECT_EQ(ViewRevealState::Hidden, pan_handler.currentState); }
diff --git a/ios/chrome/browser/ui/main/bvc_container_view_controller.mm b/ios/chrome/browser/ui/main/bvc_container_view_controller.mm index b575ea0..8f3c3279 100644 --- a/ios/chrome/browser/ui/main/bvc_container_view_controller.mm +++ b/ios/chrome/browser/ui/main/bvc_container_view_controller.mm
@@ -200,7 +200,9 @@ } } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { self.solidBackground.hidden = YES; }
diff --git a/ios/chrome/browser/ui/omnibox/BUILD.gn b/ios/chrome/browser/ui/omnibox/BUILD.gn index d8e18da..97976dd 100644 --- a/ios/chrome/browser/ui/omnibox/BUILD.gn +++ b/ios/chrome/browser/ui/omnibox/BUILD.gn
@@ -153,6 +153,7 @@ "//ios/chrome/browser/ui/default_promo", "//ios/chrome/browser/ui/default_promo:utils", "//ios/chrome/browser/ui/fullscreen", + "//ios/chrome/browser/ui/gestures", "//ios/chrome/browser/ui/location_bar:constants", "//ios/chrome/browser/ui/main:default_browser_scene_agent", "//ios/chrome/browser/ui/main:scene_state_header", @@ -238,9 +239,9 @@ deps = [ ":eg_test_support+eg2", "//ios/chrome/app/strings:ios_strings_grit", + "//ios/chrome/browser/ui:feature_flags", "//ios/chrome/browser/ui/content_suggestions:content_suggestions_constant", "//ios/chrome/browser/ui/omnibox/popup:popup_accessibility_identifier_constants", - "//ios/chrome/browser/ui:feature_flags", "//ios/chrome/test/earl_grey:eg_test_support+eg2", "//ios/testing/earl_grey:eg_test_support+eg2", "//ios/third_party/earl_grey2:test_lib",
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_coordinator.mm b/ios/chrome/browser/ui/omnibox/omnibox_coordinator.mm index 4e4f158b..a9ddad1 100644 --- a/ios/chrome/browser/ui/omnibox/omnibox_coordinator.mm +++ b/ios/chrome/browser/ui/omnibox/omnibox_coordinator.mm
@@ -22,6 +22,7 @@ #import "ios/chrome/browser/ui/commands/omnibox_commands.h" #import "ios/chrome/browser/ui/commands/thumb_strip_commands.h" #import "ios/chrome/browser/ui/default_promo/default_browser_promo_non_modal_scheduler.h" +#import "ios/chrome/browser/ui/gestures/view_revealing_animatee.h" #import "ios/chrome/browser/ui/location_bar/location_bar_constants.h" #import "ios/chrome/browser/ui/main/default_browser_scene_agent.h" #import "ios/chrome/browser/ui/main/scene_state_browser_agent.h" @@ -145,7 +146,8 @@ dispatchingForProtocol:@protocol(ThumbStripCommands)]) { id<ThumbStripCommands> thumbStripHandler = HandlerForProtocol( self.browser->GetCommandDispatcher(), ThumbStripCommands); - [thumbStripHandler closeThumbStrip]; + [thumbStripHandler + closeThumbStripWithTrigger:ViewRevealTrigger::OmniboxFocus]; } // In multiwindow context, -becomeFirstRepsonder is not enough to get the
diff --git a/ios/chrome/browser/ui/settings/search_engine_table_view_controller_unittest.mm b/ios/chrome/browser/ui/settings/search_engine_table_view_controller_unittest.mm index f1e54ad..bfc85c1 100644 --- a/ios/chrome/browser/ui/settings/search_engine_table_view_controller_unittest.mm +++ b/ios/chrome/browser/ui/settings/search_engine_table_view_controller_unittest.mm
@@ -48,9 +48,6 @@ ChromeTableViewControllerTest::SetUp(); TestChromeBrowserState::Builder test_cbs_builder; - ASSERT_TRUE(state_dir_.CreateUniqueTempDir()); - test_cbs_builder.SetPath(state_dir_.GetPath()); - test_cbs_builder.AddTestingFactory( ios::TemplateURLServiceFactory::GetInstance(), ios::TemplateURLServiceFactory::GetDefaultFactory()); @@ -63,8 +60,10 @@ test_cbs_builder.AddTestingFactory( IOSChromeFaviconLoaderFactory::GetInstance(), IOSChromeFaviconLoaderFactory::GetDefaultFactory()); + test_cbs_builder.AddTestingFactory( + ios::HistoryServiceFactory::GetInstance(), + ios::HistoryServiceFactory::GetDefaultFactory()); chrome_browser_state_ = test_cbs_builder.Build(); - ASSERT_TRUE(chrome_browser_state_->CreateHistoryService()); DefaultSearchManager::SetFallbackSearchEnginesDisabledForTesting(true); template_url_service_ = ios::TemplateURLServiceFactory::GetForBrowserState( chrome_browser_state_.get()); @@ -210,11 +209,6 @@ base::test::ios::kWaitForUIElementTimeout, condition); } - // A state directory that outlives |task_environment_| is needed because - // CreateHistoryService/CreateBookmarkModel use the directory to host - // databases. See https://crbug.com/546640 for more details. - base::ScopedTempDir state_dir_; - web::WebTaskEnvironment task_environment_; std::unique_ptr<TestChromeBrowserState> chrome_browser_state_; base::HistogramTester histogram_tester_;
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_grid/grid/grid_view_controller.mm b/ios/chrome/browser/ui/tab_switcher/tab_grid/grid/grid_view_controller.mm index d0bf2d4..3b87d88 100644 --- a/ios/chrome/browser/ui/tab_switcher/tab_grid/grid/grid_view_controller.mm +++ b/ios/chrome/browser/ui/tab_switcher/tab_grid/grid/grid_view_controller.mm
@@ -1466,12 +1466,14 @@ } // Handle the tap. - [self.thumbStripHandler closeThumbStrip]; + [self.thumbStripHandler + closeThumbStripWithTrigger:ViewRevealTrigger::BackgroundTap]; } - (void)handleThumbStripBackgroundSwipeUpGesture: (UIGestureRecognizer*)recognizer { - [self.thumbStripHandler closeThumbStrip]; + [self.thumbStripHandler + closeThumbStripWithTrigger:ViewRevealTrigger::BackgroundSwipe]; } @end
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_coordinator.mm b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_coordinator.mm index f1a36d4f..86f554e 100644 --- a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_coordinator.mm +++ b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_coordinator.mm
@@ -323,7 +323,8 @@ self.baseViewController.traitCollection)) { [self.thumbStripCoordinator.panHandler setNextState:ViewRevealState::Revealed - animated:animated]; + animated:animated + trigger:ViewRevealTrigger::TabGrid]; // Don't do any animation in the tab grid. All that animation will be // controlled by the pan handler/-animateViewReveal:. [self.baseViewController contentWillAppearAnimated:NO]; @@ -409,7 +410,8 @@ [self.baseViewController contentWillDisappearAnimated:YES]; [self.thumbStripCoordinator.panHandler setNextState:ViewRevealState::Hidden - animated:YES]; + animated:YES + trigger:ViewRevealTrigger::TabGrid]; } if (completion) { @@ -922,10 +924,14 @@ ViewRevealingVerticalPanHandler* panHandler = self.thumbStripCoordinator.panHandler; if (fullscreen && panHandler.currentState == ViewRevealState::Revealed) { - [panHandler setNextState:ViewRevealState::Fullscreen animated:YES]; + [panHandler setNextState:ViewRevealState::Fullscreen + animated:YES + trigger:ViewRevealTrigger::Fullscreen]; } else if (!fullscreen && panHandler.currentState == ViewRevealState::Fullscreen) { - [panHandler setNextState:ViewRevealState::Revealed animated:YES]; + [panHandler setNextState:ViewRevealState::Revealed + animated:YES + trigger:ViewRevealTrigger::Fullscreen]; } } @@ -1073,7 +1079,9 @@ BOOL isInPeekState = panHandler.currentState == ViewRevealState::Peeked; if ([self isThumbStripEnabled] && isInPeekState && level <= SceneActivationLevelBackground) { - [panHandler setNextState:ViewRevealState::Hidden animated:NO]; + [panHandler setNextState:ViewRevealState::Hidden + animated:NO + trigger:ViewRevealTrigger::AppBackgrounding]; [self dismissPopovers]; } }
diff --git a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm index c5941f5..5d21e2e 100644 --- a/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm +++ b/ios/chrome/browser/ui/tab_switcher/tab_grid/tab_grid_view_controller.mm
@@ -787,10 +787,12 @@ } } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { - [self updateNotSelectedTabCellOpacityForState:viewRevealState]; - self.currentState = viewRevealState; - switch (viewRevealState) { +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { + [self updateNotSelectedTabCellOpacityForState:currentViewRevealState]; + self.currentState = currentViewRevealState; + switch (currentViewRevealState) { case ViewRevealState::Hidden: [self.delegate tabGridViewControllerDidDismiss:self]; break;
diff --git a/ios/chrome/browser/ui/tabs/tab_strip_controller.mm b/ios/chrome/browser/ui/tabs/tab_strip_controller.mm index 0cead97..6f6877bf 100644 --- a/ios/chrome/browser/ui/tabs/tab_strip_controller.mm +++ b/ios/chrome/browser/ui/tabs/tab_strip_controller.mm
@@ -564,9 +564,11 @@ [self.view removeGestureRecognizer:self.panGestureRecognizer]; - UIPanGestureRecognizer* panGestureRecognizer = [[UIPanGestureRecognizer alloc] - initWithTarget:panGestureHandler - action:@selector(handlePanGesture:)]; + UIPanGestureRecognizer* panGestureRecognizer = + [[ViewRevealingPanGestureRecognizer alloc] + initWithTarget:panGestureHandler + action:@selector(handlePanGesture:) + trigger:ViewRevealTrigger::TabStrip]; panGestureRecognizer.delegate = panGestureHandler; panGestureRecognizer.maximumNumberOfTouches = 1; [self.view addGestureRecognizer:panGestureRecognizer]; @@ -1817,17 +1819,16 @@ [self updateViewHidden]; } -- (void)animateViewReveal:(ViewRevealState)nextViewRevealState { - // No-op. -} - -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { - if (viewRevealState == ViewRevealState::Hidden) { +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { + if (currentViewRevealState == ViewRevealState::Hidden) { // Reset the background color to cover up the WKWebView if it is behind // the tab strip. self.view.backgroundColor = BackgroundColor(); } - self.viewHiddenForThumbStrip = viewRevealState != ViewRevealState::Hidden; + self.viewHiddenForThumbStrip = + currentViewRevealState != ViewRevealState::Hidden; [self updateViewHidden]; }
diff --git a/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.h b/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.h index 09d138b..005ba55 100644 --- a/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.h +++ b/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.h
@@ -8,13 +8,14 @@ #import <UIKit/UIKit.h> #import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h" +#import "ios/chrome/browser/ui/gestures/view_revealing_animatee.h" @class ViewRevealingVerticalPanHandler; enum class ViewRevealState; // Coordinator for the thumb strip, which is a 1-row horizontal display of tab // miniatures above the toolbar. -@interface ThumbStripCoordinator : ChromeCoordinator +@interface ThumbStripCoordinator : ChromeCoordinator <ViewRevealingAnimatee> - (instancetype)initWithBaseViewController:(UIViewController*)viewController browser:(Browser*)browser
diff --git a/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.mm b/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.mm index fe1fcc9..e69d273 100644 --- a/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.mm +++ b/ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.mm
@@ -4,6 +4,7 @@ #import "ios/chrome/browser/ui/thumb_strip/thumb_strip_coordinator.h" +#include "base/metrics/histogram_functions.h" #import "ios/chrome/browser/main/browser.h" #include "ios/chrome/browser/overlays/public/overlay_presentation_context.h" #import "ios/chrome/browser/ui/commands/command_dispatcher.h" @@ -22,6 +23,30 @@ const CGFloat kThumbStripHeight = kGridCellSizeSmall.height + 2 * kGridLayoutLineSpacingCompactCompactLimitedWidth; + +// Enum actions for the IOS.Thumbstrip.OpenBy UMA metrics. Entries should not be +// renumbered and numeric values should never be reused. +enum class ThumbstripOpenByAction { + TAB_STRIP_DRAG_DOWN = 0, + PRIMARY_TOOLBAR_DRAG_DOWN = 1, + WEB_PAGE_SCROLL_DOWN = 2, + kMaxValue = WEB_PAGE_SCROLL_DOWN, +}; + +// Enum actions for the IOS.Thumbstrip.CloseBy UMA metrics. Entries should not +// be renumbered and numeric values should never be reused. +enum class ThumbstripCloseByAction { + PRIMARY_TOOLBAR_DRAG_UP = 0, + FAKE_TAB_TAP = 1, + USER_NAVIGATION = 2, + WEB_PAGE_SCROLL_UP = 3, + NEW_TAB_BUTTON = 4, + OMNIBOX_FOCUS = 5, + BACKGROUND_TAP = 6, + BACKGROUND_SWIPE = 7, + kMaxValue = BACKGROUND_SWIPE, +}; + } // namespace @interface ThumbStripCoordinator () <ThumbStripCommands, @@ -82,6 +107,9 @@ } self.mediator.webViewScrollViewObserver = self.panHandler; [self.panHandler addAnimatee:self.mediator]; + + // For metrics only: + [self.panHandler addAnimatee:self]; } - (void)stop { @@ -131,14 +159,128 @@ // Close the thumb strip if navigation occurred in peeked state. This // indicates the user wants to keep using the current tab. if (self.panHandler.currentState == ViewRevealState::Peeked) { - [self closeThumbStrip]; + [self closeThumbStripWithTrigger:ViewRevealTrigger::UserNavigation]; } } #pragma mark - ThumbStripCommands -- (void)closeThumbStrip { - [self.panHandler setNextState:ViewRevealState::Hidden animated:YES]; +- (void)closeThumbStripWithTrigger:(ViewRevealTrigger)trigger { + [self.panHandler setNextState:ViewRevealState::Hidden + animated:YES + trigger:trigger]; +} + +#pragma mark - ViewRevealingAnimatee + +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { + // Cancelled. + if (startViewRevealState == ViewRevealState::Hidden && + currentViewRevealState == ViewRevealState::Hidden) { + switch (trigger) { + // User was dragging from the tab strip, then cancelled the action. + case ViewRevealTrigger::TabStrip: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CancelBy", + ThumbstripOpenByAction::TAB_STRIP_DRAG_DOWN); + break; + // User was dragging from the primary toolbar, then cancelled the action. + case ViewRevealTrigger::PrimaryToolbar: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CancelBy", + ThumbstripOpenByAction::PRIMARY_TOOLBAR_DRAG_DOWN); + break; + // User scrolling the web view / ntp, but reversed course cancelling the + // action. + case ViewRevealTrigger::WebScroll: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CancelBy", + ThumbstripOpenByAction::WEB_PAGE_SCROLL_DOWN); + break; + default: + // This is reached at startup, but doesn't require logging. + break; + } + // Opening. + } else if (startViewRevealState == ViewRevealState::Hidden && + currentViewRevealState == ViewRevealState::Peeked) { + switch (trigger) { + // User is dragging from the tab strip. + case ViewRevealTrigger::TabStrip: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.OpenBy", + ThumbstripOpenByAction::TAB_STRIP_DRAG_DOWN); + break; + // User is dragging from the primary toolbar. + case ViewRevealTrigger::PrimaryToolbar: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.OpenBy", + ThumbstripOpenByAction::PRIMARY_TOOLBAR_DRAG_DOWN); + break; + // Triggered by user scrolling the web view. + case ViewRevealTrigger::WebScroll: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.OpenBy", + ThumbstripOpenByAction::WEB_PAGE_SCROLL_DOWN); + break; + default: + NOTREACHED(); + break; + } + // Closing. + } else if (startViewRevealState == ViewRevealState::Peeked && + currentViewRevealState == ViewRevealState::Hidden) { + switch (trigger) { + // User is dragging from the primary toolbar. + case ViewRevealTrigger::PrimaryToolbar: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::PRIMARY_TOOLBAR_DRAG_UP); + break; + // User tapped the fake tab at bottom. + case ViewRevealTrigger::FakeTab: + base::UmaHistogramEnumeration("IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::FAKE_TAB_TAP); + break; + // Triggered by user web page navigation. + case ViewRevealTrigger::UserNavigation: + base::UmaHistogramEnumeration("IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::USER_NAVIGATION); + break; + // Triggered by user scrolling the web view. + case ViewRevealTrigger::WebScroll: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::WEB_PAGE_SCROLL_UP); + break; + // User requested tab grid opening or closing or new tab. + case ViewRevealTrigger::TabGrid: + base::UmaHistogramEnumeration("IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::NEW_TAB_BUTTON); + break; + // Triggered by user focus on omnibox. + case ViewRevealTrigger::OmniboxFocus: + base::UmaHistogramEnumeration("IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::OMNIBOX_FOCUS); + break; + // Triggered by user tap on background. + case ViewRevealTrigger::BackgroundTap: + base::UmaHistogramEnumeration("IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::BACKGROUND_TAP); + break; + // Triggered by user swipping up background. + case ViewRevealTrigger::BackgroundSwipe: + base::UmaHistogramEnumeration( + "IOS.Thumbstrip.CloseBy", + ThumbstripCloseByAction::BACKGROUND_SWIPE); + break; + default: + NOTREACHED(); + break; + } + } } @end
diff --git a/ios/chrome/browser/ui/thumb_strip/thumb_strip_mediator.mm b/ios/chrome/browser/ui/thumb_strip/thumb_strip_mediator.mm index 42debb4..886727c9 100644 --- a/ios/chrome/browser/ui/thumb_strip/thumb_strip_mediator.mm +++ b/ios/chrome/browser/ui/thumb_strip/thumb_strip_mediator.mm
@@ -167,9 +167,11 @@ // No-op. } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { - if (viewRevealState == ViewRevealState::Peeked || - viewRevealState == ViewRevealState::Hidden) { +- (void)didAnimateViewRevealFromState:(ViewRevealState)startViewRevealState + toState:(ViewRevealState)currentViewRevealState + trigger:(ViewRevealTrigger)trigger { + if (currentViewRevealState == ViewRevealState::Peeked || + currentViewRevealState == ViewRevealState::Hidden) { self.regularOverlayPresentationContext->SetUIDisabled(false); if (self.incognitoOverlayPresentationContext) { self.incognitoOverlayPresentationContext->SetUIDisabled(false);
diff --git a/ios/chrome/browser/ui/toolbar/primary_toolbar_view_controller.mm b/ios/chrome/browser/ui/toolbar/primary_toolbar_view_controller.mm index b8e61303..5b14db6e 100644 --- a/ios/chrome/browser/ui/toolbar/primary_toolbar_view_controller.mm +++ b/ios/chrome/browser/ui/toolbar/primary_toolbar_view_controller.mm
@@ -64,9 +64,11 @@ _panGestureHandler = panGestureHandler; [self.view removeGestureRecognizer:self.panGestureRecognizer]; - UIPanGestureRecognizer* panGestureRecognizer = [[UIPanGestureRecognizer alloc] - initWithTarget:panGestureHandler - action:@selector(handlePanGesture:)]; + UIPanGestureRecognizer* panGestureRecognizer = + [[ViewRevealingPanGestureRecognizer alloc] + initWithTarget:panGestureHandler + action:@selector(handlePanGesture:) + trigger:ViewRevealTrigger::PrimaryToolbar]; panGestureRecognizer.delegate = panGestureHandler; panGestureRecognizer.maximumNumberOfTouches = 1; [self.view addGestureRecognizer:panGestureRecognizer]; @@ -93,9 +95,6 @@ (nextViewRevealState != ViewRevealState::Hidden); } -- (void)didAnimateViewReveal:(ViewRevealState)viewRevealState { -} - #pragma mark - AdaptiveToolbarViewController - (void)updateForSideSwipeSnapshotOnNTP:(BOOL)onNTP {
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn index a1d1bc27..1422fc3 100644 --- a/ios/chrome/test/BUILD.gn +++ b/ios/chrome/test/BUILD.gn
@@ -63,7 +63,6 @@ "//ios/chrome/browser/ui/util", "//ios/components/webui:url_constants", "//ios/public/provider/chrome/browser", - "//ios/public/provider/chrome/browser:test_support", "//ios/web", "//ios/web/public/test", "//net",
diff --git a/ios/chrome/test/providers/BUILD.gn b/ios/chrome/test/providers/BUILD.gn index e9338821..6ec61a3 100644 --- a/ios/chrome/test/providers/BUILD.gn +++ b/ios/chrome/test/providers/BUILD.gn
@@ -21,6 +21,7 @@ "//ios/chrome/test/providers/signin", "//ios/chrome/test/providers/signin", "//ios/chrome/test/providers/text_zoom", + "//ios/chrome/test/providers/ui_utils", "//ios/chrome/test/providers/url_rewriters", "//ios/chrome/test/providers/voice_search",
diff --git a/ios/chrome/test/providers/ui_utils/BUILD.gn b/ios/chrome/test/providers/ui_utils/BUILD.gn new file mode 100644 index 0000000..a6d22c4 --- /dev/null +++ b/ios/chrome/test/providers/ui_utils/BUILD.gn
@@ -0,0 +1,11 @@ +# Copyright 2022 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("ui_utils") { + testonly = true + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ "test_ui_utils.mm" ] + deps = [ "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api" ] + frameworks = [ "CoreGraphics.framework" ] +}
diff --git a/ios/chrome/test/providers/ui_utils/test_ui_utils.mm b/ios/chrome/test/providers/ui_utils/test_ui_utils.mm new file mode 100644 index 0000000..1cb6972 --- /dev/null +++ b/ios/chrome/test/providers/ui_utils/test_ui_utils.mm
@@ -0,0 +1,37 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h" + +#import <CoreGraphics/CoreGraphics.h> + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +namespace provider { + +void InitializeUI() { + // Tests do not have global UI state. +} + +UITextField* CreateStyledTextField() { + // Tests use default style for UITextField. + return [[UITextField alloc] initWithFrame:CGRectZero]; +} + +id<LogoVendor> CreateLogoVendor(Browser* browser, web::WebState* web_state) { + // Tests do not use LogoVendor. + return nil; +} + +void HideModalViewStack() { + // Test provider does not present modals. +} + +void LogIfModalViewsArePresented() { + // Test provider does not present modals. +} + +} // namespace provider
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 index c21ddae1..56cc450 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -386dbc8f6ad29acb43cfd7f7f74b7463f5370b0f \ No newline at end of file +2d8bb27e02d5d092785cb9100f3976ce3b37269e \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 index 86e922aa..83b5ea1 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -1dfe432048c5f0367f9d11b607b57ef98e7bac8a \ No newline at end of file +c8d893765ef5f4c39c10f49b4c88e78be19b3d21 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 index 11807de..9f60573 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -43394dd8e93a862cbf536669b814403cab43999f \ No newline at end of file +868da5622f0bdd2d6033b7c37f53f08d97d448d7 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 index e7d2fee..c619b04 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -c7995d06d6c327b89d3868f6e4b3b7d8ea9e1ae0 \ No newline at end of file +59e22d439dbda6ef847030286402ae9d0cfd4b20 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.ios.zip.sha1 index a1d070b..9370173 100644 --- a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -22c63c6b6889e493864557f3ef28c22ebe3d8456 \ No newline at end of file +cee9e70719d0d0cef77b62f2b3781c10be9dd7ed \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.iossimulator.zip.sha1 index 74419232..1c4a046 100644 --- a/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_dogfood_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -ae0e0c466faa78cc073346504befed0106a3c2f8 \ No newline at end of file +055b4f0ed3983bf4a68d9a2e7c074320a9656196 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 index 9f7ad0f..4f3a30a0 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -3ce5d66179a2f22851d29eca9ba1d79e3a20529b \ No newline at end of file +2e26f0794916f3f7604f80f9215eb1b1ceaab125 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 index 791d115..ac87a23d8 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -85c4ef6773fb383861d30e959305ab0957473f19 \ No newline at end of file +7d92d2d19fa31e1ba01758047e66281dbe5e6379 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 index cb5da6c..22277060 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -a4885cb688130a2a360d8800567e7ef8eb34c2d6 \ No newline at end of file +26f37956fda5a1da1efd930de3883dc114636423 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 index 5b758e45c..32707db 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -1ed0e8bc45dfc6293ec81617d6039765c715ccfc \ No newline at end of file +653de0181cf868fa57be1c75e846cb0c4c6eeb07 \ No newline at end of file
diff --git a/ios/public/provider/chrome/browser/BUILD.gn b/ios/public/provider/chrome/browser/BUILD.gn index d016cba..90b15e1 100644 --- a/ios/public/provider/chrome/browser/BUILD.gn +++ b/ios/public/provider/chrome/browser/BUILD.gn
@@ -37,6 +37,7 @@ "//ios/public/provider/chrome/browser/signin:signin_error_api", "//ios/public/provider/chrome/browser/signin:signin_resources_api", "//ios/public/provider/chrome/browser/text_zoom:text_zoom_api", + "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api", "//ios/public/provider/chrome/browser/url_rewriters:url_rewriters_api", "//ios/public/provider/chrome/browser/voice_search:voice_search_api", ] @@ -58,6 +59,7 @@ "//ios/public/provider/chrome/browser/mailto:test_support", "//ios/public/provider/chrome/browser/signin", "//ios/public/provider/chrome/browser/signin:test_support", + "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api", "//ios/public/provider/chrome/browser/user_feedback:test_support", "//testing/gtest", ]
diff --git a/ios/public/provider/chrome/browser/test_chrome_browser_provider.mm b/ios/public/provider/chrome/browser/test_chrome_browser_provider.mm index 919192c..d3cf103 100644 --- a/ios/public/provider/chrome/browser/test_chrome_browser_provider.mm +++ b/ios/public/provider/chrome/browser/test_chrome_browser_provider.mm
@@ -12,6 +12,7 @@ #include "ios/public/provider/chrome/browser/mailto/test_mailto_handler_provider.h" #include "ios/public/provider/chrome/browser/signin/fake_chrome_identity_service.h" #include "ios/public/provider/chrome/browser/signin/fake_chrome_trusted_vault_service.h" +#import "ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h" #import "ios/public/provider/chrome/browser/user_feedback/test_user_feedback_provider.h" #if !defined(__has_feature) || !__has_feature(objc_arc) @@ -43,7 +44,7 @@ } UITextField* TestChromeBrowserProvider::CreateStyledTextField() const { - return [[UITextField alloc] initWithFrame:CGRectZero]; + return provider::CreateStyledTextField(); } TestUserFeedbackProvider* TestChromeBrowserProvider::GetUserFeedbackProvider()
diff --git a/ios/public/provider/chrome/browser/ui_utils/BUILD.gn b/ios/public/provider/chrome/browser/ui_utils/BUILD.gn new file mode 100644 index 0000000..461e8e6 --- /dev/null +++ b/ios/public/provider/chrome/browser/ui_utils/BUILD.gn
@@ -0,0 +1,9 @@ +# Copyright 2022 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +source_set("ui_utils_api") { + configs += [ "//build/config/compiler:enable_arc" ] + sources = [ "ui_utils_api.h" ] + frameworks = [ "UIKit.framework" ] +}
diff --git a/ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h b/ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h new file mode 100644 index 0000000..e91ce31 --- /dev/null +++ b/ios/public/provider/chrome/browser/ui_utils/ui_utils_api.h
@@ -0,0 +1,37 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_PUBLIC_PROVIDER_CHROME_BROWSER_UI_UTILS_UI_UTILS_API_H_ +#define IOS_PUBLIC_PROVIDER_CHROME_BROWSER_UI_UTILS_UI_UTILS_API_H_ + +#import <UIKit/UIKit.h> + +class Browser; +@protocol LogoVendor; + +namespace web { +class WebState; +} + +namespace provider { + +// Initializes UI global state for the provider. +void InitializeUI(); + +// Creates a new styled text field. +UITextField* CreateStyledTextField(); + +// Creates a new LogoVendor instance. +id<LogoVendor> CreateLogoVendor(Browser* browser, web::WebState* web_state); + +// Hides immediately the modals related to this provider. +void HideModalViewStack(); + +// Logs if any modals created by this provider are still presented. It does +// not dismiss them. +void LogIfModalViewsArePresented(); + +} // namespace provider + +#endif // IOS_PUBLIC_PROVIDER_CHROME_BROWSER_UI_UTILS_UI_UTILS_API_H_
diff --git a/ios/web/public/permissions/permissions.h b/ios/web/public/permissions/permissions.h index 5fe99fc..3bf77c42 100644 --- a/ios/web/public/permissions/permissions.h +++ b/ios/web/public/permissions/permissions.h
@@ -20,12 +20,12 @@ // When this is the state of a given permission, the app is unable to change // it to ALLOWED or BLOCKED. NOT_ACCESSIBLE = 0, - // The site has access to the requested permission and is able to use it when - // needed. - ALLOWED = 1, // The site has access to the requested permission, but the user has disabled // or blocked the subject of permission so it cannot be used. - BLOCKED = 2, + BLOCKED = 1, + // The site has access to the requested permission and is able to use it when + // needed. + ALLOWED = 2, }; } // namespace web
diff --git a/mojo/core/ports/node.cc b/mojo/core/ports/node.cc index a9aaeeb..03fa8ed 100644 --- a/mojo/core/ports/node.cc +++ b/mojo/core/ports/node.cc
@@ -914,6 +914,7 @@ bool notify_delegate = false; NodeName peer_node_name; bool try_remove_proxy = false; + bool erase_port = false; { SinglePortLocker locker(&port_ref); auto* port = locker.port(); @@ -946,6 +947,10 @@ // read from the other end. port->last_sequence_num_acknowledged = port->next_sequence_num_to_send - 1; + } else if (port->state == Port::kClosed) { + // This is the ack for a closed proxy port notification. Now it's fine to + // delete the port. + erase_port = true; } else { // We haven't yet reached the receiving peer of the closed port, so we'll // forward the message along as-is. @@ -974,6 +979,9 @@ if (try_remove_proxy) TryRemoveProxy(port_ref); + if (erase_port) + ErasePort(port_ref.name()); + if (event) delegate_->ForwardEvent(peer_node_name, std::move(event)); @@ -1826,6 +1834,9 @@ std::vector<PortName> dead_proxies_to_broadcast; std::vector<std::unique_ptr<UserMessageEvent>> undelivered_messages; + ScopedEvent closure_event; + NodeName closure_event_target_node; + { PortLocker::AssertNoPortsLockedOnCurrentThread(); base::AutoLock ports_lock(ports_lock_); @@ -1862,6 +1873,16 @@ SinglePortLocker locker(&local_port_ref); auto* port = locker.port(); + if (port_name != kInvalidPortName) { + // If this is a targeted observe dead proxy event, send out an + // ObserveClosure to acknowledge it. + closure_event_target_node = port->peer_node_name; + closure_event = std::make_unique<ObserveClosureEvent>( + port->peer_port_name, local_port_ref.name(), + port->next_control_sequence_num_to_send++, + port->last_sequence_num_to_receive); + } + if (!port->peer_closed) { // Treat this as immediate peer closure. It's an exceptional // condition akin to a broken pipe, so we don't care about losing @@ -1880,6 +1901,7 @@ // broadcast our own death so it can be back-propagated. This is // inefficient but rare. if (port->state != Port::kReceiving) { + port->state = Port::kClosed; dead_proxies_to_broadcast.push_back(local_port_ref.name()); std::vector<std::unique_ptr<UserMessageEvent>> messages; port->message_queue.TakeAllMessages(&messages); @@ -1891,10 +1913,17 @@ } } +#ifdef MOJO_BACKWARDS_COMPAT for (const auto& proxy_name : dead_proxies_to_broadcast) { ErasePort(proxy_name); DVLOG(2) << "Forcibly deleted port " << proxy_name << "@" << name_; } +#endif + + if (closure_event) { + delegate_->ForwardEvent(closure_event_target_node, + std::move(closure_event)); + } // Wake up any receiving ports who have just observed simulated peer closure. for (const auto& port : ports_to_notify)
diff --git a/remoting/host/it2me/it2me_host_unittest.cc b/remoting/host/it2me/it2me_host_unittest.cc index c51ee928..cf10a8e6 100644 --- a/remoting/host/it2me/it2me_host_unittest.cc +++ b/remoting/host/it2me/it2me_host_unittest.cc
@@ -272,7 +272,7 @@ policies) { policies_ = std::make_unique<base::DictionaryValue>(); for (const auto& policy : policies) { - policies_->Set(policy.first, policy.second.CreateDeepCopy()); + policies_->SetKey(policy.first, policy.second.Clone()); } if (it2me_host_) { it2me_host_->OnPolicyUpdate(std::move(policies_));
diff --git a/services/audio/BUILD.gn b/services/audio/BUILD.gn index 4b607ac..00f5f09 100644 --- a/services/audio/BUILD.gn +++ b/services/audio/BUILD.gn
@@ -111,8 +111,8 @@ if (chrome_wide_echo_cancellation_supported) { sources += [ - "audio_processor.cc", - "audio_processor.h", + "audio_processor_handler.cc", + "audio_processor_handler.h", "mixing_graph.cc", "mixing_graph.h", "mixing_graph_impl.cc",
diff --git a/services/audio/audio_processor.cc b/services/audio/audio_processor_handler.cc similarity index 71% rename from services/audio/audio_processor.cc rename to services/audio/audio_processor_handler.cc index 5a9c742..90e38c3 100644 --- a/services/audio/audio_processor.cc +++ b/services/audio/audio_processor_handler.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "services/audio/audio_processor.h" +#include "services/audio/audio_processor_handler.h" #include "base/logging.h" #include "base/metrics/histogram_functions.h" @@ -15,7 +15,7 @@ namespace audio { -class AudioProcessor::UmaLogger { +class AudioProcessorHandler::UmaLogger { public: UmaLogger(const std::string& device_id) : is_default_(media::AudioDeviceDescription::IsDefaultDevice(device_id)), @@ -36,21 +36,22 @@ base::TimeTicks start_; }; -AudioProcessor::AudioProcessor(DeviceOutputListener* device_output_listener, - LogCallback log_callback) +AudioProcessorHandler::AudioProcessorHandler( + DeviceOutputListener* device_output_listener, + LogCallback log_callback) : device_output_listener_(device_output_listener), log_callback_(std::move(log_callback)) { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK(device_output_listener_); } -AudioProcessor::~AudioProcessor() { +AudioProcessorHandler::~AudioProcessorHandler() { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); if (active_) Stop(); } -void AudioProcessor::SetOutputDeviceForAec( +void AudioProcessorHandler::SetOutputDeviceForAec( const std::string& output_device_id) { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); if (output_device_id_ == output_device_id || @@ -65,35 +66,36 @@ StartListening(); } -void AudioProcessor::Start() { +void AudioProcessorHandler::Start() { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK(!active_); active_ = true; StartListening(); } -void AudioProcessor::Stop() { +void AudioProcessorHandler::Stop() { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK(active_); device_output_listener_->StopListening(this); - log_callback_.Run("AudioProcessor: stop listening"); + log_callback_.Run("AudioProcessorHandler: stop listening"); active_ = false; uma_logger_.reset(); } -void AudioProcessor::OnPlayoutData(const media::AudioBus& audio_bus, - int sample_rate, - base::TimeDelta delay) { - TRACE_EVENT2("audio", "AudioProcessor::OnData", " this ", +void AudioProcessorHandler::OnPlayoutData(const media::AudioBus& audio_bus, + int sample_rate, + base::TimeDelta delay) { + TRACE_EVENT2("audio", "AudioProcessorHandler::OnData", " this ", static_cast<void*>(this), "delay", delay.InMillisecondsF()); } -void AudioProcessor::StartListening() { +void AudioProcessorHandler::StartListening() { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK(active_); uma_logger_ = std::make_unique<UmaLogger>(output_device_id_); - log_callback_.Run(base::StrCat( - {"AudioProcessor: listening to output device: ", output_device_id_})); + log_callback_.Run( + base::StrCat({"AudioProcessorHandler: listening to output device: ", + output_device_id_})); device_output_listener_->StartListening(this, output_device_id_); }
diff --git a/services/audio/audio_processor.h b/services/audio/audio_processor_handler.h similarity index 68% rename from services/audio/audio_processor.h rename to services/audio/audio_processor_handler.h index aec014a..6c5efb5 100644 --- a/services/audio/audio_processor.h +++ b/services/audio/audio_processor_handler.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef SERVICES_AUDIO_AUDIO_PROCESSOR_H_ -#define SERVICES_AUDIO_AUDIO_PROCESSOR_H_ +#ifndef SERVICES_AUDIO_AUDIO_PROCESSOR_HANDLER_H_ +#define SERVICES_AUDIO_AUDIO_PROCESSOR_HANDLER_H_ #include <string> @@ -20,15 +20,15 @@ namespace audio { class DeviceOutputListener; -class AudioProcessor final : public ReferenceOutput::Listener { +class AudioProcessorHandler final : public ReferenceOutput::Listener { public: using LogCallback = base::RepeatingCallback<void(base::StringPiece)>; - AudioProcessor(DeviceOutputListener* device_output_listener, - LogCallback log_callback); - AudioProcessor(const AudioProcessor&) = delete; - AudioProcessor& operator=(const AudioProcessor&) = delete; - ~AudioProcessor() final; + AudioProcessorHandler(DeviceOutputListener* device_output_listener, + LogCallback log_callback); + AudioProcessorHandler(const AudioProcessorHandler&) = delete; + AudioProcessorHandler& operator=(const AudioProcessorHandler&) = delete; + ~AudioProcessorHandler() final; void SetOutputDeviceForAec(const std::string& output_device_id); void Start(); @@ -53,4 +53,4 @@ } // namespace audio -#endif // SERVICES_AUDIO_AUDIO_PROCESSOR_H_ +#endif // SERVICES_AUDIO_AUDIO_PROCESSOR_HANDLER_H_
diff --git a/services/audio/input_controller.cc b/services/audio/input_controller.cc index f13afc7..fc8a37c4 100644 --- a/services/audio/input_controller.cc +++ b/services/audio/input_controller.cc
@@ -28,7 +28,7 @@ #include "media/audio/audio_manager.h" #include "media/base/audio_bus.h" #include "media/base/user_input_monitor.h" -#include "services/audio/audio_processor.h" +#include "services/audio/audio_processor_handler.h" #include "services/audio/concurrent_stream_metric_reporter.h" #include "services/audio/device_output_listener.h" @@ -205,35 +205,37 @@ bool error_during_callback_ = false; }; -InputController::InputController(EventHandler* handler, +InputController::InputController(EventHandler* event_handler, SyncWriter* sync_writer, media::UserInputMonitor* user_input_monitor, InputStreamActivityMonitor* activity_monitor, DeviceOutputListener* device_output_listener, const media::AudioParameters& params, StreamType type) - : handler_(handler), + : event_handler_(event_handler), stream_(nullptr), sync_writer_(sync_writer), type_(type), user_input_monitor_(user_input_monitor), activity_monitor_(activity_monitor) { DCHECK_CALLED_ON_VALID_THREAD(owning_thread_); - DCHECK(handler_); + DCHECK(event_handler_); DCHECK(sync_writer_); DCHECK(activity_monitor_); #if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) if (device_output_listener) { - // Unretained() is safe, because |handler_| outlives |audio_processor_|. - audio_processor_ = std::make_unique<AudioProcessor>( + // Unretained() is safe, because |event_handler_| outlives + // |audio_processor_handler_|. + audio_processor_handler_ = std::make_unique<AudioProcessorHandler>( device_output_listener, - base::BindRepeating(&EventHandler::OnLog, base::Unretained(handler_))); + base::BindRepeating(&EventHandler::OnLog, + base::Unretained(event_handler_))); } #endif if (!user_input_monitor_) { - handler_->OnLog( + event_handler_->OnLog( "AIC::InputController() => (WARNING: keypress monitoring is disabled)"); } } @@ -283,7 +285,7 @@ if (!stream_ || audio_callback_) return; - handler_->OnLog("AIC::Record()"); + event_handler_->OnLog("AIC::Record()"); if (user_input_monitor_) { user_input_monitor_->EnableKeyPressMonitoring(); @@ -295,8 +297,8 @@ audio_callback_ = std::make_unique<AudioCallback>(this); #if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) - if (audio_processor_) - audio_processor_->Start(); + if (audio_processor_handler_) + audio_processor_handler_->Start(); #endif stream_->Start(audio_callback_.get()); @@ -319,8 +321,8 @@ // Allow calling unconditionally and bail if we don't have a stream to close. if (audio_callback_) { #if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) - if (audio_processor_) - audio_processor_->Stop(); + if (audio_processor_handler_) + audio_processor_handler_->Stop(); #endif stream_->Stop(); activity_monitor_->OnInputStreamInactive(); @@ -363,7 +365,7 @@ kLogStringPrefix); } - handler_->OnLog(log_string); + event_handler_->OnLog(log_string); stream_->Close(); stream_ = nullptr; @@ -376,7 +378,7 @@ LogSilenceState(silence_state_); log_string = base::StringPrintf("%s(silence_state=%s)", kLogStringPrefix, SilenceStateToString(silence_state_)); - handler_->OnLog(log_string); + event_handler_->OnLog(log_string); } #endif @@ -392,7 +394,8 @@ if (!stream_) return; - handler_->OnLog(base::StringPrintf("AIC::SetVolume({volume=%.2f})", volume)); + event_handler_->OnLog( + base::StringPrintf("AIC::SetVolume({volume=%.2f})", volume)); // Only ask for the maximum volume at first call and use cached value // for remaining function calls. @@ -416,8 +419,8 @@ stream_->SetOutputDeviceForAec(output_device_id); #if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) - if (audio_processor_) - audio_processor_->SetOutputDeviceForAec(output_device_id); + if (audio_processor_handler_) + audio_processor_handler_->SetOutputDeviceForAec(output_device_id); #endif } @@ -447,7 +450,7 @@ DCHECK_CALLED_ON_VALID_THREAD(owning_thread_); DCHECK(!stream_); SCOPED_UMA_HISTOGRAM_TIMER("Media.AudioInputController.CreateTime"); - handler_->OnLog("AIC::DoCreate({device_id=" + device_id + "})"); + event_handler_->OnLog("AIC::DoCreate({device_id=" + device_id + "})"); #if defined(AUDIO_POWER_MONITORING) // We only do power measurements for UMA stats for low latency streams, and @@ -465,7 +468,7 @@ if (!stream) { LogCaptureStartupResult(CAPTURE_STARTUP_CREATE_STREAM_FAILED); - handler_->OnError(STREAM_CREATE_ERROR); + event_handler_->OnError(STREAM_CREATE_ERROR); return; } @@ -473,7 +476,7 @@ if (open_outcome != OpenOutcome::kSuccess) { stream->Close(); LogCaptureStartupResult(CAPTURE_STARTUP_OPEN_STREAM_FAILED); - handler_->OnError(MapOpenOutcomeToErrorCode(open_outcome)); + event_handler_->OnError(MapOpenOutcomeToErrorCode(open_outcome)); return; } @@ -484,7 +487,7 @@ // functionality to modify the input volume slider. One such example is // Windows XP. power_measurement_is_enabled_ &= agc_is_supported; - handler_->OnLog( + event_handler_->OnLog( base::StringPrintf("AIC::DoCreate => (power_measurement_is_enabled=%d)", power_measurement_is_enabled_)); #else @@ -496,7 +499,7 @@ // Send initial muted state along with OnCreated, to avoid races. is_muted_ = stream_->IsMuted(); - handler_->OnCreated(is_muted_); + event_handler_->OnCreated(is_muted_); check_muted_state_timer_.Start(FROM_HERE, kCheckMutedStateInterval, this, &InputController::CheckMutedState); DCHECK(check_muted_state_timer_.IsRunning()); @@ -504,7 +507,7 @@ void InputController::DoReportError() { DCHECK_CALLED_ON_VALID_THREAD(owning_thread_); - handler_->OnError(STREAM_ERROR); + event_handler_->OnError(STREAM_ERROR); } void InputController::DoLogAudioLevels(float level_dbfs, @@ -519,7 +522,7 @@ const bool microphone_is_muted = stream_->IsMuted(); if (microphone_is_muted) { LogMicrophoneMuteResult(MICROPHONE_IS_MUTED); - handler_->OnLog("AIC::OnData => (microphone is muted)"); + event_handler_->OnLog("AIC::OnData => (microphone is muted)"); } else { LogMicrophoneMuteResult(MICROPHONE_IS_NOT_MUTED); } @@ -529,7 +532,7 @@ static const float kSilenceThresholdDBFS = -72.24719896f; if (level_dbfs < kSilenceThresholdDBFS) log_string += " <=> low audio input level"; - handler_->OnLog(log_string + ")"); + event_handler_->OnLog(log_string + ")"); if (!microphone_is_muted) { UpdateSilenceState(level_dbfs < kSilenceThresholdDBFS); @@ -539,7 +542,7 @@ microphone_volume_percent); if (microphone_volume_percent < kLowLevelMicrophoneLevelPercent) log_string += " <=> low microphone level"; - handler_->OnLog(log_string + ")"); + event_handler_->OnLog(log_string + ")"); #endif } @@ -613,7 +616,7 @@ void InputController::LogMessage(const std::string& message) { DCHECK_CALLED_ON_VALID_THREAD(owning_thread_); - handler_->OnLog(message); + event_handler_->OnLog(message); } bool InputController::CheckForKeyboardInput() { @@ -662,10 +665,10 @@ const bool new_state = stream_->IsMuted(); if (new_state != is_muted_) { is_muted_ = new_state; - handler_->OnMuted(is_muted_); + event_handler_->OnMuted(is_muted_); std::string log_string = base::StringPrintf("AIC::OnMuted({is_muted=%d})", is_muted_); - handler_->OnLog(log_string); + event_handler_->OnLog(log_string); } } @@ -673,7 +676,7 @@ DCHECK_CALLED_ON_VALID_THREAD(owning_thread_); DCHECK(stream_); // Don't store any state, just log the event for now. - handler_->OnLog("AIC::OnData => (stream is alive)"); + event_handler_->OnLog("AIC::OnData => (stream is alive)"); } // static
diff --git a/services/audio/input_controller.h b/services/audio/input_controller.h index 3d48545..d0c32bf 100644 --- a/services/audio/input_controller.h +++ b/services/audio/input_controller.h
@@ -35,7 +35,7 @@ } // namespace media namespace audio { -class AudioProcessor; +class AudioProcessorHandler; class DeviceOutputListener; class InputStreamActivityMonitor; @@ -192,7 +192,7 @@ CAPTURE_STARTUP_RESULT_MAX = CAPTURE_STARTUP_STOPPED_EARLY, }; - InputController(EventHandler* handler, + InputController(EventHandler* event_handler, SyncWriter* sync_writer, media::UserInputMonitor* user_input_monitor, InputStreamActivityMonitor* activity_monitor, @@ -252,7 +252,7 @@ // Contains the InputController::EventHandler which receives state // notifications from this class. - const raw_ptr<EventHandler> handler_; + const raw_ptr<EventHandler> event_handler_; // Pointer to the audio input stream object. // Only used on the audio thread. @@ -266,7 +266,7 @@ double max_volume_ = 0.0; #if BUILDFLAG(CHROME_WIDE_ECHO_CANCELLATION) - std::unique_ptr<AudioProcessor> audio_processor_; + std::unique_ptr<AudioProcessorHandler> audio_processor_handler_; #endif const raw_ptr<media::UserInputMonitor> user_input_monitor_;
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json index 87dc994..5e4c1aa 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json
@@ -9072,7 +9072,9 @@ "mac", "chromeos", "chromeos_lacros", - "linux" + "linux", + "android", + "android_weblayer" ], "experiments": [ {
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc index b086076..48521af 100644 --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -170,7 +170,7 @@ // Enable browser-initiated dedicated worker script loading // (PlzDedicatedWorker). https://crbug.com/906991 const base::Feature kPlzDedicatedWorker{"PlzDedicatedWorker", - base::FEATURE_DISABLED_BY_DEFAULT}; + base::FEATURE_ENABLED_BY_DEFAULT}; // Enable Portals. https://crbug.com/865123. // Note that default enabling this does not expose the portal
diff --git a/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom b/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom index 0217233d..f4046a7 100644 --- a/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom +++ b/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom
@@ -59,4 +59,12 @@ // response. The JSON `name`, `owner`, `userBiddingSignals` and other unknown // fields will be ignored. UpdateAdInterestGroups(); + + // Gets the true URL from a URN returned from RunAdAuction. This function + // will be removed once all FLEDGE auctions switch to using fenced frames. + // The uuid_url should have the format format + // "urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" as per RFC-4122. + // TODO(crbug.com/1253118): Remove this function when we remove support for + // showing FLEDGE ads in iframes. + DeprecatedGetURLFromURN(url.mojom.Url uuid_url) => (url.mojom.Url? decoded_url); };
diff --git a/third_party/blink/public/mojom/web_feature/web_feature.mojom b/third_party/blink/public/mojom/web_feature/web_feature.mojom index f8e75880..9a27b38 100644 --- a/third_party/blink/public/mojom/web_feature/web_feature.mojom +++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -3414,6 +3414,7 @@ kHTMLInputElementSimulatedClick = 4105, kRTCLocalSdpModificationIceUfragPwd = 4106, kWebNfcNdefMakeReadOnly = 4107, + kV8Navigator_DeprecatedURNToURL_Method = 4108, // Add new features immediately above this line. Don't change assigned
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc index 3cd2bbe..0045b4d 100644 --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc
@@ -5462,7 +5462,8 @@ style_request); DCHECK(result); result->SetIsEnsuredInDisplayNone(); - return element_style->AddCachedPseudoElementStyle(std::move(result)); + return element_style->AddCachedPseudoElementStyle( + std::move(result), pseudo_element_specifier, pseudo_argument); } bool Element::HasDisplayContentsStyle() const { @@ -5819,8 +5820,10 @@ scoped_refptr<ComputedStyle> result = UncachedStyleForPseudoElement( StyleRequest(pseudo_id, style, pseudo_argument)); - if (result) - return style->AddCachedPseudoElementStyle(std::move(result)); + if (result) { + return style->AddCachedPseudoElementStyle(std::move(result), pseudo_id, + pseudo_argument); + } return nullptr; }
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc index 95bbd27..505112e 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -595,6 +595,10 @@ AllInstances().insert(this); resize_viewport_anchor_ = MakeGarbageCollected<ResizeViewportAnchor>(*page_); + + // Ensure we have valid page scale constraints even if the embedder never + // changes defaults. + GetPageScaleConstraintsSet().ComputeFinalConstraints(); } WebViewImpl::~WebViewImpl() { @@ -2647,7 +2651,7 @@ void WebViewImpl::RefreshPageScaleFactor() { if (!MainFrame() || !GetPage() || !GetPage()->MainFrame() || - !GetPage()->MainFrame()->IsLocalFrame() || IsFencedFrameRoot() || + !GetPage()->MainFrame()->IsLocalFrame() || !GetPage()->DeprecatedLocalMainFrame()->View()) return; UpdatePageDefinedViewportConstraints(MainFrameImpl() @@ -3336,12 +3340,25 @@ const blink::web_pref::WebPreferences& preferences) { web_preferences_ = preferences; + if (IsFencedFrameRoot()) { + // The main frame of a fenced frame should not behave like a top level + // frame in terms of viewport behavior. i.e. It shouldn't allow zooming, + // either explicitly or to fit content, and it should not interpret the + // viewport <meta> tag. + web_preferences_.viewport_enabled = false; + web_preferences_.viewport_meta_enabled = false; + web_preferences_.default_minimum_page_scale_factor = 1.f; + web_preferences_.default_maximum_page_scale_factor = 1.f; + web_preferences_.shrinks_viewport_contents_to_fit = false; + web_preferences_.main_frame_resizes_are_orientation_changes = false; + } + if (MainFrameImpl()) { MainFrameImpl()->FrameWidgetImpl()->SetPrefersReducedMotion( web_preferences_.prefers_reduced_motion); } - ApplyWebPreferences(preferences, this); + ApplyWebPreferences(web_preferences_, this); ApplyCommandLineToSettings(SettingsImpl()); }
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc index 2db68df..fd5a013 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -2183,9 +2183,7 @@ } bool LocalDOMWindow::DirectSocketCapability() const { - return Agent::IsDirectSocketEnabled() && - IsFeatureEnabled( - mojom::blink::PermissionsPolicyFeature::kDirectSockets); + return Agent::IsDirectSocketEnabled(); } ukm::UkmRecorder* LocalDOMWindow::UkmRecorder() {
diff --git a/third_party/blink/renderer/core/html/forms/text_control_inner_elements.cc b/third_party/blink/renderer/core/html/forms/text_control_inner_elements.cc index 4f9f1c9..9591457 100644 --- a/third_party/blink/renderer/core/html/forms/text_control_inner_elements.cc +++ b/third_party/blink/renderer/core/html/forms/text_control_inner_elements.cc
@@ -210,7 +210,8 @@ GetDocument().GetStyleResolver().CreateComputedStyle(); no_scrollbar_style->SetStyleType(kPseudoIdScrollbar); no_scrollbar_style->SetDisplay(EDisplay::kNone); - text_block_style->AddCachedPseudoElementStyle(no_scrollbar_style); + text_block_style->AddCachedPseudoElementStyle( + no_scrollbar_style, kPseudoIdScrollbar, g_null_atom); text_block_style->SetHasPseudoElementStyle(kPseudoIdScrollbar); text_block_style->SetDisplay(EDisplay::kFlowRoot);
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc index eaf4573..ff6ddef 100644 --- a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc +++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
@@ -786,7 +786,7 @@ <style> body { margin: 0; } .spacer { height: 1000px; } - .scroller { overflow-y: scroll; height: 100px; position: relative; } + .scroller { overflow-y: scroll; height: 100px; } </style> <div id='root' class='scroller'> <div id='target1-container'>
diff --git a/third_party/blink/renderer/core/layout/layout_object.cc b/third_party/blink/renderer/core/layout/layout_object.cc index 97c0f8e..3e25d9a4 100644 --- a/third_party/blink/renderer/core/layout/layout_object.cc +++ b/third_party/blink/renderer/core/layout/layout_object.cc
@@ -4163,7 +4163,7 @@ first_line_block->GetUncachedPseudoElementStyle( StyleRequest(kPseudoIdFirstLine, Style()))) { return StyleRef().AddCachedPseudoElementStyle( - std::move(first_line_style)); + std::move(first_line_style), kPseudoIdFirstLine, g_null_atom); } } } else if (!IsAnonymous() && IsLayoutInline() && @@ -4180,7 +4180,8 @@ GetUncachedPseudoElementStyle(StyleRequest( kPseudoIdFirstLineInherited, parent_first_line_style))) { return StyleRef().AddCachedPseudoElementStyle( - std::move(first_line_style)); + std::move(first_line_style), kPseudoIdFirstLineInherited, + g_null_atom); } } }
diff --git a/third_party/blink/renderer/core/page/scrolling/README.md b/third_party/blink/renderer/core/page/scrolling/README.md index 2a5da0f4..2508e74e 100644 --- a/third_party/blink/renderer/core/page/scrolling/README.md +++ b/third_party/blink/renderer/core/page/scrolling/README.md
@@ -2,35 +2,24 @@ The `renderer/core/page/scrolling` directory contains utilities and classes for scrolling that don't belong anywhere else. For example, the majority of -document.rootScroller's implementation as well as overscroll and some scroll -customization types live here. +root scroller implementation as well as overscroll and some scroll customization +types live here. -## document.rootScroller - -`document.rootScroller` is a proposal to allow any scroller to become the root -scroller. Today's web endows the root element (i.e. the documentElement) with -special powers (such as hiding the URL bar). This proposal would give authors -more flexibility in structuring their apps by explaining where the -documentElement's specialness comes from and allowing the author to assign it -to an arbitrary scroller. See the [explainer doc](https://github.com/bokand/NonDocumentRootScroller/blob/master/explainer.md) -for a quick overview. +## _rootScroller_ ### Implementation Details -There are three notions of `rootScroller`: the _document rootScroller_, the -_effective rootScroller_, and the _global rootScroller_. +There are two notions of _rootScroller_: the _effective rootScroller_, and the +_global rootScroller_. -* The _document rootScroller_ is the `Element` that's been set by the page to -`document.rootScroller`. This is `null` by default. * The _effective rootScroller_ is the `Node` that's currently being used as the -scrolling root in a given frame. Each iframe will have an effective -rootScroller and this must always be a valid `Node`. If the _document -rootScroller_ is valid (i.e. is a scrolling box, fills viewport, etc.), then it -will be promoted to the _effective rootScroller_ after layout in a lifecycle -update. If there is no _document rootScroller_, or there is and it's invalid, -we reset to a default _effective rootScroller_. The default is to use the +scrolling root in a given frame. Each iframe will have an _effective +rootScroller_ and this must always be a valid `Node`. The default is to use the document `Node` (hence, why the _effective rootScroller_ is a `Node` rather -than an `Element`). +than an `Element`). When the ImplicitRootScrollerEnabled setting is enabled, +Blink may choose an element on the page to make the effective root scroller. +See [Implicit Promotion](#Implicit-Promotion). + * The _global rootScroller_ is the one `Node` on a page that's responsible for root scroller actions such as hiding/showing the URL bar, producing overscroll glow, etc. It is determined by starting from the root frame and following the @@ -38,7 +27,7 @@ _effective rootScroller_ is an iframe, use its _effective rootScroller_ instead. -Each Document owns a RootScrollerController that manages the _document +Each `Document` owns a `RootScrollerController` that manages the default _effective rootScroller_ and promotion to _effective rootScroller_. The Page owns a TopDocumentRootScrollerController that manages the lifecycle of the _global rootScroller_. @@ -73,20 +62,14 @@ +--------------------------------------+ ``` -We want to make the scrolling div be the global rootScroller (scrolling it +We want to make the scrolling div be the _global rootScroller_ (scrolling it should move the URL bar). Iframes are special when computing rootScrollers, they delegate computation of the _global rootScroller_ to the _effective rootScroller_ of their content -document. In the above case, we'd need to set: - -``` -rootDocument.rootScroller = iframe; -iframeDocument.rootScroller = scrollingDiv; -``` - -If both the iframe and scrollingDiv are valid _effective rootScrollers_ then -the scrolling div will become the _global rootScroller_. +document. In the above case, if both the iframe and scrollingDiv are valid +_effective rootScrollers_ then the scrolling div will become the _global +rootScroller_. One complication here has to do with clipping. Since the iframe must be a valid rootScroller, it must have `width: 100%; height: 100%`. This means that when @@ -131,7 +114,7 @@ will translate bottom-fixed layers to compensate for the URL bar resize before Blink has a chance to resize and reposition them. -For a non-defualt document.rootScroller, we want position: fixed layers to +For a non-defualt _effective rootScroller_, we want position: fixed layers to behave the same way. When we set a _global rootScroller_, Blink sets it as CC's _outer viewport_. This means that we get the container resize and position: fixed behaviors for free. However, we also want position: fixed @@ -141,8 +124,8 @@ banner at the bottom of the page. It can't insert it into the iframe because it may be cross-origin but we still want it to stay fixed to the bottom of the viewport, not the iframe. To solve this, all rootScroller's ancestor frames are -marked with a special bit, is\_resized\_by\_browser\_controls. The transform -tree construction relative to the outer viewport's bounds\_delta mentioned +marked with a special bit, `is_resized_by_browser_controls`. The transform +tree construction relative to the outer viewport's `bounds_delta`x mentioned above will apply to any layer marked with this bit. This makes position: fixed layers for all rootScroller ancestors get translated by the URL bar delta.
diff --git a/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.cc b/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.cc index da2e8280..cc328df4 100644 --- a/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.cc +++ b/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.cc
@@ -102,24 +102,8 @@ void RootScrollerController::Trace(Visitor* visitor) const { visitor->Trace(document_); - visitor->Trace(root_scroller_); visitor->Trace(effective_root_scroller_); visitor->Trace(implicit_candidates_); - visitor->Trace(implicit_root_scroller_); -} - -void RootScrollerController::Set(Element* new_root_scroller) { - if (root_scroller_ == new_root_scroller) - return; - - root_scroller_ = new_root_scroller; - - if (LocalFrame* frame = document_->GetFrame()) - frame->ScheduleVisualUpdateUnlessThrottled(); -} - -Element* RootScrollerController::Get() const { - return root_scroller_; } Node& RootScrollerController::EffectiveRootScroller() const { @@ -145,7 +129,7 @@ void RootScrollerController::DidUpdateIFrameFrameView( HTMLFrameOwnerElement& element) { - if (&element != root_scroller_.Get() && &element != implicit_root_scroller_) + if (&element != effective_root_scroller_) return; // Ensure properties are re-applied even if the effective root scroller @@ -161,17 +145,11 @@ } bool RootScrollerController::RecomputeEffectiveRootScroller() { - ProcessImplicitCandidates(); - Node* new_effective_root_scroller = document_; if (!DocumentFullscreen::fullscreenElement(*document_)) { - bool root_scroller_valid = - root_scroller_ && IsValidRootScroller(*root_scroller_); - if (root_scroller_valid) { - new_effective_root_scroller = root_scroller_; - } else if (implicit_root_scroller_) { - new_effective_root_scroller = implicit_root_scroller_; + if (auto* implicit_root_scroller = ImplicitRootScrollerFromCandidates()) { + new_effective_root_scroller = implicit_root_scroller; UseCounter::Count(document_, WebFeature::kActivatedImplicitRootScroller); } } @@ -390,20 +368,19 @@ child_view->SetLayoutSize(document_->GetFrame()->View()->GetLayoutSize()); } -void RootScrollerController::ProcessImplicitCandidates() { - implicit_root_scroller_ = nullptr; - +Element* RootScrollerController::ImplicitRootScrollerFromCandidates() { if (!RuntimeEnabledFeatures::ImplicitRootScrollerEnabled()) - return; + return nullptr; if (!document_->GetLayoutView()) - return; + return nullptr; if (!document_->GetFrame()->IsMainFrame()) - return; + return nullptr; bool multiple_matches = false; + Element* implicit_root_scroller = nullptr; HeapHashSet<WeakMember<Element>> copy(implicit_candidates_); for (auto& element : copy) { if (!IsValidImplicit(*element)) { @@ -412,15 +389,14 @@ continue; } - if (implicit_root_scroller_) + if (implicit_root_scroller) multiple_matches = true; - implicit_root_scroller_ = element; + implicit_root_scroller = element; } // Only promote an implicit root scroller if we have a unique match. - if (multiple_matches) - implicit_root_scroller_ = nullptr; + return multiple_matches ? nullptr : implicit_root_scroller; } void RootScrollerController::ElementRemoved(const Element& element) {
diff --git a/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h b/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h index 6658870..5caa9c7c 100644 --- a/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h +++ b/third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h
@@ -43,23 +43,9 @@ void Trace(Visitor*) const; - // Sets the element that will be used as the root scroller. This can be - // nullptr, in which case we'll use the default element (documentElement) as - // the effective root scroller. - void Set(Element*); - - // Returns the element currently set as the root scroller from script. This - // differs from the effective root scroller since the set Element may not - // currently be a valid root scroller. e.g. If the page sets an Element - // with `display: none`, get() will return that element, even though the - // effective root scroller will remain the document Node. - Element* Get() const; - // This returns the Element that's actually being used to control viewport - // actions right now. This is different from get() if a root scroller hasn't - // been set, or if the set root scroller isn't currently a valid scroller. - // See README.md for the difference between the root scroller from Get(), the - // effective rootScroller, and the global RootScroller in + // actions right now. See README.md for the difference between the effective + // root scroller and the global root scroller in // TopDocumentRootScrollerController. Node& EffectiveRootScroller() const; @@ -120,8 +106,8 @@ // Called after layout, runs through implicit candidates, removing ones that // are no longer meet the root scroller restrictions. Of the remaining ones, - // will choose the best and set it as the implicit_root_scroller_. - void ProcessImplicitCandidates(); + // will choose the best and return it. + Element* ImplicitRootScrollerFromCandidates(); // Calls function for each non-throttled frame's RootScrollerController in // post tree order. @@ -131,12 +117,6 @@ // The owning Document whose root scroller this object manages. WeakMember<Document> document_; - // The Element that was set from script as rootScroller for this Document. - // Depending on its validity to be the root scroller (e.g. a display: none - // element isn't a valid root scroller), this may not actually be the - // Element being used as the root scroller. - WeakMember<Element> root_scroller_; - // The Node currently being used as the root scroller in this Document. // If the m_rootScroller is valid this will point to it. Otherwise, it'll // use the document Node. It'll never be nullptr since the Document owns the @@ -145,11 +125,8 @@ // Candidate Elements that we should examine after layout to determine which // should be root scroller. This is used when "implicit root scroller" is - // enabled, where a valid Element can become the root scroller without being - // explicitly set using document.setRootScroller. + // enabled, where a valid Element can become the root scroller. HeapHashSet<WeakMember<Element>> implicit_candidates_; - - WeakMember<Element> implicit_root_scroller_; }; } // namespace blink
diff --git a/third_party/blink/renderer/core/paint/block_painter.cc b/third_party/blink/renderer/core/paint/block_painter.cc index d9fc670..0d0e8fe 100644 --- a/third_party/blink/renderer/core/paint/block_painter.cc +++ b/third_party/blink/renderer/core/paint/block_painter.cc
@@ -78,8 +78,9 @@ layout_block_.PaintObject(local_paint_info, paint_offset); } else if (original_phase != PaintPhase::kSelfBlockBackgroundOnly && original_phase != PaintPhase::kSelfOutlineOnly && - // kOverlayOverflowControls is for the current object itself, - // so we don't need to traverse descendants here. + // For now all scrollers with overlay overflow controls are + // self-painting layers, so we don't need to traverse descendants + // here. original_phase != PaintPhase::kOverlayOverflowControls) { ScopedBoxContentsPaintState contents_paint_state(paint_state, layout_block_);
diff --git a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc index 7109492..a5c6b795 100644 --- a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc +++ b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
@@ -448,8 +448,9 @@ if (original_phase != PaintPhase::kSelfBlockBackgroundOnly && original_phase != PaintPhase::kSelfOutlineOnly && - // kOverlayOverflowControls is for the current object itself, so we don't - // need to traverse descendants here. + // For now all scrollers with overlay overflow controls are + // self-painting layers, so we don't need to traverse descendants + // here. original_phase != PaintPhase::kOverlayOverflowControls) { if (original_phase == PaintPhase::kMask || !box_fragment_.GetLayoutObject()->IsBox()) {
diff --git a/third_party/blink/renderer/core/paint/paint_layer.cc b/third_party/blink/renderer/core/paint/paint_layer.cc index 7006764e..010aa3de 100644 --- a/third_party/blink/renderer/core/paint/paint_layer.cc +++ b/third_party/blink/renderer/core/paint/paint_layer.cc
@@ -2363,7 +2363,8 @@ } bool PaintLayer::ShouldBeSelfPaintingLayer() const { - return GetLayoutObject().LayerTypeRequired() == kNormalPaintLayer; + return GetLayoutObject().LayerTypeRequired() == kNormalPaintLayer || + (scrollable_area_ && scrollable_area_->HasOverlayOverflowControls()); } void PaintLayer::UpdateSelfPaintingLayer() {
diff --git a/third_party/blink/renderer/core/paint/paint_layer_painter.cc b/third_party/blink/renderer/core/paint/paint_layer_painter.cc index 31c15a47..cd25934 100644 --- a/third_party/blink/renderer/core/paint/paint_layer_painter.cc +++ b/third_party/blink/renderer/core/paint/paint_layer_painter.cc
@@ -378,7 +378,7 @@ paint_flags) == kMayBeClippedByCullRect) result = kMayBeClippedByCullRect; - if (should_paint_content && paint_layer_.GetScrollableArea() && + if (paint_layer_.GetScrollableArea() && paint_layer_.GetScrollableArea() ->ShouldOverflowControlsPaintAsOverlay()) { if (!paint_layer_.NeedsReorderOverlayOverflowControls()) @@ -386,8 +386,6 @@ // Otherwise the overlay overflow controls will be painted after scrolling // children in PaintChildren(). } - // Overlay overflow controls of scrollers without a self-painting layer are - // painted in the foreground paint phase. See ScrollableAreaPainter. if (is_video && should_paint_self_outline) { // We paint outlines for video later so that they aren't obscured by the @@ -462,8 +460,7 @@ const NGPhysicalBoxFragment* physical_fragment, GraphicsContext& context, PaintFlags paint_flags) { - DCHECK(paint_layer_.IsSelfPaintingLayer() || - phase == PaintPhase::kOverlayOverflowControls); + DCHECK(paint_layer_.IsSelfPaintingLayer()); CullRect cull_rect = fragment_data.GetCullRect(); if (cull_rect.Rect().IsEmpty())
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc index 2104057..b235373 100644 --- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc +++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc
@@ -752,9 +752,6 @@ height: 200px; width: 200px; background: white; - /* TODO(crbug.com/1256990): This is to work around the issue of - unexpected effect node on a non-self-painting PaintLayer. */ - position: relative; } </style> <div style='transform-style: preserve-3d;'>
diff --git a/third_party/blink/renderer/core/paint/paint_phase.h b/third_party/blink/renderer/core/paint/paint_phase.h index 8a883746..728ce657 100644 --- a/third_party/blink/renderer/core/paint/paint_phase.h +++ b/third_party/blink/renderer/core/paint/paint_phase.h
@@ -43,7 +43,7 @@ // 4. Foreground phase: all inlines are fully painted. Atomic inline elements // will get all 4 non-backplate phases invoked on them during this phase, // as if they were stacking contexts (see -// ObjectPainter::PaintAllPhasesAtomically()). +// ObjectPainter::paintAllPhasesAtomically()). // 5. Outline phase: outlines are painted over the foreground. enum class PaintPhase { @@ -61,7 +61,7 @@ kSelfBlockBackgroundOnly, // Paint backgrounds of non-self-painting descendants only. The painter should // call each non-self-painting child's paint method by passing - // PaintInfo::ForDescendants() which converts kDescendantBlockBackgroundsOnly + // paintInfo.forDescendants() which converts kDescendantBlockBackgroundsOnly // to kBlockBackground. kDescendantBlockBackgroundsOnly, @@ -87,7 +87,7 @@ kSelfOutlineOnly, // Paint outlines of non-self-painting descendants only. The painter should // call each non-self-painting child's paint method by passing - // PaintInfo::ForDescendants() which converts kDescendantOutlinesOnly to + // paintInfo.forDescendants() which converts kDescendantOutlinesOnly to // kOutline. kDescendantOutlinesOnly, @@ -99,7 +99,7 @@ kMax = kMask, // These values must be kept in sync with DisplayItem::Type and - // DisplayItem::TypeAsDebugString(). + // DisplayItem::typeAsDebugString(). }; inline bool ShouldPaintSelfBlockBackground(PaintPhase phase) {
diff --git a/third_party/blink/renderer/core/paint/scoped_paint_state.cc b/third_party/blink/renderer/core/paint/scoped_paint_state.cc index a532f05..c6d9e73 100644 --- a/third_party/blink/renderer/core/paint/scoped_paint_state.cc +++ b/third_party/blink/renderer/core/paint/scoped_paint_state.cc
@@ -31,9 +31,8 @@ if (painting_legacy_table_part_in_ancestor_layer) { DCHECK(object.IsTableCellLegacy() || object.IsLegacyTableRow() || object.IsLegacyTableSection()); - } else if (paint_info.phase == PaintPhase::kOverlayOverflowControls || - (object.HasLayer() && - To<LayoutBoxModelObject>(object).HasSelfPaintingLayer())) { + } else if (object.HasLayer() && + To<LayoutBoxModelObject>(object).Layer()->IsSelfPaintingLayer()) { // PaintLayerPainter already adjusted for PaintOffsetTranslation for // PaintContainer. return;
diff --git a/third_party/blink/renderer/core/paint/scrollable_area_painter.cc b/third_party/blink/renderer/core/paint/scrollable_area_painter.cc index 653f644f..977800c3 100644 --- a/third_party/blink/renderer/core/paint/scrollable_area_painter.cc +++ b/third_party/blink/renderer/core/paint/scrollable_area_painter.cc
@@ -157,21 +157,11 @@ box.StyleRef().Visibility() != EVisibility::kVisible) return; - // Overflow controls are painted in the following paint phases: - // - Overlay overflow controls of self-painting layers or reordered overlay - // overflow controls are painted in PaintPhase::kOverlayOverflowControls, - // called from PaintLayerPainter::PaintChildren(). - // - Non-reordered overlay overflow controls of non-self-painting-layer - // scrollers are painted in PaintPhase::kForeground. - // - Non-overlay overflow controls are painted in PaintPhase::kBackground. + // Overlay overflow controls are painted in the dedicated paint phase, and + // normal overflow controls are painted in the background paint phase. if (GetScrollableArea().ShouldOverflowControlsPaintAsOverlay()) { - if (box.HasSelfPaintingLayer() || - box.Layer()->NeedsReorderOverlayOverflowControls()) { - if (paint_info.phase != PaintPhase::kOverlayOverflowControls) - return; - } else if (paint_info.phase != PaintPhase::kForeground) { + if (paint_info.phase != PaintPhase::kOverlayOverflowControls) return; - } } else if (!ShouldPaintSelfBlockBackground(paint_info.phase)) { return; }
diff --git a/third_party/blink/renderer/core/permissions_policy/feature_policy.dict b/third_party/blink/renderer/core/permissions_policy/feature_policy.dict index d868874..75713f1 100644 --- a/third_party/blink/renderer/core/permissions_policy/feature_policy.dict +++ b/third_party/blink/renderer/core/permissions_policy/feature_policy.dict
@@ -43,6 +43,7 @@ "vertical-scroll" "vr" "web-share" +"direct-sockets" "\"https://example.com/\"" "*" "'self'"
diff --git a/third_party/blink/renderer/core/style/computed_style.cc b/third_party/blink/renderer/core/style/computed_style.cc index 3e7213a..efa2426 100644 --- a/third_party/blink/renderer/core/style/computed_style.cc +++ b/third_party/blink/renderer/core/style/computed_style.cc
@@ -586,9 +586,16 @@ } const ComputedStyle* ComputedStyle::AddCachedPseudoElementStyle( - scoped_refptr<const ComputedStyle> pseudo) const { + scoped_refptr<const ComputedStyle> pseudo, + PseudoId pseudo_id, + const AtomicString& pseudo_argument) const { DCHECK(pseudo); - DCHECK_GT(pseudo->StyleType(), kPseudoIdNone); + + // Confirm that the styles being cached are for the (PseudoId,argument) that + // the caller intended (and presumably had checked was not present). + DCHECK_EQ(static_cast<unsigned>(pseudo->StyleType()), + static_cast<unsigned>(pseudo_id)); + DCHECK_EQ(pseudo->PseudoArgument(), pseudo_argument); // The pseudo style cache assumes that only one entry will be added for any // any given (PseudoId,argument). Adding more than one entry is a bug, even
diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h index 91ac3241..e7ff479 100644 --- a/third_party/blink/renderer/core/style/computed_style.h +++ b/third_party/blink/renderer/core/style/computed_style.h
@@ -445,7 +445,9 @@ PseudoId, const AtomicString& pseudo_argument = g_null_atom) const; const ComputedStyle* AddCachedPseudoElementStyle( - scoped_refptr<const ComputedStyle>) const; + scoped_refptr<const ComputedStyle>, + PseudoId, + const AtomicString&) const; void ClearCachedPseudoElementStyles() const; // If this ComputedStyle is affected by animation/transitions, then the
diff --git a/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc b/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc index 308add69..df9a070 100644 --- a/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc +++ b/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.cc
@@ -1718,6 +1718,7 @@ void XMLHttpRequest::DidFinishLoadingInternal() { if (response_document_parser_) { + DCHECK(response_document_); // |DocumentParser::finish()| tells the parser that we have reached end of // the data. When using |HTMLDocumentParser|, which works asynchronously, // we do not have the complete document just after the
diff --git a/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc b/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc index 9caa50f..fb0c8106 100644 --- a/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc +++ b/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc
@@ -928,6 +928,35 @@ return out; } +ScriptPromise NavigatorAuction::deprecatedURNToURL( + ScriptState* script_state, + const String& uuid_url_string, + ExceptionState& exception_state) { + if (!uuid_url_string.StartsWithIgnoringCase("urn:uuid:")) { + exception_state.ThrowTypeError( + String::Format("Passed URL must start with 'urn:uuid:'.")); + return ScriptPromise(); + } + + auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state); + ScriptPromise promise = resolver->Promise(); + KURL uuid_url(uuid_url_string); + ad_auction_service_->DeprecatedGetURLFromURN( + std::move(uuid_url), + WTF::Bind(&NavigatorAuction::GetURLFromURNComplete, WrapPersistent(this), + WrapPersistent(resolver))); + return promise; +} + +ScriptPromise NavigatorAuction::deprecatedURNToURL( + ScriptState* script_state, + Navigator& navigator, + const String& uuid_url, + ExceptionState& exception_state) { + return From(ExecutionContext::From(script_state), navigator) + .deprecatedURNToURL(script_state, uuid_url, exception_state); +} + ScriptPromise NavigatorAuction::createAdRequest( ScriptState* script_state, const AdRequestConfig* config, @@ -1063,4 +1092,17 @@ } } +void NavigatorAuction::GetURLFromURNComplete( + ScriptPromiseResolver* resolver, + const absl::optional<KURL>& decoded_url) { + if (!resolver->GetExecutionContext() || + resolver->GetExecutionContext()->IsContextDestroyed()) + return; + if (decoded_url) { + resolver->Resolve(*decoded_url); + } else { + resolver->Resolve(v8::Null(resolver->GetScriptState()->GetIsolate())); + } +} + } // namespace blink
diff --git a/third_party/blink/renderer/modules/ad_auction/navigator_auction.h b/third_party/blink/renderer/modules/ad_auction/navigator_auction.h index 097a9d9..9872e46 100644 --- a/third_party/blink/renderer/modules/ad_auction/navigator_auction.h +++ b/third_party/blink/renderer/modules/ad_auction/navigator_auction.h
@@ -80,6 +80,15 @@ uint16_t num_ad_components, ExceptionState& exception_state); + ScriptPromise deprecatedURNToURL(ScriptState* script_state, + const String& uuid_url_string, + ExceptionState& exception_state); + + static ScriptPromise deprecatedURNToURL(ScriptState* script_state, + Navigator& navigator, + const String& uuid_url_string, + ExceptionState& exception_state); + ScriptPromise createAdRequest(ScriptState*, const AdRequestConfig*, ExceptionState&); @@ -111,6 +120,9 @@ const absl::optional<KURL>& creative_url); // Completion callback for Mojo call made by runAdAuction(). void AuctionComplete(ScriptPromiseResolver*, const absl::optional<KURL>&); + // Completion callback for Mojo call made by deprecatedURNToURL(). + void GetURLFromURNComplete(ScriptPromiseResolver*, + const absl::optional<KURL>&); HeapMojoRemote<mojom::blink::AdAuctionService> ad_auction_service_; };
diff --git a/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl b/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl index 5e1749b5b..0853b9f7 100644 --- a/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl +++ b/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
@@ -29,6 +29,9 @@ [RuntimeEnabled=Fledge, CallWith=ScriptState, Measure, RaisesException] sequence<USVString> adAuctionComponents([Clamp] unsigned short numComponents); + [RuntimeEnable=AllowURLsinIframes, CallWith=ScriptState, Measure, RaisesException] + Promise<USVString> deprecatedURNToURL(USVString uuid_url); + [RuntimeEnabled=Parakeet, CallWith=ScriptState, Measure, RaisesException] Promise<Ads> createAdRequest(AdRequestConfig config);
diff --git a/third_party/blink/renderer/modules/direct_sockets/navigator_socket.cc b/third_party/blink/renderer/modules/direct_sockets/navigator_socket.cc index 22e2730..42ff582 100644 --- a/third_party/blink/renderer/modules/direct_sockets/navigator_socket.cc +++ b/third_party/blink/renderer/modules/direct_sockets/navigator_socket.cc
@@ -12,6 +12,7 @@ #include "third_party/abseil-cpp/absl/types/optional.h" #include "third_party/blink/public/common/browser_interface_broker_proxy.h" #include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h" +#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink-forward.h" #include "third_party/blink/public/platform/task_type.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_socket_options.h" @@ -195,6 +196,15 @@ return false; } + if (!ExecutionContext::From(script_state) + ->IsFeatureEnabled( + mojom::blink::PermissionsPolicyFeature::kDirectSockets)) { + exception_state.ThrowDOMException( + DOMExceptionCode::kNotAllowedError, + "Permissions-Policy: direct-sockets are disabled."); + return false; + } + // TODO(crbug.com/1119600): Do not consume (or check) transient activation // for reconnection attempts. if (!LocalFrame::ConsumeTransientUserActivation(window->GetFrame())) {
diff --git a/third_party/blink/renderer/modules/direct_sockets/tcp_socket.cc b/third_party/blink/renderer/modules/direct_sockets/tcp_socket.cc index d620e5d..1b3b106 100644 --- a/third_party/blink/renderer/modules/direct_sockets/tcp_socket.cc +++ b/third_party/blink/renderer/modules/direct_sockets/tcp_socket.cc
@@ -82,7 +82,7 @@ } // TODO(crbug/1282199): Create specific exception based on error code. resolver_->Reject(MakeGarbageCollected<DOMException>( - DOMExceptionCode::kNotAllowedError, "Permission denied")); + DOMExceptionCode::kNetworkError, "Network error.")); socket_observer_receiver_.reset(); } resolver_ = nullptr;
diff --git a/third_party/blink/renderer/modules/direct_sockets/tcp_socket_unittest.cc b/third_party/blink/renderer/modules/direct_sockets/tcp_socket_unittest.cc index 66fca7ed..54ba6650c 100644 --- a/third_party/blink/renderer/modules/direct_sockets/tcp_socket_unittest.cc +++ b/third_party/blink/renderer/modules/direct_sockets/tcp_socket_unittest.cc
@@ -108,8 +108,8 @@ DOMException* create_exception = V8DOMException::ToImplWithTypeCheck( scope.GetIsolate(), create_tester.Value().V8Value()); ASSERT_TRUE(create_exception); - EXPECT_EQ(create_exception->name(), "NotAllowedError"); - EXPECT_EQ(create_exception->message(), "Permission denied"); + EXPECT_EQ(create_exception->name(), "NetworkError"); + EXPECT_EQ(create_exception->message(), "Network error."); close_tester.WaitUntilSettled(); ASSERT_TRUE(close_tester.IsFulfilled());
diff --git a/third_party/blink/renderer/modules/direct_sockets/udp_socket.cc b/third_party/blink/renderer/modules/direct_sockets/udp_socket.cc index 2470d98d..dd48ff8 100644 --- a/third_party/blink/renderer/modules/direct_sockets/udp_socket.cc +++ b/third_party/blink/renderer/modules/direct_sockets/udp_socket.cc
@@ -68,7 +68,7 @@ } // TODO(crbug/1282199): Create specific exception based on error code. init_resolver_->Reject(MakeGarbageCollected<DOMException>( - DOMExceptionCode::kNotAllowedError, "Permission denied")); + DOMExceptionCode::kNetworkError, "Network error.")); } init_resolver_ = nullptr; }
diff --git a/third_party/blink/web_tests/NeverFixTests b/third_party/blink/web_tests/NeverFixTests index 4acae8a..615a3b7 100644 --- a/third_party/blink/web_tests/NeverFixTests +++ b/third_party/blink/web_tests/NeverFixTests
@@ -1820,7 +1820,9 @@ crbug.com/1018640 external/wpt/web-bundle/wbn-from-network/* [ Skip ] virtual/wbn-from-network/external/wpt/web-bundle/wbn-from-network/* [ Pass ] crbug.com/1119600 external/wpt/direct-sockets/* [ Skip ] +crbug.com/1119600 wpt_internal/direct-sockets/* [ Skip ] virtual/direct-sockets/external/wpt/direct-sockets/* [ Pass ] +virtual/direct-sockets/wpt_internal/direct-sockets/* [ Pass ] crbug.com/1082020 http/tests/loading/wbn/origin-trial/* [ Skip ] virtual/subresource-web-bundles-disabled/http/tests/loading/wbn/origin-trial/* [ Pass ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations index b08b24c7..a7b04ca6 100644 --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -499,6 +499,8 @@ crbug.com/1268426 external/wpt/css/css-backgrounds/border-image-width-should-extend-to-padding.html [ Failure ] crbug.com/1268426 virtual/threaded/external/wpt/css/css-backgrounds/border-image-width-should-extend-to-padding.html [ Failure ] +# No emoji flag symbols available in the Windows system emoji font. +crbug.com/1272436 [ Win10.20h2 ] external/wpt/css/CSS2/text/bidi-flag-emoji-02.html [ Failure ] # ==== Regressions introduced by BlinkGenPropertyTrees ===== # Reflection / mask ordering issue @@ -1130,7 +1132,14 @@ crbug.com/1284251 external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-border-start-start-radius-001.html [ Failure Timeout ] crbug.com/1284251 external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-border-top-color-001.html [ Failure ] crbug.com/1284251 external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-border-top-left-radius-001.html [ Failure ] -crbug.com/1284270 external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Fuchsia ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Linux ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Mac10.12 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Mac10.13 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Mac10.15 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Mac11 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Mac11-arm64 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] +crbug.com/1284270 [ Win ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Failure ] # [css-flexbox] @@ -2189,7 +2198,6 @@ crbug.com/377696 printing/setPrinting.html [ Failure ] crbug.com/1204498 external/wpt/service-workers/service-worker/client-navigate.https.html [ Failure Pass ] -crbug.com/1223681 virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/client-navigate.https.html [ Failure Pass Skip Timeout ] # crbug.com/1218723 This test fails when SplitCacheByNetworkIsolationKey is enabled. crbug.com/1218723 http/tests/devtools/network/network-prefetch.js [ Failure ] @@ -3046,10 +3054,6 @@ crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-205.xht [ Failure ] crbug.com/958381 [ Mac ] external/wpt/css/CSS2/tables/table-anonymous-objects-206.xht [ Failure ] -# unblock roll wpt -crbug.com/626703 external/wpt/service-workers/service-worker/worker-interception.https.html [ Failure ] -crbug.com/626703 virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/worker-interception.https.html [ Pass ] - # ====== Test expectations added to unblock wpt-importer ====== crbug.com/626703 external/wpt/service-workers/service-worker/navigation-timing-extended.https.html [ Failure ] crbug.com/626703 fast/animation/scroll-animations/scroll-animation-lifetime.html [ Failure ] @@ -3074,6 +3078,18 @@ crbug.com/626703 [ Mac11-arm64 ] external/wpt/css/css-flexbox/flexbox_flow-column-wrap.html [ Crash Failure ] # ====== New tests from wpt-importer added here ====== +crbug.com/626703 [ Mac10.13 ] external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html [ Failure ] +crbug.com/626703 [ Mac10.14 ] external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html [ Failure ] +crbug.com/626703 [ Mac10.15 ] external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html [ Failure ] +crbug.com/626703 [ Mac11 ] external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html [ Failure ] +crbug.com/626703 [ Mac11-arm64 ] external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html [ Failure ] +crbug.com/626703 [ Mac10.14 ] external/wpt/css/css-ui/compute-kind-widget-no-fallback-props-001.html [ Timeout ] +crbug.com/626703 [ Mac10.14 ] external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createImageBitmap-e_srgb.html [ Timeout ] +crbug.com/626703 [ Mac10.14 ] external/wpt/html/semantics/forms/form-submission-0/multipart-formdata.window.html [ Timeout ] +crbug.com/626703 [ Mac10.14 ] external/wpt/video-rvfc/request-video-frame-callback-during-xr-session.https.html [ Timeout ] +crbug.com/626703 [ Mac10.14 ] external/wpt/webxr/ar-module/xrSession_interactionMode.https.html [ Timeout ] +crbug.com/626703 [ Mac10.13 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/document-referrer.html [ Timeout Failure ] +crbug.com/626703 [ Mac10.13 ] virtual/fenced-frame-shadow-dom/wpt_internal/fenced_frame/document-referrer.html [ Timeout Failure ] crbug.com/626703 [ Mac10.14 ] external/wpt/web-share/share-url-invalid.https.html [ Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/webxr/depth-sensing/cpu/depth_sensing_cpu_staleView.https.html [ Timeout ] crbug.com/626703 [ Mac10.14 ] virtual/scroll-unification/external/wpt/dom/events/scrolling/overscroll-event-fired-to-document.html [ Timeout ] @@ -3716,8 +3732,7 @@ crbug.com/626703 [ Win ] external/wpt/websockets/stream/tentative/constructor.any.serviceworker.html?wss [ Failure Timeout ] crbug.com/626703 [ Win ] external/wpt/websockets/stream/tentative/constructor.any.worker.html?wss [ Failure Timeout ] crbug.com/626703 [ Win ] external/wpt/content-security-policy/reporting/report-only-in-meta.sub.html [ Failure Skip Timeout ] -crbug.com/626703 [ Win ] virtual/plz-dedicated-worker/external/wpt/service-workers/cache-storage/worker/cache-abort.https.html [ Failure Skip Timeout ] -crbug.com/626703 [ Win ] virtual/plz-dedicated-worker/external/wpt/service-workers/cache-storage/window/cache-abort.https.html [ Failure Skip Timeout ] +crbug.com/626703 [ Win ] external/wpt/service-workers/cache-storage/worker/cache-abort.https.html [ Failure Skip Timeout ] crbug.com/626703 [ Win ] external/wpt/websockets/basic-auth.any.sharedworker.html?wss [ Failure Timeout ] crbug.com/626703 [ Win ] external/wpt/websockets/stream/tentative/constructor.any.html?wss [ Failure Timeout ] crbug.com/626703 [ Win ] external/wpt/service-workers/cache-storage/serviceworker/cache-abort.https.html [ Failure Skip Timeout ] @@ -3907,9 +3922,10 @@ crbug.com/626703 [ Win10.20h2 ] external/wpt/websockets/stream/tentative/backpressure-send.any.sharedworker.html?wpt_flags=h2 [ Failure Skip Timeout ] crbug.com/626703 [ Mac10.14 ] external/wpt/websockets/stream/tentative/backpressure-send.any.html?wpt_flags=h2 [ Failure Skip Timeout ] crbug.com/626703 [ Mac10.15 ] virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/shared-workers.html [ Failure Timeout ] +crbug.com/626703 [ Mac10.15 ] external/wpt/html/cross-origin-embedder-policy/shared-workers.html [ Failure Timeout ] crbug.com/626703 external/wpt/websockets/stream/tentative/close.any.worker.html?wpt_flags=h2 [ Failure Timeout ] -crbug.com/626703 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/multi-globals/workers-coep-report.https.html [ Failure Pass ] -crbug.com/626703 [ Mac10.15 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/basic/http-response-code.any.html [ Crash Failure ] +crbug.com/626703 external/wpt/html/cross-origin-embedder-policy/multi-globals/workers-coep-report.https.html [ Failure Pass ] +crbug.com/626703 [ Mac10.15 ] external/wpt/fetch/api/basic/http-response-code.any.html [ Crash Failure ] crbug.com/626703 [ Mac10.15 ] external/wpt/fetch/api/basic/http-response-code.any.sharedworker.html [ Crash Failure ] crbug.com/626703 [ Mac ] external/wpt/FileAPI/file/send-file-formdata-controls.html [ Crash Pass ] crbug.com/626703 [ Win ] external/wpt/FileAPI/file/send-file-formdata-controls.html [ Crash Pass ] @@ -3953,7 +3969,6 @@ crbug.com/626703 external/wpt/html/interaction/focus/document-level-focus-apis/document-has-system-focus.html [ Timeout ] crbug.com/626703 external/wpt/mediacapture-record/MediaRecorder-peerconnection-no-sink.https.html [ Skip Timeout ] crbug.com/626703 external/wpt/mediacapture-record/MediaRecorder-peerconnection.https.html [ Skip Timeout ] -crbug.com/626703 [ Win7 ] virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/update-bytecheck.https.html [ Skip Timeout ] crbug.com/626703 external/wpt/input-events/input-events-get-target-ranges-joining-dl-element-and-another-list.tentative.html?Backspace [ Failure Skip Timeout ] crbug.com/626703 external/wpt/input-events/input-events-get-target-ranges-deleting-in-list-items.tentative.html?Backspace,ul [ Failure Skip Timeout ] crbug.com/626703 external/wpt/input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace [ Failure Skip Timeout ] @@ -3964,12 +3979,10 @@ crbug.com/626703 external/wpt/input-events/input-events-get-target-ranges-deleting-in-list-items.tentative.html?Delete,ol [ Failure Skip Timeout ] crbug.com/626703 external/wpt/mediacapture-record/MediaRecorder-stop.html [ Timeout ] crbug.com/626703 [ Mac11 ] external/wpt/fetch/api/response/response-clone.any.worker.html [ Failure Timeout ] -crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/response/response-clone.any.sharedworker.html [ Failure Timeout ] +crbug.com/626703 [ Mac11 ] external/wpt/fetch/api/response/response-clone.any.sharedworker.html [ Failure Timeout ] crbug.com/626703 [ Mac11 ] external/wpt/fetch/api/response/response-clone.any.serviceworker.html [ Failure Timeout ] -crbug.com/626703 [ Mac10.15 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/response/response-clone.any.serviceworker.html [ Failure Timeout ] -crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/response/response-clone.any.serviceworker.html [ Failure Timeout ] +crbug.com/626703 [ Mac10.15 ] external/wpt/fetch/api/response/response-clone.any.serviceworker.html [ Failure Timeout ] crbug.com/626703 [ Mac11 ] external/wpt/fetch/api/response/response-clone.any.html [ Failure Timeout ] -crbug.com/626703 [ Mac11 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/response/response-clone.any.html [ Failure Timeout ] crbug.com/626703 [ Mac ] external/wpt/webxr/xr_viewport_scale.https.html [ Timeout ] crbug.com/626703 external/wpt/editing/other/select-all-and-delete-in-html-element-having-contenteditable.html [ Failure Timeout ] crbug.com/626703 external/wpt/paint-timing/with-first-paint/first-contentful-image.html [ Timeout ] @@ -4112,12 +4125,10 @@ crbug.com/626703 [ Linux ] external/wpt/websockets/stream/tentative/abort.any.sharedworker.html?wpt_flags=h2 [ Failure ] crbug.com/626703 [ Linux ] external/wpt/websockets/stream/tentative/constructor.any.html?wpt_flags=h2 [ Failure ] crbug.com/626703 [ Linux ] external/wpt/websockets/stream/tentative/constructor.any.sharedworker.html?wpt_flags=h2 [ Failure ] -crbug.com/626703 [ Linux ] virtual/plz-dedicated-worker/external/wpt/resource-timing/cross-origin-start-end-time-with-redirects.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/resource-timing/cross-origin-start-end-time-with-redirects.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/websockets/Create-blocked-port.any.worker.html?wpt_flags=h2 [ Failure ] crbug.com/626703 [ Win ] external/wpt/resource-timing/cross-origin-start-end-time-with-redirects.html [ Failure ] crbug.com/626703 [ Win ] external/wpt/websockets/Create-url-with-space.any.html [ Failure ] -crbug.com/626703 [ Win ] virtual/plz-dedicated-worker/external/wpt/resource-timing/cross-origin-start-end-time-with-redirects.html [ Failure ] crbug.com/626703 [ Mac ] external/wpt/webrtc/RTCDTMFSender-ontonechange-long.https.html [ Failure Pass ] crbug.com/626703 [ Mac ] virtual/webrtc-wpt-plan-b/external/wpt/webrtc/RTCDTMFSender-ontonechange-long.https.html [ Failure Pass ] crbug.com/626703 [ Mac10.12 ] external/wpt/html/dom/idlharness.worker.html [ Failure ] @@ -4129,8 +4140,8 @@ crbug.com/626703 [ Mac10.12 ] external/wpt/streams/idlharness.any.html [ Failure ] crbug.com/626703 [ Mac10.12 ] external/wpt/streams/idlharness.any.sharedworker.html [ Failure ] crbug.com/626703 [ Mac10.12 ] external/wpt/webhid/idlharness.https.window.html [ Failure ] -crbug.com/626703 [ Mac10.12 ] virtual/plz-dedicated-worker/external/wpt/service-workers/idlharness.https.any.sharedworker.html [ Failure ] -crbug.com/626703 [ Mac10.12 ] virtual/plz-dedicated-worker/external/wpt/service-workers/idlharness.https.any.worker.html [ Failure ] +crbug.com/626703 [ Mac10.12 ] external/wpt/webrtc-encoded-transform/idlharness.https.window.html [ Failure ] +crbug.com/626703 [ Mac10.12 ] external/wpt/service-workers/idlharness.https.any.sharedworker.html [ Failure ] crbug.com/626703 [ Mac10.12 ] virtual/portals/external/wpt/portals/idlharness.window.html [ Failure ] # selectmenu timeouts @@ -4277,7 +4288,6 @@ crbug.com/626703 external/wpt/pointerevents/pointerevent_disabled_form_control-manual.html [ Pass Timeout ] crbug.com/958104 external/wpt/presentation-api/controlling-ua/getAvailability.https.html [ Failure ] crbug.com/626703 external/wpt/screen-orientation/onchange-event-subframe.html [ Timeout ] -crbug.com/626703 virtual/plz-dedicated-worker/external/wpt/xhr/event-readystatechange-loaded.htm [ Failure Timeout ] crbug.com/626703 external/wpt/html/dom/elements/global-attributes/dir_auto-N-EN-ref.html [ Failure ] # Synthetic modules report the wrong location in errors @@ -5574,7 +5584,7 @@ # Sheriff 2019-12-13 crbug.com/1032451 [ Win7 ] virtual/webrtc-wpt-plan-b/external/wpt/webrtc/idlharness.https.window.html [ Failure Pass ] -crbug.com/1033852 [ Win7 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/idlharness.any.sharedworker.html [ Failure ] +crbug.com/1033852 [ Win7 ] external/wpt/fetch/api/idlharness.any.sharedworker.html [ Failure ] # Sheriff 2019-12-16 crbug.com/1034374 http/tests/devtools/tracing/timeline-worker-events.js [ Failure Pass ] @@ -5623,7 +5633,7 @@ crbug.com/1043675 [ Win ] svg/custom/svg-root-with-opacity.html [ Failure ] crbug.com/989665 [ Mac ] external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Crash Pass ] -crbug.com/989665 [ Linux ] virtual/plz-dedicated-worker/external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Crash Pass ] +crbug.com/989665 [ Linux ] external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Crash Pass ] # Sheriff 2020-01-23 crbug.com/1046784 http/tests/inspector-protocol/service-worker/target-reloaded-after-crash.js [ Failure Pass Timeout ] @@ -5663,7 +5673,7 @@ crbug.com/1008483 [ Mac10.15 ] virtual/backface-visibility-interop/external/wpt/css/css-transforms/transform3d-sorting-004.html [ Pass ] crbug.com/1008483 [ Mac11 ] virtual/backface-visibility-interop/external/wpt/css/css-transforms/transform3d-sorting-004.html [ Pass ] crbug.com/1008483 [ Win ] virtual/backface-visibility-interop/external/wpt/css/css-transforms/transform3d-sorting-004.html [ Pass ] -crbug.com/1008483 virtual/backface-visibility-interop/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ Failure Crash ] +crbug.com/1008483 virtual/backface-visibility-interop/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ Failure ] crbug.com/1008483 virtual/backface-visibility-interop/paint/invalidation/stacking-context-lost.html [ Failure ] crbug.com/1008483 virtual/backface-visibility-interop/paint/invalidation/multicol/multicol-as-paint-container.html [ Failure ] @@ -6169,9 +6179,6 @@ # Sheriff 2020-11-12 crbug.com/1148259 [ Mac ] external/wpt/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html [ Failure ] -# Sheriff 2020-11-19 -crbug.com/1150700 [ Win ] virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/registration-updateviacache.https.html [ Failure Pass Skip Timeout ] -crbug.com/1150700 [ Win ] virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/update-bytecheck-cors-import.https.html [ Pass Skip Timeout ] # Disable flaky tests when scroll unification is enabled crbug.com/1130020 virtual/scroll-unification/fast/scrolling/scrollbars/scrollbar-mousedown-move-mouseup.html [ Crash Failure Pass Timeout ] @@ -6184,6 +6191,9 @@ crbug.com/1149987 external/wpt/websockets/Create-blocked-port.any.worker.html [ Pass Timeout ] crbug.com/1150475 fast/dom/open-and-close-by-DOM.html [ Failure Pass ] +# Sheriff 2020-11-19 +crbug.com/1150700 external/wpt/service-workers/service-worker/registration-updateviacache.https.html [ Failure Pass Skip Timeout ] + #Sheriff 2020-11-23 crbug.com/1152088 [ Debug Mac10.13 ] fast/dom/cssTarget-crash.html [ Pass Timeout ] # Sheriff 2021-01-22 added Timeout per crbug.com/1046784: @@ -6449,15 +6459,11 @@ crbug.com/1196745 [ Mac10.15 ] editing/selection/editable-links.html [ Skip ] -# Is fixed by PlzDedicatedWorker. -crbug.com/1060837 external/wpt/html/cross-origin-embedder-policy/reporting-to-frame-owner.https.html [ Timeout ] -crbug.com/1060837 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/reporting-to-frame-owner.https.html [ Pass ] - -crbug.com/1143102 virtual/plz-dedicated-worker/http/tests/inspector-protocol/fetch/dedicated-worker-main-script.js [ Skip ] +# TODO: Should be fixed after PlzDedicatedWorker is launched. +crbug.com/1143102 http/tests/inspector-protocol/fetch/dedicated-worker-main-script.js [ Skip ] # These timeout because COEP reporting to a worker is not implemented. crbug.com/1197041 external/wpt/html/cross-origin-embedder-policy/reporting-to-worker-owner.https.html [ Skip ] -crbug.com/1197041 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/reporting-to-worker-owner.https.html [ Skip ] # Sheriff 2021-04-12 crbug.com/1198103 virtual/scroll-unification/fast/events/drag-and-drop-autoscroll.html [ Pass Timeout ] @@ -6516,8 +6522,8 @@ crbug.com/1203963 [ Mac10.14 ] external/wpt/storage/idlharness.https.any.worker.html [ Failure Pass Skip Timeout ] crbug.com/1203963 [ Mac10.14 ] external/wpt/webusb/idlharness.https.any.html [ Failure Pass Skip Timeout ] crbug.com/1203963 [ Mac10.14 ] external/wpt/xhr/idlharness.any.sharedworker.html [ Failure Pass Skip Timeout ] -crbug.com/1198443 [ Mac10.14 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/basic/request-upload.any.html [ Failure Pass Timeout ] -crbug.com/1198443 [ Mac10.14 ] virtual/plz-dedicated-worker/external/wpt/fetch/api/basic/request-upload.any.worker.html [ Failure Pass Timeout ] +crbug.com/1198443 [ Mac10.14 ] external/wpt/fetch/api/basic/request-upload.any.html [ Failure Pass Timeout ] +crbug.com/1198443 [ Mac10.14 ] external/wpt/fetch/api/basic/request-upload.any.worker.html [ Failure Pass Timeout ] # Sheriff 2021-04-30 crbug.com/1204498 [ Linux ] virtual/scroll-unification/fast/events/hit-test-cache-iframes.html [ Failure Pass ] @@ -6556,13 +6562,8 @@ crbug.com/1205669 [ Mac10.13 ] external/wpt/storage/idlharness.https.any.worker.html [ Failure ] crbug.com/1205669 [ Mac10.13 ] virtual/threaded/external/wpt/animation-worklet/idlharness.any.worker.html [ Failure ] -# Sheriff 2021-05-07 -# Some plzServiceWorker and plzDedicatedWorker singled out from generic sheriff rounds above -crbug.com/1207851 virtual/plz-dedicated-worker/external/wpt/service-workers/idlharness.https.any.serviceworker.html [ Failure Pass Skip Timeout ] - # Sheriff 2021-05-10 crbug.com/1207709 [ Mac10.13 ] external/wpt/resource-timing/document-domain-no-impact-opener.html [ Failure Pass ] -crbug.com/1207709 [ Mac10.13 ] virtual/plz-dedicated-worker/external/wpt/resource-timing/document-domain-no-impact-opener.html [ Failure Pass ] crbug.com/1207709 [ Mac10.13 ] external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html?touch [ Failure Pass Timeout ] # Sheriff 2021-05-12 @@ -6860,8 +6861,8 @@ crbug.com/1222097 external/wpt/html/cross-origin-embedder-policy/blob.https.html [ Skip ] crbug.com/1222097 external/wpt/mediacapture-image/detached-HTMLCanvasElement.html [ Skip ] crbug.com/1222097 http/tests/canvas/captureStream-on-detached-canvas.html [ Skip ] -crbug.com/1222097 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/blob.https.html [ Skip ] -crbug.com/1222097 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/worker-inheritance.sub.https.html [ Skip ] +crbug.com/1222097 external/wpt/html/cross-origin-embedder-policy/worker-inheritance.sub.https.html [ Skip ] +crbug.com/1222097 virtual/shared_array_buffer_on_desktop/http/tests/devtools/security/interstitial-sidebar.js [ Skip ] crbug.com/1222097 virtual/wasm-site-isolated-code-cache/http/tests/devtools/wasm-isolated-code-cache/wasm-cache-test.js [ Skip ] crbug.com/1222097 external/wpt/uievents/order-of-events/mouse-events/mouseover-out.html [ Skip ] @@ -6962,9 +6963,6 @@ crbug.com/1229802 fast/events/pointerevents/multi-touch-events.html [ Failure Pass ] crbug.com/1181886 external/wpt/pointerevents/pointerevent_movementxy.html?* [ Failure Pass Timeout ] -# Sheriff 2021-07-21 -crbug.com/1231431 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html [ Failure ] - # Sheriff 2021-07-22 crbug.com/1222097 [ Mac ] external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-cues-sorted-before-dispatch.html [ Failure Pass ] crbug.com/1231915 [ Mac10.12 ] external/wpt/selection/textcontrols/selectionchange-bubble.html [ Pass Timeout ] @@ -7097,7 +7095,6 @@ crbug.com/1249176 [ Mac11-arm64 ] http/tests/images/document-policy-oversized-images-forced-layout.php [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] transforms/transformed-document-element.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/no-alloc-direct-call/external/wpt/html/canvas/element/manual/drawing-images-to-the-canvas/image-orientation/drawImage-from-blob.tentative.html [ Failure ] -crbug.com/1249176 [ Mac11-arm64 ] virtual/plz-dedicated-worker/external/wpt/service-workers/service-worker/clients-matchall-order.https.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/shared_array_buffer_on_desktop/http/tests/devtools/tracing/console-timeline.js [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/shared_array_buffer_on_desktop/http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/shared_array_buffer_on_desktop/http/tests/devtools/tracing/timeline-time/timeline-usertiming.js [ Failure ] @@ -7110,8 +7107,6 @@ crbug.com/1249176 [ Mac11-arm64 ] webaudio/Oscillator/no-dezippering.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/overlay-scrollbar/plugin-overlay-scrollbar-mouse-capture.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] virtual/offsetparent-old-behavior/external/wpt/shadow-dom/accesskey.tentative.html [ Failure ] -crbug.com/1249176 [ Mac11-arm64 ] virtual/plz-dedicated-worker/external/wpt/service-workers/idlharness.https.any.worker.html [ Failure ] -crbug.com/1249176 [ Mac11-arm64 ] virtual/plz-dedicated-worker/external/wpt/workers/interfaces/WorkerUtils/importScripts/blob-url.worker.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/editing/other/editing-around-select-element.tentative_insertText.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/editing/run/delete_6001-last.html [ Failure ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/editing/run/forwarddelete_6001-last.html [ Failure ] @@ -7210,7 +7205,7 @@ crbug.com/1249176 [ Mac11-arm64 ] external/wpt/webcodecs/audioDecoder-codec-specific.https.any.worker.html?mp4_aac [ Pass Timeout ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/webcodecs/videoDecoder-codec-specific.https.any.worker.html?h264_annexb [ Pass Timeout ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/webcodecs/videoDecoder-codec-specific.https.any.worker.html?h264_avc [ Pass Timeout ] -crbug.com/1249176 [ Mac11-arm64 ] virtual/gpu-rasterization/images/12-55.html [ Failure Pass ] +crbug.com/1249176 virtual/gpu-rasterization/images/12-55.html [ Skip ] crbug.com/1249176 [ Mac11-arm64 ] fast/forms/file/recover-file-input-in-unposted-form.html [ Failure Pass ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/css/css-shapes/shape-outside/shape-image/shape-image-015.html [ Failure Pass ] crbug.com/1249176 [ Mac11-arm64 ] external/wpt/css/css-shapes/shape-outside/shape-image/shape-image-003.html [ Failure Pass ]
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites index a72ca0b..cb6602d 100644 --- a/third_party/blink/web_tests/VirtualTestSuites +++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -447,7 +447,8 @@ }, { "prefix": "direct-sockets", - "bases": ["external/wpt/direct-sockets"], + "bases": ["external/wpt/direct-sockets", + "wpt_internal/direct-sockets"], "args": ["--enable-features=DirectSockets"] }, {
diff --git a/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order-expected.html b/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order-expected.html deleted file mode 100644 index 82c1db02..0000000 --- a/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order-expected.html +++ /dev/null
@@ -1,39 +0,0 @@ -<!DOCTYPE html> -<script> -if (window.internals) - internals.useMockOverlayScrollbars(); -</script> -<style> - #scroller { - position: absolute; - padding: 20px; - box-sizing: border-box; - width: 100px; - height: 100px; - will-change: transform; - overflow: scroll; - } - #foreground1 { - position: absolute; - top: 20px; - left: 20px; - width: 80px; - height: 80px; - background: yellow; - } - #foreground2 { - position: absolute; - width: 20px; - height: 100px; - background: magenta; - } -</style> -<div style="position: relative; width: 100px; height: 100px; background: green"> - <div id="foreground1"></div> - <div id="scroller"> - <div> - <div style="width: 200px; height: 200px; display: inline-block"></div> - </div> - </div> - <div id="foreground2"></div> -</div>
diff --git a/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order.html b/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order.html deleted file mode 100644 index 196b618..0000000 --- a/third_party/blink/web_tests/compositing/scrollbars/overlay-scrollbar-paint-phase-order.html +++ /dev/null
@@ -1,51 +0,0 @@ -<!DOCTYPE html> -<!-- This is similar to external/wpt/css/CSS2/normal-flow/overflow-scroll-paint-order.html, - but we use overlay scrollbars here. --> -<script> -if (window.internals) - internals.useMockOverlayScrollbars(); -</script> -<style> - #scroller { - background: red; - padding: 20px; - box-sizing: border-box; - width: 100px; - height: 100px; - overflow: scroll; - } - #negative-margin { - width: 100px; - height: 100px; - background: green; - margin-top: -100px; - } - #foreground1 { - display: inline-block; - width: 200px; - height: 200px; - background: yellow; - } - #foreground2 { - display: inline-block; - width: 20px; - height: 100px; - background: magenta; - } -</style> -<!-- The paint order should be: - scroller background (invisible) - scroller child background (invisible) - negative-margin background (visible) - foreground1 (visible) - scroller overlay scrollbars - foreground2 (visible) ---> -<div id="scroller"> - <div style="background: pink"> - <div id="foreground1"></div> - </div> -</div> -<div id="negative-margin"> - <div id="foreground2"></div> -</div>
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json index 856f5ad..6d1c51b 100644 --- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json +++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -6980,28 +6980,28 @@ ] ], "grammar-error-002-manual.html": [ - "3cec3df0adb41f5a7345458dee3090175f85f285", + "baba5cd449790e0e966c6a985f0513a227a3429c", [ null, {} ] ], "grammar-error-003-manual.html": [ - "876a7d5565dc08740bc63964828964136ab8bc62", + "4946033e49961532d71bb1f8ace23a2e49d02fb9", [ null, {} ] ], "spelling-error-002-manual.html": [ - "88fa97038ce0a5791c733cbc50926e4447440259", + "18c0c9dceeec0d70b439f6c8a1d74d24538e3408", [ null, {} ] ], "spelling-error-003-manual.html": [ - "559a4fe092ebaa72e31e5a07c38abcc0e6ca6122", + "95c564cacec63517e885a31707ee08c34ad58d77", [ null, {} @@ -10470,13 +10470,6 @@ {} ] ], - "local_FileSystemFileHandle-rename-manual.https.html": [ - "66771018dddac930cd696228c4ae3302f8001b05", - [ - null, - {} - ] - ], "local_FileSystemWritableFileStream-manual.https.html": [ "2db242c708d029893cea4294af15f5b751716fe1", [ @@ -14136,7 +14129,7 @@ ] ], "multicol-height-002-print.xht": [ - "ccc78803d47980cbd95f5d23ecd4025b674fcae1", + "03e0b22eaeb1abfe74d0ba996d7624a0a6fedfc4", [ null, [ @@ -69341,7 +69334,7 @@ "compositing": { "background-blending": { "background-blend-mode-gradient-image.html": [ - "3707748a25644128a3d2875cf87b2e84228c5592", + "986fcda9ac86ac83ae9f49b7b13f0ba41c2a58f4", [ null, [ @@ -69382,7 +69375,7 @@ ] ], "mix-blend-mode-blended-element-interposed.html": [ - "765467c43bb93d816017b726c0ba3734013ffb81", + "66625478e7b1a00ca0e66f5ed64e12f514571910", [ null, [ @@ -69395,7 +69388,7 @@ ] ], "mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html": [ - "482f91d1a43db68ee3895e25418c7c906f212faa", + "147b148bad2d3f5ab20a3c6206e1dd0f3ac1ab27", [ null, [ @@ -69408,7 +69401,7 @@ ] ], "mix-blend-mode-blended-element-overflow-scroll.html": [ - "238e6e0d2463fe5a9a26f944bc2ddff9fb76da16", + "8952b39452846b28aa34f79408ec37458440b96b", [ null, [ @@ -69421,7 +69414,7 @@ ] ], "mix-blend-mode-blended-element-with-transparent-pixels.html": [ - "3d980d2afc3ff1d741047c0b933f7b8bb1b74b2b", + "6fd3a8bad755f7ec4fe50d6a03fb299282e199f3", [ null, [ @@ -69434,7 +69427,7 @@ ] ], "mix-blend-mode-blended-with-3D-transform.html": [ - "acd5a404cb8cbf9c54e01d5f39f9f260eae20511", + "4b4cf814121e3e726fab78a85092212bb16f93f9", [ null, [ @@ -69447,7 +69440,7 @@ ] ], "mix-blend-mode-blended-with-transform-and-perspective.html": [ - "9c01694dc37ce5ca40eec47b5494ce5317bd99a6", + "46189afc581a56160d1dcc931854f78c9da411a5", [ null, [ @@ -69460,7 +69453,7 @@ ] ], "mix-blend-mode-blending-with-sibling.html": [ - "8f95c87a0d77c217b1f7566a600cccdc34895e67", + "80f197c40bcc4b07e60074afd1e6eb5389631052", [ null, [ @@ -69486,7 +69479,7 @@ ] ], "mix-blend-mode-both-parent-and-blended-with-3D-transform.html": [ - "c593973b4d1d9f95a7232bb42237a84b1e3de7f9", + "e388c0566b22bbe0db0d8765f61233e64a5e5cf8", [ null, [ @@ -69577,7 +69570,7 @@ ] ], "mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html": [ - "875b64e18c0e85ed65f123683f340ed9e21f8e2d", + "6d900540d86b0dea02992a8d0d25479d025792c0", [ null, [ @@ -69603,7 +69596,7 @@ ] ], "mix-blend-mode-overflowing-child-of-blended-element.html": [ - "418cde358984643915af75cb5d8b40417c930e55", + "8096cf7f3df0091a04977d481a9306ea583e1155", [ null, [ @@ -69616,7 +69609,7 @@ ] ], "mix-blend-mode-overflowing-child.html": [ - "47042b5ec2450dece70871df216d1c995e275d46", + "de808bab0bdbc6ed81571420966452bf30f03ac4", [ null, [ @@ -69655,7 +69648,7 @@ ] ], "mix-blend-mode-parent-element-overflow-hidden-and-border-radius.html": [ - "0ef8ae3626ad450610f79dde2111147488710000", + "c73516305a6fba807ea2500f130430ca9ae405d9", [ null, [ @@ -69668,7 +69661,7 @@ ] ], "mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html": [ - "59989bc9f7f24b3bbf37b348f1ef126640bf1838", + "5b0c2468343175e3986616b1c72cb2ad0ecdf13f", [ null, [ @@ -69681,7 +69674,7 @@ ] ], "mix-blend-mode-parent-element-overflow-scroll.html": [ - "cd7cfce9979a5afe41acfcda0a7115071eaf2f0c", + "81c110c496dc8572e2ecfcd87b3eb1b361464efa", [ null, [ @@ -69694,7 +69687,7 @@ ] ], "mix-blend-mode-parent-with-3D-transform.html": [ - "a6864a9d462bf76e5de2cf35f990669e3b7e3f09", + "d2175cfbd9f167960efb5358727859f01e1b8980", [ null, [ @@ -69707,7 +69700,7 @@ ] ], "mix-blend-mode-parent-with-border-radius.html": [ - "9fc5cad92460d22bab53c69ce05ad33c89d20b3b", + "9c4f918bc0998da04f32f2da971b8cb990f3c717", [ null, [ @@ -69720,7 +69713,7 @@ ] ], "mix-blend-mode-parent-with-text.html": [ - "06a8c25c97e8470ba5960662c1c01287541d4035", + "005b936e7e60b29ed649309c881d0372efc6319d", [ null, [ @@ -69785,7 +69778,7 @@ ] ], "mix-blend-mode-sibling-with-3D-transform.html": [ - "03c2f36ed0a2566701e26861b687df9f3e79a3e2", + "a9a9d1bd2567229cd8b37a08f8088bc87209ab62", [ null, [ @@ -69798,7 +69791,7 @@ ] ], "mix-blend-mode-simple.html": [ - "367238c0c0333aef477518e8511241ca8e545c00", + "96d303df00fb3784678472632d6ad458bae0fa04", [ null, [ @@ -69811,7 +69804,7 @@ ] ], "mix-blend-mode-stacking-context-001.html": [ - "6c11653c5f19f8ff47c429e1381b760b1e624cfb", + "6fc7c21f33b6f47fdda547c02e8ee4276d3250bd", [ null, [ @@ -69824,7 +69817,7 @@ ] ], "mix-blend-mode-stacking-context-creates-isolation.html": [ - "255b9095a340603582963ccb8e1f4c432360bef0", + "79edf0f0908731949e8005f699f09ed1b3ceed69", [ null, [ @@ -69850,7 +69843,7 @@ ] ], "mix-blend-mode-video-sibling.html": [ - "fa9fe6405658f9aab5a573bc87536b53c03edc98", + "87d7d1eac61c25ec02080d04fe905dc00a2b5d46", [ null, [ @@ -69876,7 +69869,7 @@ ] ], "mix-blend-mode-with-transform-and-preserve-3D.html": [ - "6e351c9b15e1156136a9e851c672c9f2ad3d4e85", + "c59835e9a7f4eb9e19bd11fed61ae5c9af7669e1", [ null, [ @@ -70809,7 +70802,7 @@ ] ], "background-attachment-350.html": [ - "fa63370a43cd575f54fd0004d4436d551144026c", + "979171f6e66d934c05453c4974f0858e4d005bdd", [ null, [ @@ -70822,7 +70815,7 @@ ] ], "background-attachment-353.html": [ - "5ed09397a83b94c46242641461dae3f69c7c38a1", + "ca5a41d05ab9e13541e2725289a59d8908b51e41", [ null, [ @@ -71170,7 +71163,7 @@ ] }, "background-clip-002.html": [ - "f9947df0282f17182111c09bfe538806364fd1ac", + "286e482ef223002fd18aedbea34f86b916f55879", [ null, [ @@ -71183,7 +71176,7 @@ ] ], "background-clip-003.html": [ - "332d657a5c140dfcd55ddba854b215c3e05015c3", + "e8b03bdf43c77624f0ff614ae0b479f5c0c51924", [ null, [ @@ -71196,7 +71189,7 @@ ] ], "background-clip-004.html": [ - "ad82e05ac6f084e27cf551fd54081c0320a5aef9", + "d2bf3e00b0e1bd986860f21867ab4137c7c77f65", [ null, [ @@ -71209,7 +71202,7 @@ ] ], "background-clip-005.html": [ - "4f3a5e5480c12f29a510dc551d1ba073b32f6e79", + "426b85466058342c57aeb8adc2a4291279cb9fef", [ null, [ @@ -71222,7 +71215,7 @@ ] ], "background-clip-006.html": [ - "c5b57dd6caf40dc5b836f6cf173d8c693bc8201a", + "643865a149ee2352c0011f3894cb5d9b3c51029e", [ null, [ @@ -71235,7 +71228,7 @@ ] ], "background-clip-007.html": [ - "2566e70d478957c53e6d17345d4db3c6f1507918", + "09596b277290f9f4ad5092dcbe931a7ce91c91cf", [ null, [ @@ -71248,7 +71241,7 @@ ] ], "background-clip-008.html": [ - "6b50b002692ef587c0d1d4ca6b00160e88f6ed0a", + "5994edfb0e0885cc3f29613cb25d1eeda9254dc0", [ null, [ @@ -71261,7 +71254,7 @@ ] ], "background-clip-009.html": [ - "31dae465433edcea84f275d972c6568b7756c0a5", + "d2dae107613f844b12dd9e4aecc591c06c1df124", [ null, [ @@ -71274,7 +71267,7 @@ ] ], "background-clip-010.html": [ - "326a97f6e26d3c37a27d2cb7097ea91815c1051b", + "856846d19aaf078050b949f8d1d195a249c99231", [ null, [ @@ -72014,7 +72007,7 @@ ] ], "background-origin-008.html": [ - "39974f52f93dc2d50cfc2caf77ea92b046fcf2fe", + "a4d7e993e3e138398cf91a20ebda38f20846adad", [ null, [ @@ -72027,7 +72020,7 @@ ] ], "background-paint-order-001.html": [ - "af0efd918ec401b8e2289b7589bcbf88c8b28848", + "cf567ff96b7abd1e93146596866c75d1241618c5", [ null, [ @@ -75610,7 +75603,7 @@ ] ], "background-size-041.html": [ - "6eb8e59eeac9cf0f4340ab0bd273da94134a9197", + "89a52102781e08669b1dc427db73dccf0f0d7e2c", [ null, [ @@ -75623,7 +75616,7 @@ ] ], "background-size-042.html": [ - "383bc5333d6d664e66cc9bf86b3a526cc41d48d6", + "9e1e041e6da3f8aad23ad904e8c7ba8dea6396b5", [ null, [ @@ -75636,7 +75629,7 @@ ] ], "background-size-043.html": [ - "35b691aadfab744ca9c5e8ca1efa23642e3646dd", + "e641926ef64d9102fd8d7f7e0284104c4faf193d", [ null, [ @@ -75649,7 +75642,7 @@ ] ], "background-size-044.html": [ - "ac2ef2ab3ad71ccd5cbdd00fdee663d01d53cb50", + "67f032c34519901540fd4442b4111f7b7dcb1806", [ null, [ @@ -75779,7 +75772,7 @@ ] ], "border-bottom-left-radius-001.xht": [ - "2f55928dc8f51d5e5596676ff242a9fe2e3aaafb", + "25bfd041d87720402224d93f6666dca4f9fbaa90", [ null, [ @@ -75818,7 +75811,7 @@ ] ], "border-bottom-left-radius-010.xht": [ - "3e7a1788b54919cdde0ec9ffc5e8e5dea8bff5f3", + "9a4c0ecf76a15b259f85c2f73ed39e86536fe0f7", [ null, [ @@ -75831,7 +75824,7 @@ ] ], "border-bottom-left-radius-011.xht": [ - "dfe6e666ec6b3c7df53dae8ba7ea08f8fa109887", + "3f01535efe25707940944cd411e5413853728ab4", [ null, [ @@ -75844,7 +75837,7 @@ ] ], "border-bottom-left-radius-014.xht": [ - "a225325c1e64352a85ae39b9aad06a41cbf0ad08", + "dd2ba266319ecb3fd840f64f5bf0e48af61b186a", [ null, [ @@ -75857,7 +75850,7 @@ ] ], "border-bottom-right-radius-001.xht": [ - "378f23f5b22b7a75d9cd687b481c9fe7e91dafb1", + "66ec3ed117d26bcff2df04b0f09a05ef3a5ef49f", [ null, [ @@ -75896,7 +75889,7 @@ ] ], "border-bottom-right-radius-010.xht": [ - "76676f89d1ca83470387e988d6ba6b14232bffa1", + "7d7261ecedcb3bbbeda4ee602c221d826c9dc57e", [ null, [ @@ -75909,7 +75902,7 @@ ] ], "border-bottom-right-radius-011.xht": [ - "5ab394df90a56094c3e77439c55174709d9873b5", + "9ad97820eca2341c6eddce929baca4f17c983302", [ null, [ @@ -75922,7 +75915,7 @@ ] ], "border-bottom-right-radius-014.xht": [ - "5263260548b2f67b06b90952408742337850dea2", + "0a2eec7440b2adba2fc31d132488c5a00eaff563", [ null, [ @@ -76302,7 +76295,7 @@ ] ], "border-image-shorthand-001.htm": [ - "c767533d0c4d4627a4970d7f19bf748912bde0fe", + "26fda73b19cfadc0a95305fe222b415f4999bf7a", [ null, [ @@ -76315,7 +76308,7 @@ ] ], "border-image-shorthand-002.htm": [ - "918d7298791effe04f0658f8dab4796abe2c3840", + "9f47f77a5034fafd08103dd616a7add16a650cc4", [ null, [ @@ -76328,7 +76321,7 @@ ] ], "border-image-shorthand-003.htm": [ - "1762966c2c13de7d3b266776b4b82863e6fc76d9", + "718c3a2b2aaabe004a665fdd880474eb8e550b93", [ null, [ @@ -76380,7 +76373,7 @@ ] ], "border-image-slice-005.htm": [ - "e85c1a141d64e87e868ece80c3f0a35c87c97ae5", + "9993ccd673cdb0543352b0ff7a639f687b55d48f", [ null, [ @@ -76409,7 +76402,7 @@ ] ], "border-image-slice-007.htm": [ - "0243b8e22e631b6b85262106f0d5e762306eb925", + "7666444ce574c1c4c283b6a8fcb27e6dd0ed9917", [ null, [ @@ -76451,7 +76444,7 @@ ] ], "border-image-space-001.html": [ - "8794d37324c8284e6fd9b265842ed23574c68b09", + "1153f9de493d9daf23ab4fdb49d3c19ed99d6605", [ null, [ @@ -76795,7 +76788,7 @@ ] ], "border-radius-shorthand-002.html": [ - "afaa9f9142101a4c95588d83c9423b5061004bbd", + "8191cf48f3798a79f239ec3130e3d9eb3bcd78b5", [ null, [ @@ -76808,7 +76801,7 @@ ] ], "border-top-left-radius-001.xht": [ - "cce965412bc40a5d0bc3766ff1f52b028c78f909", + "0346518e2161a81fc76008f415c746d3342b210b", [ null, [ @@ -76847,7 +76840,7 @@ ] ], "border-top-left-radius-010.xht": [ - "61b55e1f0857adf2ed65017fc4ae02cbe25e1e0e", + "9d4afb327cd5e66ea8a9ea73697933dea7690b87", [ null, [ @@ -76860,7 +76853,7 @@ ] ], "border-top-left-radius-011.xht": [ - "48269bb507700df6bdd1ffea650c6806d8490eaa", + "2fd9ebabf892c681a292915dad66fd539c43eba2", [ null, [ @@ -76873,7 +76866,7 @@ ] ], "border-top-left-radius-014.xht": [ - "9822c46377e5caa8f36dd4dd6c6dafaca798b9a4", + "8df8f12e1dfa95b56ef4099a0976e4f0b419a972", [ null, [ @@ -76886,7 +76879,7 @@ ] ], "border-top-right-radius-001.xht": [ - "1fbfa1df77e9a77715fdadc499f3f3ea834d2492", + "30091f329c53a37f688d15754daa04b38dd46d6a", [ null, [ @@ -76925,7 +76918,7 @@ ] ], "border-top-right-radius-010.xht": [ - "5f2d5e5eab55bfd86a16e42a440e9773c28d11c5", + "8c540304b332cbb2ccf802d28012e1ba617319f1", [ null, [ @@ -76938,7 +76931,7 @@ ] ], "border-top-right-radius-011.xht": [ - "6c562e54e1ea3d4a2115da8e379bae9fdf7da86a", + "e59567e219ae1a056a08b23f4ce45ebb098cf018", [ null, [ @@ -76951,7 +76944,7 @@ ] ], "border-top-right-radius-014.xht": [ - "0a7abee28b6c945b83c5e26db956a17c69e86e44", + "ad160426759e8b920dcf5587bf6bd6a099a5fbcb", [ null, [ @@ -77068,7 +77061,7 @@ ] ], "box-shadow-029.html": [ - "aa0fbfd6ddfd976fb1254d0f7df8ef2ccad9698c", + "9592c8af79d441e985ad05bc471a55fed68cb4d0", [ null, [ @@ -77081,7 +77074,7 @@ ] ], "box-shadow-039.html": [ - "c3badbc211b7995aa8bd4db165d3667eb61848c9", + "614078d599a0700e3b851b72ddefad50bb4fd50c", [ null, [ @@ -77094,7 +77087,7 @@ ] ], "box-shadow-040.html": [ - "dea5d5bfaf443ca11c0e1619931a5e929e3e3571", + "e406acc67a3992015bd091afb283bebd84b790b1", [ null, [ @@ -77107,7 +77100,7 @@ ] ], "box-shadow-041.html": [ - "907ca82a6df5ab070b7531a5893b965ddcc6dcfa", + "f91189bcc49300c4098a3303dc1792a1af0a25ec", [ null, [ @@ -77120,7 +77113,7 @@ ] ], "box-shadow-042.html": [ - "ec9212e5b6c9ace7787a5d0321dfa6be17f7ae75", + "0e53b364630624385379e5e7f7e73becf3ec199b", [ null, [ @@ -77224,7 +77217,7 @@ ] ], "box-shadow-overlapping-001.html": [ - "a1ea7cd4a569cb6b4b6ff4ab6ce6cacbe796895e", + "2c77838108d535372866ca5aafc6115c6dbea144", [ null, [ @@ -77237,7 +77230,7 @@ ] ], "box-shadow-overlapping-002.html": [ - "e00e0e0808b4839f6e2c9aa3fea4c8c12e5b474b", + "60659721fb10e716a13c05c951df26c72641acde", [ null, [ @@ -77250,7 +77243,7 @@ ] ], "box-shadow-overlapping-003.html": [ - "727162934aa76b9f145da26f491582163b980ff5", + "dcae3f050633965cf8463de35052ea2e9916efbc", [ null, [ @@ -77263,7 +77256,7 @@ ] ], "box-shadow-overlapping-004.html": [ - "6c6a9d7f5fb903371aa7bdf91f8f12903bc67f7f", + "97b690b956e6bed8bb6212ab96e895017fd59163", [ null, [ @@ -77302,7 +77295,7 @@ ] ], "box-shadow-table-border-collapse-001.html": [ - "a4413ee97ffa0816294700a60f2f82e37d3762f0", + "c6c50b73bde76082d57c49e47675573158567ff9", [ null, [ @@ -82018,7 +82011,7 @@ ] ], "widows-001.html": [ - "eb453ee64d8cfa1bcee456d614b64a3d67be122e", + "d3b3af6ff06d1f469027d6d9183c3f2ce13cbaac", [ null, [ @@ -82044,7 +82037,7 @@ ] ], "widows-orphans-001.html": [ - "8da27f0b6594fc7ddd90bdb160be8f80a9479038", + "b21146d12e00d29d2f80c8a67a136cd9e8d3ee48", [ null, [ @@ -82057,7 +82050,7 @@ ] ], "widows-orphans-002.html": [ - "cf9afe7c033438162bcfc15f527f73ae370652b4", + "d13cc848ae78a71e2d202f6886f506c98d4ad629", [ null, [ @@ -82070,7 +82063,7 @@ ] ], "widows-orphans-003.html": [ - "311148409267e02ccd9b8819883ac05c2e82d407", + "ed7bee47011583d1503b5c0e88b6adae076804ed", [ null, [ @@ -82083,7 +82076,7 @@ ] ], "widows-orphans-004.html": [ - "3e226d9e41e42fc79a9a3ac967fc935f68f7e061", + "1507086efa0de8dcc73e9698745abaad32867596", [ null, [ @@ -82122,7 +82115,7 @@ ] ], "widows-orphans-008.html": [ - "8726e35a7035b834b0676c09dd7d24dd8cecbca8", + "02fdb1332b8cff6efe3d92316ff640bb8819d4bb", [ null, [ @@ -82135,7 +82128,7 @@ ] ], "widows-orphans-009.html": [ - "2c1fc1b888d55e5e106c7f85e1d9d8902e25dc51", + "8b71d5a73efb52d1c4fd3435bcc50f4e1da41032", [ null, [ @@ -82148,7 +82141,7 @@ ] ], "widows-orphans-010.html": [ - "96de985527c6003e6598c632d38f0ec2828e54a0", + "99a76921a2b1ec5582a93a83cb59af6bae09bc5b", [ null, [ @@ -82161,7 +82154,7 @@ ] ], "widows-orphans-011.html": [ - "489e2684309edce4eff193fa2668ae5032418409", + "c3741a977a74a345de08a1fde4f29a4ab8b72c65", [ null, [ @@ -82174,7 +82167,7 @@ ] ], "widows-orphans-012.html": [ - "d209cde44a1211bd797d1701e079646755bba67b", + "f24f8cbbf6d19755ab28e10d5b9ef0fac9748449", [ null, [ @@ -82187,7 +82180,7 @@ ] ], "widows-orphans-013.html": [ - "68e0d4193065d1fa024beaa710660952038b2c8f", + "c9eae4375f701e61f21f4e08da9f272d7a58b2ef", [ null, [ @@ -82200,7 +82193,7 @@ ] ], "widows-orphans-014.html": [ - "87a9b877a171dc3230581d7433acf457d313b175", + "96cccecc8004ee4cca40ec21c1218464e8dd84ad", [ null, [ @@ -82213,7 +82206,7 @@ ] ], "widows-orphans-015.html": [ - "269279f074a4d5b766c13d5f433cb134c7b8b02d", + "054490a785df0375de2522f6835c90c0a0afbd09", [ null, [ @@ -82226,7 +82219,7 @@ ] ], "widows-orphans-016.html": [ - "4499a57a0b57d7e1702f73a4f15236bded2224a0", + "e9597acab4702cb91804b96ba3dc926954966a3a", [ null, [ @@ -82239,7 +82232,7 @@ ] ], "widows-orphans-017.html": [ - "bbdbbbbb8bb5912a00c3746a35fe5b0a99eda3c3", + "2bc99b81889a733e3117e504ba3619be81df8fc4", [ null, [ @@ -82252,7 +82245,7 @@ ] ], "widows-orphans-018.html": [ - "80699c698d385b244cb58a79c108c6f28e733579", + "3ffd3dbddd8bc86fa422e73522c62c61996a92fd", [ null, [ @@ -82280,7 +82273,7 @@ }, "css-cascade": { "all-prop-001.html": [ - "2fe110fb278a135e7279a99f457b4bdb0dc58ca6", + "9c07dfe1b8d6edc692826ad1435a7e467b8d9ddd", [ null, [ @@ -82293,7 +82286,7 @@ ] ], "all-prop-002.html": [ - "f68b7c046d9d22994dbc78c722b5004f1253027f", + "1e5b450ce1652ea4d0e77a517a63e3b8159ffddc", [ null, [ @@ -82306,7 +82299,7 @@ ] ], "all-prop-inherit-color.html": [ - "bd2503d56df3e9b81edc2ffdf2aba83da32d3932", + "6cd8425cb9c8c725134de3583a2dd0effcf417a4", [ null, [ @@ -82319,7 +82312,7 @@ ] ], "all-prop-initial-color.html": [ - "beccbf64abe1eb7e4f7ce748720ee7a31155e3ba", + "83a78bd08602ce9aa7cb8f681e9f3626fc3083b6", [ null, [ @@ -82345,7 +82338,7 @@ ] ], "all-prop-revert-color.html": [ - "3ac55cb18a108cd24ffcc470990dcb91516889b9", + "786bd0810936ab7473ae27f79320a2119a53f1cc", [ null, [ @@ -82371,7 +82364,7 @@ ] ], "all-prop-unset-color.html": [ - "6bd59a6fc81c52061ed9106f29f25a2fbc48215f", + "457901f84148be52335d3a7e36c8e943fa664068", [ null, [ @@ -82410,7 +82403,7 @@ ] ], "important-prop.html": [ - "cf964077165c7af3401ab2d8f6fef03e4d3f2442", + "e8abffdf883c180221d8a98b32a62b6109fbe261", [ null, [ @@ -82436,7 +82429,7 @@ ] ], "initial-color-background-001.html": [ - "15a1cf5a4f803d7ec419fcc5910fb4183a6b0c05", + "50e1384b0f2f485e8abe71f7e9f5dab5ad95c121", [ null, [ @@ -82631,7 +82624,7 @@ ] ], "revert-val-001.html": [ - "a346267c7bdb08b6b67ca68c6e821ea71ab1eefa", + "b3d79d9e6909afc2a8fbd8a7e7ab4c5db6ebb3ab", [ null, [ @@ -82657,7 +82650,7 @@ ] ], "unset-val-001.html": [ - "a3d60947b22a6f68b6cb4d81d0ff328f40b4f9c2", + "857cb5d40dc40bfe800290fd6d4aa1c39c33ffd9", [ null, [ @@ -82670,7 +82663,7 @@ ] ], "unset-val-002.html": [ - "e68417ff041e5a651e9b005938c8d5d804a81d66", + "61f941a038606ab4394041bd16c7a512f2746772", [ null, [ @@ -84453,7 +84446,7 @@ ] ], "t31-color-currentColor-b.xht": [ - "785a6f6dea657a0d637e952359074dffafbc8569", + "b4ff486168877f9eb7326bb8648b0d19abc5d8ff", [ null, [ @@ -84466,7 +84459,7 @@ ] ], "t31-color-text-a.xht": [ - "861d94d66e6656a64522d502e0408d9e46a10ba4", + "ecc6410c8d36289462d5ad8d58603e4a502bd78c", [ null, [ @@ -84479,7 +84472,7 @@ ] ], "t32-opacity-basic-0.0-a.xht": [ - "637638d96a496696e0168907127ddc0fca274fa2", + "1f08e1729c00386bd8f1e3f1727c4da1257ebd15", [ null, [ @@ -84492,7 +84485,7 @@ ] ], "t32-opacity-basic-0.6-a.xht": [ - "8978581461c0c567d456b468b31f1c7a4b0fb376", + "13761b1bbfb1360c39054b2a106150b3f36786a3", [ null, [ @@ -84505,7 +84498,7 @@ ] ], "t32-opacity-basic-1.0-a.xht": [ - "6d8ea9ec127a322e1be436aa32885e3a3265a92b", + "4df4574eca940a905d04eac88b217881d8b2204a", [ null, [ @@ -84518,7 +84511,7 @@ ] ], "t32-opacity-clamping-0.0-b.xht": [ - "966f7e0e7e7e3d0a870b1722e5dba1be4424e292", + "79a7637e234d87f4953eb12edc2cebb82f7ef1a4", [ null, [ @@ -84531,7 +84524,7 @@ ] ], "t32-opacity-clamping-1.0-b.xht": [ - "31121cb002a442556360554210ab52f0328fb3b7", + "60504ec62a3d356131046c14203c8c4bb9ec672f", [ null, [ @@ -84544,7 +84537,7 @@ ] ], "t32-opacity-offscreen-b.xht": [ - "a373f98980e46a477005321064ef2cc88e661f20", + "e9ba0c7d94db213d22692462df6229aaa2a8ccdf", [ null, [ @@ -84557,7 +84550,7 @@ ] ], "t32-opacity-offscreen-multiple-boxes-1-c.xht": [ - "91ad0c6ff9e590c007727db4d99061af297f2a68", + "5920d305e53a968ca58764e99db86e8a85d04e68", [ null, [ @@ -84570,7 +84563,7 @@ ] ], "t32-opacity-offscreen-multiple-boxes-2-c.xht": [ - "4a60c6ec5e8d5ffbe550432e8de5356c79548026", + "ce02031a55e5ae25f8df275250f585b012166c3f", [ null, [ @@ -84583,7 +84576,7 @@ ] ], "t32-opacity-offscreen-with-alpha-c.xht": [ - "fdd9ae27793b69cfffa7bd013a5106eb772670f9", + "57e5e3cc860cd2600dd4723831d29fb39f684782", [ null, [ @@ -84596,7 +84589,7 @@ ] ], "t32-opacity-zorder-c.xht": [ - "4614a64b7eee2da7cd3dd6cdc904ff29ec64cc27", + "a6896d54fe5150bfe0815141c1d3dfb0c5e45486", [ null, [ @@ -84609,7 +84602,7 @@ ] ], "t41-html4-keywords-a.xht": [ - "3a3e332ed565f6c905e0d18bd02c1ee03bd4bcd7", + "b866dd55c1ed5c82802f7b7445f52c9e82fb76d7", [ null, [ @@ -84622,7 +84615,7 @@ ] ], "t421-rgb-clip-outside-gamut-b.xht": [ - "1fd50ff3493b1a28d454e4db2e4dca6965070db8", + "410a6a9430e7723af075ed9d1a08223e9ffbd2e5", [ null, [ @@ -84635,7 +84628,7 @@ ] ], "t421-rgb-func-int-a.xht": [ - "15f207d88b0a4ac77f1b4c03ddee69294f7e5186", + "c37dfd91afa06f9701d4c924ffc051554e2e035f", [ null, [ @@ -84661,7 +84654,7 @@ ] ], "t421-rgb-func-pct-a.xht": [ - "1df6ac2b5fb5a2176912820b743a361e59fcbc69", + "51a4c9112d0be42bf8bf3905d20599a07d47f494", [ null, [ @@ -84674,7 +84667,7 @@ ] ], "t421-rgb-func-whitespace-b.xht": [ - "27e815c6c72da287bbaac693564a2bbd7cd9dafb", + "29c513a13297b13d9a1eb3cddcac0b674eb94409", [ null, [ @@ -84700,7 +84693,7 @@ ] ], "t421-rgb-hex3-a.xht": [ - "632e91ec2d6bbcb5fdb84300375d1476d2458de5", + "b21e4887a36a64722d687b014fa800219d8f293c", [ null, [ @@ -84713,7 +84706,7 @@ ] ], "t421-rgb-hex3-expand-b.xht": [ - "5ba02ea6a571954cd3441ae2b2102489039b59ae", + "71dc06d30d1899e26fc02741e2c76d1383e47cf7", [ null, [ @@ -84726,7 +84719,7 @@ ] ], "t421-rgb-hex6-a.xht": [ - "fba70dd0a4728c12cb88003e6e121ea3baea1ccf", + "a88e181b45d7e5f2def796e1de612c553eaff71c", [ null, [ @@ -84739,7 +84732,7 @@ ] ], "t421-rgb-values-meaning-b.xht": [ - "b628d3e859cb74f19ad8306b21152f516243a731", + "9d12b1b2e9b525d250104db80dc331301fb0fc46", [ null, [ @@ -84752,7 +84745,7 @@ ] ], "t422-rgba-a0.0-a.xht": [ - "28f41b8b111cf3e0c3f4fe30e456e9925e6f9105", + "3b7c934d15d8928432443049c8952fe1285339f8", [ null, [ @@ -84765,7 +84758,7 @@ ] ], "t422-rgba-a0.6-a.xht": [ - "39c33732c4c6bda68a7772e656229e466bc62d08", + "c9115d6c5d63d7e8ac7b5a657f03f4878675a2d3", [ null, [ @@ -84778,7 +84771,7 @@ ] ], "t422-rgba-a1.0-a.xht": [ - "493bfecd3ff9367472707813b5cf9b37eeabee6d", + "b974af96bfff98e253c0155b3d8cece26e057f47", [ null, [ @@ -84791,7 +84784,7 @@ ] ], "t422-rgba-clamping-a0.0-b.xht": [ - "d95e363dbb6026482fcb1be6883a9df2491c9000", + "cd9810fe395e1f09bf2b98bf997443b2126ceb65", [ null, [ @@ -84804,7 +84797,7 @@ ] ], "t422-rgba-clamping-a1.0-b.xht": [ - "2584aac3725ba904a44aaa603bef8ac52da90d14", + "662bd3e6dba35deb8ac8c97322462f6ddd939818", [ null, [ @@ -84817,7 +84810,7 @@ ] ], "t422-rgba-clip-outside-device-gamut-b.xht": [ - "97f7dbf1c917afee274b6fd0ddddbddda3835b4a", + "81ac05b38809daff4a514877bd406c26b125e59b", [ null, [ @@ -84830,7 +84823,7 @@ ] ], "t422-rgba-func-int-a.xht": [ - "c0ec6ed0b6a4e9bef4bdc912383a3b747b8749fa", + "c85bad25e39351b3dfb78e6cfbac5fb583dd0098", [ null, [ @@ -84856,7 +84849,7 @@ ] ], "t422-rgba-func-pct-a.xht": [ - "1188a9baa429ed8fe1fcd439654b58e9c42a8410", + "9070bed11a691e4e13202c7b1821be269e6c27f5", [ null, [ @@ -84869,7 +84862,7 @@ ] ], "t422-rgba-func-whitespace-b.xht": [ - "1be1e01c3449b5447baf46cda172a476d0052d3d", + "ca80260b757e232fedaadcf16f53746582fb2a2e", [ null, [ @@ -84882,7 +84875,7 @@ ] ], "t422-rgba-onscreen-b.xht": [ - "04c1082dd835dbe568294a193700aa2509631ab2", + "7d1f44203c5bb984bd91480a9c43455f6265c1b2", [ null, [ @@ -84895,7 +84888,7 @@ ] ], "t422-rgba-onscreen-multiple-boxes-c.xht": [ - "01a0bced79a72d68ff25743420944be9354c321b", + "0ac780eea8e1803924d921c69c21ff6cc5f77b48", [ null, [ @@ -84908,7 +84901,7 @@ ] ], "t422-rgba-values-meaning-b.xht": [ - "daea66c47b84de4b8a6651f4044b64c766b41171", + "2149ef398eda4e8d06b404e220fda4b859e49309", [ null, [ @@ -84921,7 +84914,7 @@ ] ], "t423-transparent-1-a.xht": [ - "77087a51bb601f8898642f19f24315bf5e307344", + "d8680884bfcd3be39fa94a7cfc3da80584419cfa", [ null, [ @@ -84934,7 +84927,7 @@ ] ], "t423-transparent-2-a.xht": [ - "de2cfa5009b73f32781ba10755a81e425a642170", + "0427ec5ff6819f9d25ce5d48a264d096cbd8b95d", [ null, [ @@ -84947,7 +84940,7 @@ ] ], "t424-hsl-basic-a.xht": [ - "929d523e9caa62bdc1986a13505f81c95d64e79c", + "9fc453c939cf99167c034817a29ec59f240ecc85", [ null, [ @@ -84960,7 +84953,7 @@ ] ], "t424-hsl-clip-outside-gamut-b.xht": [ - "dba10fddaac792c29b25b2a36d9fce62d6daa506", + "d66c2db925a8d5afdf0fc558c26b0d20bec92367", [ null, [ @@ -84973,7 +84966,7 @@ ] ], "t424-hsl-h-rotating-b.xht": [ - "4d2d4cf527bf9494e1e2d661bc8d86ae273bad47", + "b310316f68a49e588863cccd96561173893fca6e", [ null, [ @@ -84999,7 +84992,7 @@ ] ], "t424-hsl-values-b-1.html": [ - "64e9409fa42e4b7877eac0fc98b3cd1dc6f5f04b", + "11d78a4afcc1380c8d4b7464b1c51399500f839c", [ null, [ @@ -85012,7 +85005,7 @@ ] ], "t424-hsl-values-b-10.html": [ - "384c58be0511c962472d53c6df40d655a2796139", + "6a18362610a1db849d51d4d3f3f6ec18836ace94", [ null, [ @@ -85025,7 +85018,7 @@ ] ], "t424-hsl-values-b-11.html": [ - "41e58100b05f7f9a5826f1a537ebc31f16027672", + "c76e7bafeabda981cfbadff69cab032ca0444efb", [ null, [ @@ -85038,7 +85031,7 @@ ] ], "t424-hsl-values-b-12.html": [ - "614d5e314b8b97768182e9c15d7ac365deb58e80", + "cba1cb9c4b33ae4a65e116effd5e4f40e14ef364", [ null, [ @@ -85051,7 +85044,7 @@ ] ], "t424-hsl-values-b-13.html": [ - "0c9f151e79940e6d2589bdedcc91c9266d698683", + "bf69977f5e4e505042828e4e44d91e5337442fbf", [ null, [ @@ -85064,7 +85057,7 @@ ] ], "t424-hsl-values-b-14.html": [ - "61b04c9a34895f1fb3e5b658e9e31c52b3d49f28", + "48fbe10210956b4166575845a6adca620d339969", [ null, [ @@ -85077,7 +85070,7 @@ ] ], "t424-hsl-values-b-15.html": [ - "03306fe153702199f5eef3d821a26e7d8f795308", + "15f88c885c935b8f3e76c485a8f5696ef1ba8730", [ null, [ @@ -85090,7 +85083,7 @@ ] ], "t424-hsl-values-b-2.html": [ - "7b579dc0d5ed3f7ade4a9ee0731820d824c31e61", + "15e81d5f121719d24e036c98138d283384901cf3", [ null, [ @@ -85103,7 +85096,7 @@ ] ], "t424-hsl-values-b-3.html": [ - "a8bad00525d76752ea27b3bad16b72dfa64c7734", + "546b8bfc6f600c4ab0c37f19930687e1d6a9b773", [ null, [ @@ -85116,7 +85109,7 @@ ] ], "t424-hsl-values-b-4.html": [ - "3e22e351daa3ba05d46c33cadeed2296f4d871e1", + "9f981a44c9d59710323e3c02d2150328cefccb29", [ null, [ @@ -85129,7 +85122,7 @@ ] ], "t424-hsl-values-b-5.html": [ - "143a0edd62d52754d5a61968df5fceabb405369b", + "5d4e569db0e5da2d93886dcb48e7d177d8ad68c2", [ null, [ @@ -85142,7 +85135,7 @@ ] ], "t424-hsl-values-b-6.html": [ - "e8be0974b4be5c7676cc7f9d4742bedd4d9871e7", + "9e54ba00227d96c354569147ded8a587ac6e0cfc", [ null, [ @@ -85155,7 +85148,7 @@ ] ], "t424-hsl-values-b-7.html": [ - "8f8b4cc5da049a0904a774491a7c7e42392789cb", + "9b237d0b8ae9300418412263abbcb0c0e60c3a62", [ null, [ @@ -85168,7 +85161,7 @@ ] ], "t424-hsl-values-b-8.html": [ - "ff20ebd891e56ea64d78c6befa96c64c5821613a", + "906857b8eeaafd1620f4ab4ce453bbd7d07da5fc", [ null, [ @@ -85181,7 +85174,7 @@ ] ], "t424-hsl-values-b-9.html": [ - "1a0d2e386d9c05375ea9419cb5d886e15b48126b", + "eac48ff3d4e8c9744584e8fc3360e603a63bb337", [ null, [ @@ -85194,7 +85187,7 @@ ] ], "t425-hsla-basic-a.xht": [ - "2d944f3928dfd457dfc26311068fddcfb63ca800", + "14b079b11081847849d7f6cdc0f00326f1ecb9ed", [ null, [ @@ -85207,7 +85200,7 @@ ] ], "t425-hsla-clip-outside-device-gamut-b.xht": [ - "8dbab291cdaf1352c8099ce97ced9ef1fa807b33", + "d30cf8c48393c1527d59a4bb87451f09a72491f6", [ null, [ @@ -85220,7 +85213,7 @@ ] ], "t425-hsla-h-rotating-b.xht": [ - "09747330d5503fe01d9fd126816cf6f176f4190c", + "a192442be7ddda6501238fe98f4f988c8f3be50a", [ null, [ @@ -85233,7 +85226,7 @@ ] ], "t425-hsla-onscreen-b.xht": [ - "60b9efc9f12bbccc341b85f1881e3761391bad25", + "b2dcf5fd89fa54ac86be8dea6ccad7d2312e4ec8", [ null, [ @@ -85246,7 +85239,7 @@ ] ], "t425-hsla-onscreen-multiple-boxes-c.xht": [ - "0043d272e565da9a3ed6a75a76937e108ee883ad", + "9d2eccd47cdab8cfe7aa9b5315660d50c46d56e5", [ null, [ @@ -85272,7 +85265,7 @@ ] ], "t425-hsla-values-b.xht": [ - "67554d7cebfd3c4a04d877c416da9005c41ecedc", + "27ed578652f2e2dcc65565de8062ec300dd61131", [ null, [ @@ -85285,7 +85278,7 @@ ] ], "t43-svg-keywords-a.xht": [ - "75bbf4f70f1138dd73f99b5d5a9fd499a2544040", + "9066863c9b7c8577a9f9c17ad41da8a030307cd3", [ null, [ @@ -85298,7 +85291,7 @@ ] ], "t44-currentcolor-background-b.xht": [ - "af5f2aa7038af1e4407079748616d33e77d5aa1c", + "816d622e8ff119ccb9db6a0a789b88d3515f2943", [ null, [ @@ -85311,7 +85304,7 @@ ] ], "t44-currentcolor-border-b.xht": [ - "9a01c28dd3f688ded182b2d35ff18fefa4a16972", + "3d7441e5f56e59eb91f3eae25721888c5e58e855", [ null, [ @@ -85324,7 +85317,7 @@ ] ], "t44-currentcolor-inherited-c.xht": [ - "402dff1644980f214df96eeadf1efb961fbacbff", + "569a616e6219455f15b08d2c5cca84b2df918bb7", [ null, [ @@ -85839,7 +85832,7 @@ ] ], "at-supports-001.html": [ - "588d603ce7b14d41032040e6cda82c1cb45c7de2", + "6ba1bd3e2b0e5e07f06d25f86046bc2daa0d4528", [ null, [ @@ -85852,7 +85845,7 @@ ] ], "at-supports-002.html": [ - "d4b59ff36f0629c06689b3a3bc5acea144f582c6", + "4b703951e5b0a4a375420d47b4874f3aa500d317", [ null, [ @@ -85865,7 +85858,7 @@ ] ], "at-supports-003.html": [ - "c138bbc302101bbd6a9601e67b60c2a7410113dc", + "029ce3744ccaa8aace376539c5d79b51694c9128", [ null, [ @@ -85878,7 +85871,7 @@ ] ], "at-supports-004.html": [ - "6b9cf6f6b930fc822e4540276c00fa886c42f10f", + "f2cdfe3f164def302a9529f1d61712ad851077f9", [ null, [ @@ -85891,7 +85884,7 @@ ] ], "at-supports-005.html": [ - "67329e365fd21cd477b913993fbe1c66e735651b", + "62475029b473d1c300399c5b2b32e2de03ea68d5", [ null, [ @@ -85904,7 +85897,7 @@ ] ], "at-supports-006.html": [ - "f5c6461069ee93a88ea4c8e55acfdc9a4f2e69b1", + "4e6ea9bcf88b07fe350d19e02c01c05094a8ad90", [ null, [ @@ -85917,7 +85910,7 @@ ] ], "at-supports-007.html": [ - "a8184274fb3925991b127c993c9b1c82bb40f0aa", + "975a84726d4e1a8daab0d35eece3781bf7c3342e", [ null, [ @@ -85930,7 +85923,7 @@ ] ], "at-supports-008.html": [ - "f53b40c822e5985e2fd5fca4bfef6c12e41c451d", + "f133c3725180bb620dd3c0f01e644c2ba99ae013", [ null, [ @@ -85943,7 +85936,7 @@ ] ], "at-supports-009.html": [ - "ffe96f61a038477a5f7b08de72e748019c4725d7", + "2d53fd8a5a65b0e44c2d69d24499897269608b9e", [ null, [ @@ -85956,7 +85949,7 @@ ] ], "at-supports-010.html": [ - "d3716718cb587fdcbe68a5adc4a3d339d65e053d", + "468afe7e3e6a766a37a50a610e3dc6a3aa41baf7", [ null, [ @@ -85982,7 +85975,7 @@ ] ], "at-supports-012.html": [ - "8a30ead2fd56c1746c72542e64265073d3152937", + "e46e5a367d47f4fdf045ff8ecf5c8b696a17e6d8", [ null, [ @@ -85995,7 +85988,7 @@ ] ], "at-supports-013.html": [ - "619da841152c8ce83f13c0f4b390eceeba45afbf", + "1c5f633614a6673705edc4ba5256f26cfb787b22", [ null, [ @@ -86021,7 +86014,7 @@ ] ], "at-supports-015.html": [ - "fe3d5e561ebcbe1dc461f49e4f8685c4c128345f", + "a8a9019f259eabab5b4da028603e6092db7c6f68", [ null, [ @@ -86047,7 +86040,7 @@ ] ], "at-supports-017.html": [ - "81cbe45536916c69e600cb2b69222055cdc0c075", + "42ca8c103b5128294afa2eb40a947ae3179baeb8", [ null, [ @@ -86060,7 +86053,7 @@ ] ], "at-supports-018.html": [ - "88bcedec9b5e9bacc84f98b0036e457fce3409bf", + "024c232f10ccf0904f5da972a2906cd72272ff43", [ null, [ @@ -86528,7 +86521,7 @@ ] ], "css-supports-001.xht": [ - "3f8782580168132c64e831d55dd959d5b7a9c65d", + "9221309d45fd637e613a1c11519a09fa105a4830", [ null, [ @@ -86554,7 +86547,7 @@ ] ], "css-supports-003.xht": [ - "4e01f53699440aa9e34167ae676148842ee4fc85", + "f7713dc3a81535c19c7717ef2790a4283d540d04", [ null, [ @@ -86567,7 +86560,7 @@ ] ], "css-supports-004.xht": [ - "7c4ad818b4f74b1852d9032e543a444b0827ec50", + "7c81650745b72338feeec6cf03644411e302bf4e", [ null, [ @@ -86580,7 +86573,7 @@ ] ], "css-supports-005.xht": [ - "c184d70df7c084381b14d3cad1bd6fc4ccae535a", + "e6e4348b06d64324bca35a4164353c37baa527bc", [ null, [ @@ -86593,7 +86586,7 @@ ] ], "css-supports-006.xht": [ - "6e5a14cf0f79250d72bd712ae7f039d4b70e1f09", + "5a47f3559d6560a0126e19cda344538d3b2c4666", [ null, [ @@ -86606,7 +86599,7 @@ ] ], "css-supports-007.xht": [ - "8cce3c8b990879f86991381b7c2ee2f3cc47e825", + "250ffc5443890c561a90cdbfe82473f7ade941ff", [ null, [ @@ -86619,7 +86612,7 @@ ] ], "css-supports-008.xht": [ - "80596a9d466ba6c28bc6758fa4efb52aa435d874", + "396317500f680a3ddba4a688ab36bec3efbed8b5", [ null, [ @@ -86632,7 +86625,7 @@ ] ], "css-supports-009.xht": [ - "8d5b27166b90bc261a9ee9f7c8e4677ef019b0d4", + "0b00565004adabd0f38b0336753174687a104da1", [ null, [ @@ -86645,7 +86638,7 @@ ] ], "css-supports-010.xht": [ - "298667b4733162d2b1049795af30a5ab85f78a3c", + "c2270936d313f00645c750f06ac07c7723c04d80", [ null, [ @@ -86658,7 +86651,7 @@ ] ], "css-supports-011.xht": [ - "d70cc00542332c01da8febdcf1986de3cb8dba2f", + "b1f15fce269bb68cd4af96cc2ae599d64bf1a931", [ null, [ @@ -86671,7 +86664,7 @@ ] ], "css-supports-012.xht": [ - "c9ff483a51dfaf14b5a88c89fd5b25684b70e3c2", + "ba88446825220ff4106dffe8b1410d95ab597f72", [ null, [ @@ -86710,7 +86703,7 @@ ] ], "css-supports-015.xht": [ - "66c7edbe5d3148509919caf4d135d59254f402c8", + "8013bb88eb807ce4a92b4fdd807ae7f285601d51", [ null, [ @@ -86723,7 +86716,7 @@ ] ], "css-supports-016.xht": [ - "bad6053133ae100c0bceba4fba04ad642e9080ec", + "5f06f91b63c0d1d6bc9d216ce7f71fa8a0bfc644", [ null, [ @@ -86749,7 +86742,7 @@ ] ], "css-supports-018.xht": [ - "2019a2a7cb1bcd8845f584aa5140ec0e7415605b", + "56d4bea959ec1f3236bf1d47d377cf7d62b18d27", [ null, [ @@ -86775,7 +86768,7 @@ ] ], "css-supports-020.xht": [ - "ba02204bf5a7995ed2eb149bb1aaa0f314b755ed", + "808f2268ea3612cef3c4d01cb5226f4a9fde5a28", [ null, [ @@ -86788,7 +86781,7 @@ ] ], "css-supports-021.xht": [ - "df98d12068eebc54e948b66ce53c7ca1dd42ff01", + "46ca79f596ef40c227135e3d15284c5aac448270", [ null, [ @@ -86801,7 +86794,7 @@ ] ], "css-supports-022.xht": [ - "b2fb5ed278766147f5e450efa7a9f98b585d75b2", + "25912d3e71f0e0c95d1810aa5e45cb54f5dbd879", [ null, [ @@ -86814,7 +86807,7 @@ ] ], "css-supports-023.xht": [ - "e01f018427b62c8d332ac33ac8d204fdde97f945", + "7afb0ce6dc4c3154c1fe376316b15dfcc9c51ad2", [ null, [ @@ -86827,7 +86820,7 @@ ] ], "css-supports-024.xht": [ - "de2baf3953fefbc831b578cc2f04b6ec3f6222b9", + "ae4b926b4eff4315785b2db5222707c41a07c40d", [ null, [ @@ -86840,7 +86833,7 @@ ] ], "css-supports-025.xht": [ - "7a766146e5567cf8c34166a2e4a154be41ed2fec", + "182f2874f189ae6383f973770673d2229924e81f", [ null, [ @@ -86853,7 +86846,7 @@ ] ], "css-supports-026.xht": [ - "920143e7976643aeffae4cca6c52d1d6044f626a", + "7584bba6861440d373928aea73fa772da6379fd4", [ null, [ @@ -86866,7 +86859,7 @@ ] ], "css-supports-029.xht": [ - "0d1bb589afc40428d5f86d38cd2fcdd24501914e", + "5f9b011e926e3955257ea50af404078ed2815c7a", [ null, [ @@ -86879,7 +86872,7 @@ ] ], "css-supports-030.xht": [ - "6c087b8b0ac644aa2c000c2b1238d3790b075745", + "2cfcbfe07a236dccaa3f2ebb031ef0eb84c5ae7f", [ null, [ @@ -86892,7 +86885,7 @@ ] ], "css-supports-031.xht": [ - "9ff7c14c416f4d175ddbc5f3699c9a1dbd875b56", + "dd9caf07af8d110f5c7b86d6c3fa4c8ea2e8b0ee", [ null, [ @@ -86905,7 +86898,7 @@ ] ], "css-supports-032.xht": [ - "baae565768852a82394440cb76f0afcc26a201d6", + "8a2ac0655e8c5d1bba80a5b1f0e95320a305603d", [ null, [ @@ -86918,7 +86911,7 @@ ] ], "css-supports-033.xht": [ - "c6c0c39f3a5f632a85e3782d962ac155a321497a", + "19b707deaca966ddad44f40eea7b370d5a1e514a", [ null, [ @@ -86931,7 +86924,7 @@ ] ], "css-supports-034.xht": [ - "c6c0c39f3a5f632a85e3782d962ac155a321497a", + "19b707deaca966ddad44f40eea7b370d5a1e514a", [ null, [ @@ -86957,7 +86950,7 @@ ] ], "css-supports-036.xht": [ - "c18ba6629435e7efb1c273a5cb0d256a66a31ac3", + "9d6d26837d3373faa713770681bca9137f5b00c9", [ null, [ @@ -86983,7 +86976,7 @@ ] ], "css-supports-038.xht": [ - "f6974a9b04bdca3fea17d96518e4238160f80ae8", + "bf969d70467c1b8f89485c77f73d5a442a6ace25", [ null, [ @@ -87009,7 +87002,7 @@ ] ], "css-supports-040.xht": [ - "cda404996888e7aaf4c2d5fb6bd3c1b674c3cc1b", + "0b15778bc082fa6c631e1ccc9e166abd6e69885f", [ null, [ @@ -87022,7 +87015,7 @@ ] ], "css-supports-041.xht": [ - "c49c66abda12bff4b4a95f9d294a42080dde1c35", + "f01b2be784e53f4785938f4a0602bfde27f09f53", [ null, [ @@ -87035,7 +87028,7 @@ ] ], "css-supports-042.xht": [ - "2b0f104d600b12a6dad0c808b3d81b2530885203", + "5a106119bab1e7aa64b487fe59e3b75813613ba9", [ null, [ @@ -87048,7 +87041,7 @@ ] ], "css-supports-043.xht": [ - "3ec6f8ec2a27f012f5e6dca5da3972847ab26517", + "8e4d0e5b795968ea2c3704dc5cd436b2aed9cd3e", [ null, [ @@ -87061,7 +87054,7 @@ ] ], "css-supports-044.xht": [ - "f79e25d18b8d12bf80df313cd57fa47f1850ad94", + "0c66cfafa5c6d65e1025740621542c1824613547", [ null, [ @@ -87074,7 +87067,7 @@ ] ], "css-supports-045.xht": [ - "e7bb2d46c9303444749da4facb77e5f8cfb785eb", + "d11e108371522faee64875fb330305b7da8372f0", [ null, [ @@ -87087,7 +87080,7 @@ ] ], "css-supports-046.xht": [ - "3cd5900598ab1adcf410b7b72287c6b29f04b334", + "1913dff0c3552f00a1660053f7a4d95065762343", [ null, [ @@ -87375,7 +87368,7 @@ ] ], "contain-content-001.html": [ - "649bf54df5b6e005253e1a8d5d8b45521889e9f5", + "9d8e1e5c099c868bb1b1c40a1917162ca598a351", [ null, [ @@ -87388,7 +87381,7 @@ ] ], "contain-content-002.html": [ - "d18ba3c4dd4b894e1c635c471d4045be912ee482", + "7468df7cde83ecd055d47b90d3b99161f3b994f8", [ null, [ @@ -87401,7 +87394,7 @@ ] ], "contain-content-003.html": [ - "bb421c01732261d4fad354c9d8c6aeace7e5f7e0", + "24d877740f2d4665f87a046130c9e46a37694613", [ null, [ @@ -87414,7 +87407,7 @@ ] ], "contain-content-004.html": [ - "37b2daf845ad9aff8277dda42ab3320dd3a151a9", + "5276b4d08c220045ccf6a6be828e1ae284d82376", [ null, [ @@ -87427,7 +87420,7 @@ ] ], "contain-content-011.html": [ - "19c3c9cb613a1e644208c5c9291c1d1d1253ef71", + "8bed8c4d2283bc5d6eef5e613754cfe52358c0ce", [ null, [ @@ -88064,7 +88057,7 @@ ] ], "contain-layout-baseline-001.html": [ - "ed2471a62614bf961cf2cd9441256ac02d3d6f6b", + "cf8e94faa48eb3cfca6db0264b6f1a10e18b0e1d", [ null, [ @@ -88142,7 +88135,7 @@ ] ], "contain-layout-breaks-002.html": [ - "fadb3c41c5363742eb88bdf803eac7cdbf5e7a8f", + "cf23ad74fe5c3fb16831e0f608766156e7dd7a78", [ null, [ @@ -88168,7 +88161,7 @@ ] ], "contain-layout-cell-001.html": [ - "25ee53ba29852795c84df5dd7008757cad1f95d2", + "66710060a7bf0bef0dd8e7a631761ef3e2e9e2cd", [ null, [ @@ -88181,7 +88174,7 @@ ] ], "contain-layout-cell-002.html": [ - "8c511e3ee2c2c2337c46a4bab9cbda0af7d642cb", + "2c10eb21e0c5f7d54630c22a0505d22559b6ad42", [ null, [ @@ -88272,7 +88265,7 @@ ] ], "contain-layout-ifc-022.html": [ - "3e4f3dafbf213c18a09cfd2a7512dd485c13f839", + "1b66fe347e1f58b3f21979fbd44f873955c2e5a9", [ null, [ @@ -88506,7 +88499,7 @@ ] ], "contain-layout-size-003.html": [ - "1abbe267bd9f45f9ff2d7468bd03fae34227d375", + "50b5f0b65cd2c7ef04bd14507432dc35fdc915c4", [ null, [ @@ -88805,7 +88798,7 @@ ] ], "contain-paint-022.html": [ - "2fc9d24b74d89dcc083cb2dc30441b03d3995f52", + "91b3884d465fe40214870f36d3ad772b90722008", [ null, [ @@ -88818,7 +88811,7 @@ ] ], "contain-paint-023.html": [ - "28674ce7af85b87948bdc30666b19c7e5805d7ee", + "695dc4e778c794d2d63460b8665077211ffd3c04", [ null, [ @@ -88831,7 +88824,7 @@ ] ], "contain-paint-024.html": [ - "79ef8a7cc0841ab96b1650cb2e78d210a9432180", + "ea92aeb43b0dc08765dc2c7e1b4bc59ec62b271d", [ null, [ @@ -88870,7 +88863,7 @@ ] ], "contain-paint-047.html": [ - "e4a0b28457c752232f4314175ffdf1840f7e336a", + "7fdc4a8f0d7c8b78d92907c25a5d7ea9ab56e4f3", [ null, [ @@ -88883,7 +88876,7 @@ ] ], "contain-paint-048.html": [ - "e48fcb64a4acbb8683730c58577ba530487a5ad9", + "870484e5759c00fd3af34d2e2bc66ecf2e25e331", [ null, [ @@ -88896,7 +88889,7 @@ ] ], "contain-paint-baseline-001.html": [ - "3f84a3003a2a991a745198e2ad97938754462ef7", + "c44444dd05b9869f494df0c657c8adc4a3b3c5fc", [ null, [ @@ -88909,7 +88902,7 @@ ] ], "contain-paint-cell-001.html": [ - "d66a16944ecadca57a585a4514024b198c19478f", + "5a4a7a4e691ed09b61d022e2e2ce442805446764", [ null, [ @@ -88922,7 +88915,7 @@ ] ], "contain-paint-cell-002.html": [ - "e486aa2c576a4412ba0ac553dc074f6151ec217b", + "f6707003884937e619623d8691460f4f42e7170c", [ null, [ @@ -89026,7 +89019,7 @@ ] ], "contain-paint-clip-011.html": [ - "643133a4f42f09dd587639b3b57e0bc8682380a8", + "d9b9052f4bcf4d997f2c99cb70f423389defb07a", [ null, [ @@ -89039,7 +89032,7 @@ ] ], "contain-paint-clip-012.html": [ - "7040d6452aa71708089f86d1533229236a93ed9c", + "090aa1586c65f9c42203ac8fd22bf5011b997f7d", [ null, [ @@ -89052,7 +89045,7 @@ ] ], "contain-paint-clip-013.html": [ - "e6311303f4173fbcd4f98ce218198dbe5bc72dae", + "7c539bf93d750888d767c7f529cd009437c5f16c", [ null, [ @@ -89065,7 +89058,7 @@ ] ], "contain-paint-clip-014.html": [ - "8fe1071764b4e321e4ad0acabdb6e94f255af039", + "296187f36a7e6f22c6c7881c9f37d2651e100ca4", [ null, [ @@ -89078,7 +89071,7 @@ ] ], "contain-paint-clip-015.html": [ - "b78f0d8b40b640d7b21a80f55de908479f32d694", + "c9ff98a02997729d20b8ae428e046fb86c364187", [ null, [ @@ -89091,7 +89084,7 @@ ] ], "contain-paint-clip-016.html": [ - "8203eea8691d6d175f1a9c60fa7d88bbfa786aa9", + "84b2f8e644d01f764dd486820b74bfff80c9c6e1", [ null, [ @@ -89104,7 +89097,7 @@ ] ], "contain-paint-clip-017.html": [ - "d8213a5a33cfc06942a42397513f207a7bbfc620", + "a6f427516e425b3c3282817c2a1b3672f16c042b", [ null, [ @@ -89117,7 +89110,7 @@ ] ], "contain-paint-clip-018.html": [ - "17bcccdeff538ea869a51d703acb80e9acc4b0ca", + "5b36a06e17a7bc897ed5709df1cf9217087eb36b", [ null, [ @@ -89130,7 +89123,7 @@ ] ], "contain-paint-clip-019.html": [ - "bd761b8a523bd9fa05dd88f57b6b1317b5c4c40b", + "34b12642dbdaa57754c747b923ca86807e39bd8e", [ null, [ @@ -89195,7 +89188,7 @@ ] ], "contain-paint-ifc-011.html": [ - "b8a03936cbcc3ddcc88dc1237fab0af56f4bd72b", + "992a0377ad6191e69e21f810226579c935ec01ce", [ null, [ @@ -89325,7 +89318,7 @@ ] ], "contain-paint-size-001.html": [ - "930429b7ecc5af860fa6782cff30a8803393d3cd", + "2546b2b9aa565624e6a6d0978d8879531650e82e", [ null, [ @@ -89338,7 +89331,7 @@ ] ], "contain-paint-size-002.html": [ - "5af0d54cec3af30d3377d43e0738f518c9e42d40", + "18d03e7f5224432b05d71727fa24ee4552d37894", [ null, [ @@ -89351,7 +89344,7 @@ ] ], "contain-paint-size-003.html": [ - "51459a53feb6b626b7e9dc07061024eca722209b", + "2d2166406555b8b01d06ab467fd4b18038b12e5d", [ null, [ @@ -89390,7 +89383,7 @@ ] ], "contain-paint-table-001.html": [ - "70caa578e88eeea3fcb5a481d0aeb47c75256b5c", + "0622a1cbd2d31d55dcc221a2dbca26eb5880fce2", [ null, [ @@ -89403,7 +89396,7 @@ ] ], "contain-paint-table-002.html": [ - "a6ce97ec15b72c86d992001f48b647427abc6d2e", + "2d51f91f0389c2c5ac0bcd8cca7efe7a51381872", [ null, [ @@ -89598,7 +89591,7 @@ ] ], "contain-size-021.html": [ - "14bd8119a0e4bd0bc98ffacc87628616d0891a4a", + "199849e8adb16bf12dd2577aad995425f0f4a97d", [ null, [ @@ -89611,7 +89604,7 @@ ] ], "contain-size-023.html": [ - "a5492094e8ff437c2496927da3cef551cab738f0", + "f83a10d85cbbfe9bd11801899172908bf57fb49a", [ null, [ @@ -89624,7 +89617,7 @@ ] ], "contain-size-025.html": [ - "bb17fe2e15f077d357251793c0f31fe2601d49a0", + "3eb4b15961c0cf32cd6b9d353cb0b3c8244c8cbc", [ null, [ @@ -89637,7 +89630,7 @@ ] ], "contain-size-027.html": [ - "ed4bb24c9b0718c3b5f81425016d9e43076f4bfc", + "8dcff1745f39334e3b0e6517205726c3eaf3f103", [ null, [ @@ -89650,7 +89643,7 @@ ] ], "contain-size-041.html": [ - "333a2ceebf99ec6041cad12f68328a5542646169", + "93def48c65265fbed965e10605b2e98847728464", [ null, [ @@ -89663,7 +89656,7 @@ ] ], "contain-size-042.html": [ - "e1d6b3ddfcb1da6b86955d04eacbfc68522b0273", + "52c5281b05ca1c31e180610ba56b76f0afd2ed57", [ null, [ @@ -89676,7 +89669,7 @@ ] ], "contain-size-051.html": [ - "d529df9ff7e7ed6d56819a035e8b40327a5d8617", + "d1eab897a87bf0cbf104d5be56dcf86022f5d2a7", [ null, [ @@ -89689,7 +89682,7 @@ ] ], "contain-size-052.html": [ - "d32d154e7528e723aeec2737874ee8ea47d34afb", + "a4d1afdd85ae470d0e4f361f21773ce9c6aa0745", [ null, [ @@ -89702,7 +89695,7 @@ ] ], "contain-size-056.html": [ - "fa0f98b6b02cfc37e3d308bb012a2a3a8ba69c94", + "e8c140adedfb0133ee36433b935e9a064c55810d", [ null, [ @@ -89715,7 +89708,7 @@ ] ], "contain-size-061.html": [ - "2af24fc24be02525b2082cd87e4f07d8be995a5b", + "1738b7f2a0358c1de808e171b143155813d4eb3c", [ null, [ @@ -89728,7 +89721,7 @@ ] ], "contain-size-062.html": [ - "60cb194242894b540aaa50c6990e7cbcb491e27e", + "10d7d48c95f532c35cbdb945c40b854211d9359b", [ null, [ @@ -89741,7 +89734,7 @@ ] ], "contain-size-063.html": [ - "31a6015cac35faa04b8f77d4388e429e2266ffdd", + "9c843ab7cc88c8ce450e1a34fab452a76c021372", [ null, [ @@ -89767,7 +89760,7 @@ ] ], "contain-size-baseline-001.html": [ - "0ffed1b3b6a08831792b0a5ac40d1340c142c48d", + "d8436c4508e0a75244c26db7334282c92bf6cb45", [ null, [ @@ -90079,7 +90072,7 @@ ] ], "contain-size-monolithic-001.html": [ - "30f19b6cbbd6f6737d5175b1946c17805e0568d6", + "42e8216462186f8c04442c6cbbc31e70821b5caa", [ null, [ @@ -90430,7 +90423,7 @@ ] ], "contain-strict-001.html": [ - "142730c5cd3a0048027e5bf41cca397e3facad60", + "e5451e2d94da719407a809ddf91be97c306f05b1", [ null, [ @@ -90443,7 +90436,7 @@ ] ], "contain-strict-002.html": [ - "369275e1d91a4638975f1241ca624a7dc88754d9", + "5985fc850f80983fe3e0beb312c737c413f9cccb", [ null, [ @@ -90456,7 +90449,7 @@ ] ], "contain-strict-003.html": [ - "792710cd87d8ee0813838dd39847f9dd2db2e2a9", + "903df07868416e738125441831ec6363dfebe9f7", [ null, [ @@ -90469,7 +90462,7 @@ ] ], "contain-strict-011.html": [ - "a6d7ca264ca40c249e1d7422d492ec4befc70f15", + "3e1256ba9ce3ff99acccda1d806f46f20086b8f2", [ null, [ @@ -90482,7 +90475,7 @@ ] ], "contain-style-baseline-001.html": [ - "f05d20982833077d53ecad3340065aee7e0ca8cd", + "f13b1e8efbf90f6d65b767f57cb3a5f642035e40", [ null, [ @@ -90560,7 +90553,7 @@ ] ], "contain-style-counters-001.html": [ - "30a29d7c25a1fe30df7bcc52691cb2fc2070d20e", + "bd480858eddaed7ac8e8cd404fa25494b3327fda", [ null, [ @@ -90573,7 +90566,7 @@ ] ], "contain-style-counters-002.html": [ - "eeaac6ace6940b691af0aadac1be53258b057f3c", + "d585674dc29bab0ffe0702959a07126c7da3d75c", [ null, [ @@ -90586,7 +90579,7 @@ ] ], "contain-style-counters-003.html": [ - "b550f1135aa5f4d1bec8d4636135a529f133edd4", + "3e3e1b910a67d522eb6d2be82d93fe1d947c4bf0", [ null, [ @@ -90599,7 +90592,7 @@ ] ], "contain-style-counters-004.html": [ - "4a366e32776d223dba69cb307a1ac06606d3ab3d", + "40d68b4641e56af5cb08e725abfd490b6b0d476e", [ null, [ @@ -107313,7 +107306,7 @@ ] ], "first-available-font-001.html": [ - "b6f9d189f9d0043b2f5cf7b4e33046690f6f200c", + "5eb88f7bf6713b80e0adb4728681e62c3f2dc2bc", [ null, [ @@ -107326,7 +107319,7 @@ ] ], "first-available-font-002.html": [ - "36437b69740e735c29b9f11d005aeee93984704c", + "df47df840bdef12fb7f958cd8146f3fe55dcf3f2", [ null, [ @@ -107339,7 +107332,7 @@ ] ], "first-available-font-003.html": [ - "74a850e20f967965216e49f1f976c65353f9e8ea", + "d6b1b2695ff28c4e6e214ab74f89fe5739632441", [ null, [ @@ -107352,7 +107345,7 @@ ] ], "first-available-font-004.html": [ - "c7ae1cb8f02c69d1d69446099bc54da60d69a32f", + "05ae07d6fdf2ca09bd71c2d9f6182fffebbedd51", [ null, [ @@ -107365,7 +107358,7 @@ ] ], "first-available-font-005.html": [ - "8f6f66bd32f3ce7892779a9794b94a31c7dca83c", + "3a6b8871dd10f32ea2376822e21f84208c0fea7b", [ null, [ @@ -107378,7 +107371,7 @@ ] ], "first-available-font-006.html": [ - "fb50b9b4fa5e2e3c2225557d05ec7dcb4c48285b", + "3766fd1bfa5d3fa44edbf9c3b7ec2fe70295a55e", [ null, [ @@ -107391,7 +107384,7 @@ ] ], "first-available-font-007.html": [ - "fce9c99c9ed48eb33628757da6fc7851a4f74bf8", + "0efbb3497968f2d2704ac6e5b5f9c6e6924c3f1c", [ null, [ @@ -107611,7 +107604,7 @@ ] ], "font-face-unicode-range-2.html": [ - "427aa61d210351ae5335ba460384955a85350768", + "e94c1b235fbc79c88b7a3106fd62f3f1431b4410", [ null, [ @@ -108053,7 +108046,7 @@ ] ], "font-features-across-space-1.html": [ - "d53eb4c5bb12d6221f216dd28368e47527a7f232", + "a01d05e0590abb6a997745f74500828f69767dbb", [ null, [ @@ -108066,7 +108059,7 @@ ] ], "font-features-across-space-2.html": [ - "769cf6b45524ead122084d1db73b83e84ae6b9db", + "2aaeb245cbcfa9a0e4a16daf08212de6e35d9fd6", [ null, [ @@ -108079,7 +108072,7 @@ ] ], "font-features-across-space-3.html": [ - "f475954d0cc3bc2ac696cba4999175140daac9b5", + "751f2cc21650d4424f3808e68c0c17467e6e7f9f", [ null, [ @@ -108876,7 +108869,7 @@ ] ], "font-size-adjust-zero-1.html": [ - "ea1e57453b6e3ce9993215041dfb257c1a28a51a", + "a34a38b570db8fe80b32c29d329cb212a5e72ec5", [ null, [ @@ -108889,7 +108882,7 @@ ] ], "font-size-adjust-zero-2.html": [ - "0fadcd458db59b2191593cfde3c0645cbe3a7c64", + "3126f7457b2662a0dc3b176819d2ae1ca5a93163", [ null, [ @@ -108915,7 +108908,7 @@ ] ], "font-size-zero-1-ref.html": [ - "f3bdd53d71c75326e688e7ff3c72c9a3418e5248", + "b468121c67aa6ceb69c71cb41cb1a4b5b2b3308e", [ null, [ @@ -108928,7 +108921,7 @@ ] ], "font-size-zero-1.html": [ - "9b7b3e6d754318b69f3baeb2164680661cc0566f", + "85369593e4478527310edc692b79671367f1e5ec", [ null, [ @@ -108941,7 +108934,7 @@ ] ], "font-size-zero-2.html": [ - "5b5aaa594c3909c4e998f5c47d721e78edefcf27", + "d6696984d520647c4874c949cee78e9c8a17bd56", [ null, [ @@ -109838,7 +109831,7 @@ ] ], "font-variant-caps.html": [ - "61619b7d44142db94496dd0704dc9867741da672", + "7d89802f1cf0dd4f2e197f025d183c5bc8e4aa35", [ null, [ @@ -109994,7 +109987,7 @@ ] ], "font-variant-east-asian.html": [ - "a2fdb63f3d0a992243a37f73f005626eedad805a", + "3fbb43e1cb2b804ae0f1f0dd6c13635bc8db8212", [ null, [ @@ -110150,7 +110143,7 @@ ] ], "font-variant-ligatures.html": [ - "0178fc8728e46c8bf0af1e2b130c8fedae528bf1", + "ff217e279ff102d2d1c88a04f0593859c6b19199", [ null, [ @@ -110280,7 +110273,7 @@ ] ], "font-variant-numeric.html": [ - "b059b6a3529032bc8266b0d89140f1d23aa384c1", + "a2a6c32826bda5c7bd42706dbc811d128c303338", [ null, [ @@ -110306,7 +110299,7 @@ ] ], "font-variant-position.html": [ - "b4d6d6541eb259fb83a9d0df923872fdc1c60b7c", + "857062407dbdac2fe8ad803a14f48f647461f323", [ null, [ @@ -127244,7 +127237,7 @@ }, "css-logical": { "cascading-001.html": [ - "653925552f870f740d3c9fc397b4dc2267994103", + "61399a833069b50364a4c6e6a31bf421bcf5ae15", [ null, [ @@ -129016,6 +129009,64 @@ ], {} ] + ], + "svg-clip-path-circle-offset.html": [ + "155dbc2aac1732f771e97fc35d31ca0ee42738b7", + [ + null, + [ + [ + "/css/css-masking/clip-path/svg-clip-path-circle-offset-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 10 + ], + [ + 0, + 200 + ] + ] + ] + ] + } + ] + ], + "svg-clip-path-ellipse-offset.html": [ + "c6329825aaefac17e94f49d067bba734fd22de7b", + [ + null, + [ + [ + "/css/css-masking/clip-path/svg-clip-path-ellipse-offset-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 10 + ], + [ + 0, + 200 + ] + ] + ] + ] + } + ] ] }, "clip-path-svg-content": { @@ -131798,7 +131849,7 @@ ] ], "columnfill-auto-max-height-001.html": [ - "694965241a4cdfd8e3268c167ad50a8a3161b221", + "bc76caa5474259820d5a8a63a606fccab3b8c270", [ null, [ @@ -131811,7 +131862,7 @@ ] ], "columnfill-auto-max-height-002.html": [ - "8a6bd957911251bdb952e35e69297d3ed86696cc", + "ae2e81d6aa5a587b505beeef98bf51adf829c786", [ null, [ @@ -132227,7 +132278,7 @@ ] ], "multicol-br-inside-avoidcolumn-001.xht": [ - "d3f2c9ec5da52aad76f1d130d3b019c7326bb6b8", + "49e28fa8576ffb29c9376fd44f4d2dfbb520098b", [ null, [ @@ -132890,7 +132941,7 @@ ] ], "multicol-fill-auto-block-children-001.xht": [ - "535447d734434359e2dca489a7511dcdb631c277", + "864080a02a4042e4bf29a27fe5d2c8ce177f2557", [ null, [ @@ -132903,7 +132954,7 @@ ] ], "multicol-fill-auto-block-children-002.xht": [ - "d79fa95f16c08a613d97574091f935c5a4d56c1b", + "2399da2e7b9bb464c978f4572656b63b65b4b65f", [ null, [ @@ -135308,7 +135359,7 @@ ] ], "multicol-width-ch-001.xht": [ - "8983e00fff0efb4c9a8e89182b0d193b2293d50b", + "5774d353e6e78e0672b2edc2726225f2207c451a", [ null, [ @@ -135412,7 +135463,7 @@ ] ], "multicol-zero-height-001.xht": [ - "4472bc209e2a4c61b4753e7d6a80493bd4a6f263", + "57bfca96e423acd9033d53d7a537ef17f6d6199d", [ null, [ @@ -141177,7 +141228,7 @@ }, "css-pseudo": { "active-selection-011.html": [ - "7b51c97dc0f56c471dc1168a4f97ab0fe398fea2", + "bdee22411d767524a0d3094749a61a8cf62800bd", [ null, [ @@ -141190,7 +141241,7 @@ ] ], "active-selection-012.html": [ - "d1612ece0f404d070e21cc54799ca363781f6e32", + "e949f6862f6c80e40393d26c98dee438d3be0af4", [ null, [ @@ -141216,7 +141267,7 @@ ] ], "active-selection-016.html": [ - "51ee402427fd90dbe186dc69f58d08bc085add66", + "82a77d74988224fadea4a1d54663a6076cac9601", [ null, [ @@ -141229,7 +141280,7 @@ ] ], "active-selection-018.html": [ - "bf76e351d2b8eb8f461298978de19ff73b652702", + "00826bb5f2f73bb63573d2d7ca197be98933109b", [ null, [ @@ -141242,7 +141293,7 @@ ] ], "active-selection-021.html": [ - "a03078cbfb7ee6f5fa22cd54956529cf1e2fcdca", + "767366b8c4e5c5217ef8ab3d28f0759604dc38ec", [ null, [ @@ -141255,7 +141306,7 @@ ] ], "active-selection-025.html": [ - "c0a197ff59b49645db30956f566c67b3942cfce5", + "fd861008eef17381a8b285c12027d9d92e2d30df", [ null, [ @@ -141268,7 +141319,7 @@ ] ], "active-selection-027.html": [ - "f28323149d28969159ea842d77c9acbcc7cc92a2", + "899d23c48802728969027a3fb069970dee706dbb", [ null, [ @@ -141281,7 +141332,7 @@ ] ], "active-selection-031.html": [ - "bd6fe621ec58c6de5d2234883bcc348a1d54339e", + "c7d79c8ac9fd300fa9f2704f64bb5cc28bfbbb7f", [ null, [ @@ -141307,7 +141358,7 @@ ] ], "active-selection-043.html": [ - "f760dee536e2a832d5b26760006cedef12ed56c1", + "944bf5526ecbea16695303a11b1176f61f79a1d3", [ null, [ @@ -141320,7 +141371,7 @@ ] ], "active-selection-045.html": [ - "415aa60610a85327362f3a4e592168ab9fccbbe3", + "59cdcc2d9119231bdca79fd1a0b0fa0ae2c393e9", [ null, [ @@ -141385,7 +141436,7 @@ ] ], "active-selection-056.html": [ - "c8c5e0e2a873cf14cf5735304687465a14454768", + "aa147f35d282fd28b3f8d4bf901a892d7b96acb4", [ null, [ @@ -141398,7 +141449,7 @@ ] ], "active-selection-057.html": [ - "4a40d1f1a5ffd316a18a8e23df303a50b37de6ac", + "34afda43ed0b3de72b50ec46731d4fd9108f3379", [ null, [ @@ -141411,7 +141462,7 @@ ] ], "active-selection-063.html": [ - "2a70a3b7123eaf0ea304d1bff5b9a7a35a580219", + "0c151cf4e6485f7c44943081705cad7f57fa7292", [ null, [ @@ -141463,7 +141514,7 @@ ] ], "cascade-highlight-001.html": [ - "6f38624fdaeebc40f96d4e3ffc4661f33831f404", + "6068a076f0da862b834982b60fc1d46c94c72b46", [ null, [ @@ -141476,7 +141527,7 @@ ] ], "cascade-highlight-002.html": [ - "98846fd694eeef0261802c8525bad556ed51c4a5", + "50be805f011c223caf99fc55d0052161428eeb3f", [ null, [ @@ -141489,7 +141540,7 @@ ] ], "cascade-highlight-004.html": [ - "772d33486c67f773ee8465ea9ce5a10c3bc75171", + "56abba71569c05dfbc3244c330414b53d1866c5a", [ null, [ @@ -141502,7 +141553,7 @@ ] ], "cascade-highlight-005.html": [ - "8887eda9e22b8461490f2b90bdfec6c61fb243c0", + "2c6ba60270ca78659647c98ba94aca95ff6de541", [ null, [ @@ -141541,7 +141592,7 @@ ] ], "first-letter-001.html": [ - "afe1f9b60391b5fb8ca0b222345b869c899208a1", + "b1dc5860a39d6c4d7088eccfaaec42898b6b12b3", [ null, [ @@ -141554,7 +141605,7 @@ ] ], "first-letter-002.html": [ - "02cc92058f8b6da9e9a338abf16ab47e6572b1e4", + "4ee147699a02c922ac5df8b97b806c4f723c0166", [ null, [ @@ -141567,7 +141618,7 @@ ] ], "first-letter-003.html": [ - "9c6f87a59d224ce709f17292134dcc98ea8e57e9", + "95b2471fc3a63ae1441c47136d1517e5a636f61f", [ null, [ @@ -141580,7 +141631,7 @@ ] ], "first-letter-004.html": [ - "9079126d3a6f7e1f70e4f5004450fa50b40862fd", + "33c14feb60286479ae805cc021f14e2b4be5418d", [ null, [ @@ -141814,7 +141865,7 @@ ] ], "first-letter-punctuation-and-space.html": [ - "9898c20d3704bb2f8961a6a9869d627b5d30aa9f", + "2e5a353c175e171f52514906cd3ef6dc8747c086", [ null, [ @@ -142139,7 +142190,7 @@ ] ], "grammar-error-001.html": [ - "3fe34ae7bcdd8ad1dfd4fb94983fb0a7d7259fb8", + "b7eaa6b20fbe61b25ebeb2e0ae74a0f558fcf0e4", [ null, [ @@ -142152,7 +142203,7 @@ ] ], "grammar-spelling-errors-001.html": [ - "f97d898e9a87266570f73961351a355f2b06a81e", + "66df551a232183197470e25fb6012886d6630306", [ null, [ @@ -142165,7 +142216,7 @@ ] ], "grammar-spelling-errors-002.html": [ - "242a3af9afb829f5dbda4edc9fe5b742ce1cb56c", + "3a89e54c42e493875bd8e992a35f4a1d2eb0ab8a", [ null, [ @@ -142394,7 +142445,7 @@ ] ], "highlight-z-index-001.html": [ - "f81d25ceb9d2e4199ad80f827bd27b34013701fc", + "45b83ae81e89df855b6f104ae0beff7dc7a8d9f7", [ null, [ @@ -142407,7 +142458,7 @@ ] ], "highlight-z-index-002.html": [ - "692984d863232270b31ca38fca8cc16252d196c9", + "26c965086546f48d9d1736901e558f94cc5c7ece", [ null, [ @@ -143255,7 +143306,7 @@ ] ], "selection-contenteditable-011.html": [ - "5203edb4da7e837ae2616cdc6e1517d08b072bb1", + "bbefe0910ffd7f797fbafc8267815322281ee084", [ null, [ @@ -143284,7 +143335,7 @@ ] ], "selection-input-011.html": [ - "56ea2a08634f04dafe5cb7b2a4670f43cec580b0", + "e5d1858b82f4fde1545e81b6725e321f4c82d1c1", [ null, [ @@ -143378,7 +143429,7 @@ ] ], "selection-overlay-and-grammar-001.html": [ - "0ccc1763e3473d95003574365e3129d0927797cd", + "19768c73897155fc03fa063aa9001c5b74521b6e", [ null, [ @@ -143391,7 +143442,7 @@ ] ], "selection-overlay-and-spelling-001.html": [ - "b4c6f1866008752b61eb466e0782cbb7d7a316a1", + "13f9a2caf8c7801bdd2e333716fe6e9867fa8749", [ null, [ @@ -143417,7 +143468,7 @@ ] ], "selection-textarea-011.html": [ - "4a925bae3389b97bcc03d42c8e6f3fb4190efe5d", + "0152b957c25fed4b8781d1e6a5b63e16ac7db8d7", [ null, [ @@ -143430,7 +143481,7 @@ ] ], "spelling-error-001.html": [ - "a71d6f0155e42ad0ebe33f6ea11aa5755201beaa", + "1654611bd107c99faa562046f4ae4d5bb10f8d3e", [ null, [ @@ -143770,7 +143821,7 @@ ] ], "improperly-contained-annotation-001.html": [ - "6231dce9e7b561a02fd0c46a92328793c8febfca", + "3790ba0bd1a952cf97023bc144fb46fede5cbc41", [ null, [ @@ -143796,7 +143847,7 @@ ] ], "rb-display-001.html": [ - "d734bc02748fcece2414b64d42f36d44901d6b5c", + "5149eb34a4686a38cdf347fbe6162df83a9403a6", [ null, [ @@ -143835,7 +143886,7 @@ ] ], "rt-display-001.html": [ - "14b0bcae9e84d3df1f22827e698cc068e55cb56f", + "a83ce243b342a19c420da81d08c3b2eaab475f27", [ null, [ @@ -145892,7 +145943,7 @@ "shape-outside": { "assorted": { "float-retry-push-circle.html": [ - "d8077c670fe24c5c08deb40bd3553e1a59696121", + "fe0b82ab6fd557875ea7d453b59980b82f31c689", [ null, [ @@ -145905,7 +145956,7 @@ ] ], "float-retry-push-image.html": [ - "7087797c89da1d2adc93964e8ea30de16aeb4c23", + "aed064d9c8b97d91bbdf16e710b52796200c0575", [ null, [ @@ -145918,7 +145969,7 @@ ] ], "float-retry-push-inset.html": [ - "f24a0e68f4eb1fc9217c93eef823c68d8905f735", + "ba339e6d6c9ba125baef89efe3e200e00389b824", [ null, [ @@ -145931,7 +145982,7 @@ ] ], "float-retry-push-polygon.html": [ - "3471d1b34649f08fd81c2236f033efb1b852b826", + "9fc0330630ffe4ca282ede78c2bf3415f7855c84", [ null, [ @@ -145974,7 +146025,7 @@ }, "shape-box": { "shape-outside-border-box-001.html": [ - "a033c719967dd8288ec619c9b96ad70717d71bfc", + "9bcadb121db3361ba9d4547a9e4d74b5e5d97f1b", [ null, [ @@ -145987,7 +146038,7 @@ ] ], "shape-outside-border-box-002.html": [ - "a4b2cbe3246eb87cabffce7b8c0714c48e957340", + "de942dc69d818ab16036175f27269dec6b8719b0", [ null, [ @@ -146000,7 +146051,7 @@ ] ], "shape-outside-border-box-border-radius-001.html": [ - "2ede1bb6539caff8b4043dd05ac8cf010a90864e", + "863e3c000d85cfb3835ef1635f36da3ba30dcf4a", [ null, [ @@ -146013,7 +146064,7 @@ ] ], "shape-outside-border-box-border-radius-002.html": [ - "2ee704a7af5af13d979db2c4dd8514f1bd16050a", + "5b2837187ecbab6d629e14bd2069cf49a827ba47", [ null, [ @@ -146026,7 +146077,7 @@ ] ], "shape-outside-border-box-border-radius-003.html": [ - "bce4ee51d12bb4f0a8a22251891b0b0ab9953fa1", + "ff0960fc19a589a12c86a183fbacf7a2e3aaa0e6", [ null, [ @@ -146039,7 +146090,7 @@ ] ], "shape-outside-border-box-border-radius-004.html": [ - "0e8cf24fd59a91cc87675c48f01ca0f76578fa00", + "0a7dee8caa1b51c0d4739ff121ce456ddeaacd08", [ null, [ @@ -146052,7 +146103,7 @@ ] ], "shape-outside-border-box-border-radius-005.html": [ - "c76bc98afa62cb327a710fc6aeeee7e3bda7bd4c", + "8bd21139213eb9927fe0aadb8ccbb88f4f73250c", [ null, [ @@ -146065,7 +146116,7 @@ ] ], "shape-outside-border-box-border-radius-006.html": [ - "7303cb137206a7e761c06fba1aa259bee2768071", + "4afe1d42c1189476305c00aef53e39c51dbc7c9a", [ null, [ @@ -146078,7 +146129,7 @@ ] ], "shape-outside-border-box-border-radius-007.html": [ - "0ece2a05183915351e5cd0d9a494fd2c3c54f28f", + "4a55ad0364ba1bc9d89593670e829cbc12af3329", [ null, [ @@ -146091,7 +146142,7 @@ ] ], "shape-outside-border-box-border-radius-008.html": [ - "4dfe51733493f415adfbd5fe0bfe0fd0ef9aba99", + "de0c5d5dce165656a2b157c38fd4496a8701e9a4", [ null, [ @@ -146104,7 +146155,7 @@ ] ], "shape-outside-border-box-border-radius-009.html": [ - "cfee5469bdb890982e36496dccb56a600f31587d", + "27119bf33a40ec906874ec6cbd9e0b2d55a95d0d", [ null, [ @@ -146117,7 +146168,7 @@ ] ], "shape-outside-border-box-border-radius-010.html": [ - "2ddb37bd7f325f18966b081505cc9cfd22753d67", + "dcb60fc4959f694a9e7f45cb01d640ae45d2912c", [ null, [ @@ -146130,7 +146181,7 @@ ] ], "shape-outside-border-box-border-radius-011.html": [ - "acc188d7a1e86e727201af66b0e32cacdcb0e2dd", + "c604857c9b8b561ccf0242d42234579feeac72c7", [ null, [ @@ -146143,7 +146194,7 @@ ] ], "shape-outside-border-box-border-radius-012.html": [ - "ccacd49d1182a80e945f1f373b47fae19116f255", + "70b16559a9b8bf3cf800b362c3e1e7a11219e05b", [ null, [ @@ -146247,7 +146298,7 @@ ] ], "shape-outside-content-box-001.html": [ - "76a3098c658ad130823ef688980d1fc29b70961d", + "a6558ae41b0f2c88515f8d566a45657d8ac87d4c", [ null, [ @@ -146260,7 +146311,7 @@ ] ], "shape-outside-content-box-002.html": [ - "bacb7ad0c0c4aadac95cf257d8ec98bc70f8da69", + "f20457781e80e4dff72e2d209ccf02458d929212", [ null, [ @@ -146273,7 +146324,7 @@ ] ], "shape-outside-content-box-border-radius-001.html": [ - "a467bccf3365ff7e2126a4000afd6390391c660c", + "90bc2d3a572a246f0b75e00c3700c0f9e2a07de1", [ null, [ @@ -146286,7 +146337,7 @@ ] ], "shape-outside-content-box-border-radius-002.html": [ - "9be47d5ee194d8aaa508816a3042653ac46f9605", + "aeae55ca23a9fde96e7e26193d0d44ed1c75f050", [ null, [ @@ -146299,7 +146350,7 @@ ] ], "shape-outside-margin-box-001.html": [ - "8f6555df360026c7a1a0d1df3170d3c734d80625", + "b8977a92a645682a5873b6aa4ccb480eecc1612e", [ null, [ @@ -146312,7 +146363,7 @@ ] ], "shape-outside-margin-box-002.html": [ - "6f9cdc02b43438f7e153dec055446105a35f1953", + "09d4e57aca7a92e4a2ac34ee434f6f96c79b1eaf", [ null, [ @@ -146325,7 +146376,7 @@ ] ], "shape-outside-margin-box-border-radius-001.html": [ - "2fbe5d29583184d7afd5677a2c2132750dc07849", + "c2a21fc5204b587f1213529256863ba0b29b0e19", [ null, [ @@ -146338,7 +146389,7 @@ ] ], "shape-outside-margin-box-border-radius-002.html": [ - "6023e6e239a4140f00905b3e14b95b3db03588ff", + "96b162e9043c6411280008a9b05621ef59fd4909", [ null, [ @@ -146351,7 +146402,7 @@ ] ], "shape-outside-margin-box-border-radius-003.html": [ - "562090270323ea2e4c83a42e4e22b588f53a011a", + "f1b7f550fb48d8c82280cf941f349c9263495a0f", [ null, [ @@ -146364,7 +146415,7 @@ ] ], "shape-outside-margin-box-border-radius-004.html": [ - "33269ae1782b9345bd02672d14a538e31a023ff7", + "26f000fc9a4c3852d41916b31713ed6df83b02c0", [ null, [ @@ -146377,7 +146428,7 @@ ] ], "shape-outside-margin-box-border-radius-005.html": [ - "cb7e707b1e673d297f4531ade5311bb76e7214af", + "39d2a87e9da6d06b19a428a4d89c9d413bd71c50", [ null, [ @@ -146390,7 +146441,7 @@ ] ], "shape-outside-margin-box-border-radius-006.html": [ - "4a5beee924ef47210b8ee564890c73486fe26002", + "8cce6f1831b7e252f0e1b35739dcd2d1cfb8a6cf", [ null, [ @@ -146403,7 +146454,7 @@ ] ], "shape-outside-margin-box-border-radius-007.html": [ - "b1871ed36e3ca608282a52a3e505294e66ba1e7f", + "61143a8fe522171dc86f68736f77e6f0dc23cf27", [ null, [ @@ -146416,7 +146467,7 @@ ] ], "shape-outside-margin-box-border-radius-008.html": [ - "70df0bb243c7bc6b7f1962808b1e91b4cc5b2e55", + "ddae6453d38a699f845597a8078218bf0ece7399", [ null, [ @@ -146429,7 +146480,7 @@ ] ], "shape-outside-padding-box-001.html": [ - "74d6227c6830c872b3642202c361d2d211b4d794", + "0eee6fb41ea2ef2861761a17b553cbca4c002dd5", [ null, [ @@ -146442,7 +146493,7 @@ ] ], "shape-outside-padding-box-002.html": [ - "a22978f10e0dcbea5701a170d0a97c84e1ddfd65", + "eb298dee2bb831b15982f51a0b5bf0fc8a870322", [ null, [ @@ -146455,7 +146506,7 @@ ] ], "shape-outside-padding-box-border-radius-001.html": [ - "66df1ac59d75036d4ffc4813c505f0950cc79195", + "8b775c1526f6ab7d96a0ce9597d3353344bce6c2", [ null, [ @@ -146468,7 +146519,7 @@ ] ], "shape-outside-padding-box-border-radius-002.html": [ - "8ebb7df2c8898c8c2cc5fbcfd7825750a6b40595", + "ba603db9123681aa9ba8c256aff9d0bf7bdbcd8f", [ null, [ @@ -147294,7 +147345,7 @@ ] ], "shape-outside-circle-032.html": [ - "a9f404813ef53d880e201fd65b1e8c014f8a870d", + "74e6fff2e57c9aac59eeca516674cd7a0019c638", [ null, [ @@ -147307,7 +147358,7 @@ ] ], "shape-outside-circle-033.html": [ - "9d2b0d89f8e9f545afe542a3306457273cfc4edb", + "5e02e1674f5215407bde2fac5579bc16eb205fc3", [ null, [ @@ -147320,7 +147371,7 @@ ] ], "shape-outside-circle-034.html": [ - "c9e978ab1e577d6f79eaec4d48dd586123c3fe71", + "60fac07dd57a7f72a46b64fc28da53a9fce1de18", [ null, [ @@ -147333,7 +147384,7 @@ ] ], "shape-outside-circle-035.html": [ - "348cdd31f2cbeb1b204f67c232eefa9ecd45d9e9", + "ed9229416b9b518d946cc9b5e28f6913c6d61299", [ null, [ @@ -147346,7 +147397,7 @@ ] ], "shape-outside-circle-036.html": [ - "876d2fda4856e94ac7f0753d945fff888ec42ae6", + "62e334079d07416aa23ef4d6967133cf7fd6fd9a", [ null, [ @@ -147359,7 +147410,7 @@ ] ], "shape-outside-circle-037.html": [ - "5cb146b50b66022ad387d98f20aa7bb30b32d185", + "53d8a5a779146dbce38e8fc31242d78a66645d97", [ null, [ @@ -147372,7 +147423,7 @@ ] ], "shape-outside-circle-038.html": [ - "be540c71da4a04307f765c6d94f38c7fbecc9f99", + "0c4adbf5e6824f68afb131bf548854e4c1e6ec3f", [ null, [ @@ -147385,7 +147436,7 @@ ] ], "shape-outside-circle-041.html": [ - "9b7ae67f75dd40f0ee8a18f11664556e9a0f6e13", + "faeb4cd3c00dbab42dfced07ed86452618e836f8", [ null, [ @@ -147398,7 +147449,7 @@ ] ], "shape-outside-circle-042.html": [ - "8e2ee351a83b64b80d6a5a6b8647c98040ada2f0", + "4c0625acf6a0a6b21a0b3ca122f4911161b3031e", [ null, [ @@ -147411,7 +147462,7 @@ ] ], "shape-outside-circle-043.html": [ - "3393a1610a3c1dc320db34d30280aa722949ef6b", + "06960c092c846955295f797dc52a14d084954e7f", [ null, [ @@ -147424,7 +147475,7 @@ ] ], "shape-outside-circle-044.html": [ - "ce0f667c5440c2f13db4372d84da90460ec3f9b5", + "918c178cb01c0cc704c721673e3733163acaa781", [ null, [ @@ -147437,7 +147488,7 @@ ] ], "shape-outside-circle-047.html": [ - "a909c152c62cb2195b57fba24b2d19ac6717133d", + "8dbc47580448621853d5789b725237ddf1ff2f17", [ null, [ @@ -147450,7 +147501,7 @@ ] ], "shape-outside-circle-048.html": [ - "d6f3e8993b069dab70c4e6973548a1aa6e68b00a", + "38f5dd395c2b24722d191e2e3d2ddfe6f05bf998", [ null, [ @@ -147463,7 +147514,7 @@ ] ], "shape-outside-circle-049.html": [ - "8f51a7ce14630caa0a5019f726fc0c8ea265b084", + "d9c5c9ff8508aeb4dc8111e1c98d2df6bd41c64a", [ null, [ @@ -147476,7 +147527,7 @@ ] ], "shape-outside-circle-050.html": [ - "784f70ec8707c09ed91a1cbb28cd0f5371283834", + "22e85d549221568c6d77b69d9fc9df521fde6ab2", [ null, [ @@ -147489,7 +147540,7 @@ ] ], "shape-outside-circle-051.html": [ - "d487af8a9cbe849ac8bd54a3a331f078a370cee6", + "ebb46d5a266cff0a40441099bed3dbc3a6145e68", [ null, [ @@ -147502,7 +147553,7 @@ ] ], "shape-outside-circle-052.html": [ - "ad908cf6aaa6323709028d3324d2dda98b98b538", + "d8c462a563d07d6332925cd6684ac6a2f5b64376", [ null, [ @@ -147515,7 +147566,7 @@ ] ], "shape-outside-circle-053.html": [ - "8e6532d935c6ea7a1ca0f6d05a56bd7da7607f99", + "4ee2f880fa0264ebf59eeb249571591a174d7c05", [ null, [ @@ -147528,7 +147579,7 @@ ] ], "shape-outside-circle-054.html": [ - "4f96f2d67c04cccbe9b7a6239f83803362e536c6", + "5894a800ee20cd4fa1bc11bca0a959cecb1f4a59", [ null, [ @@ -147541,7 +147592,7 @@ ] ], "shape-outside-circle-055.html": [ - "611984b26f73086c9a0da508673bfebe66a4e131", + "6e159ecd2d966d90d2f9447a7b69e6a930b81821", [ null, [ @@ -147764,7 +147815,7 @@ ] ], "shape-outside-ellipse-032.html": [ - "0917d096c81a0e2c22a4306f0064cbee4b2876d5", + "22f4a870521944ca9be1f92bb5e256575becd103", [ null, [ @@ -147777,7 +147828,7 @@ ] ], "shape-outside-ellipse-033.html": [ - "d761a48f07288ee494b2b4162f54e6778305eb04", + "50b2f44487639498f6d78af7c43f1f536ef06264", [ null, [ @@ -147790,7 +147841,7 @@ ] ], "shape-outside-ellipse-034.html": [ - "f32747015e8c6dfe333adc5df2c79b048d1b5e2a", + "bedebc9ca30738f2ea1f80b4cd2ec2718ea6a70e", [ null, [ @@ -147803,7 +147854,7 @@ ] ], "shape-outside-ellipse-035.html": [ - "c98eb061e3c7ab73252815605dcf382ba6560c3d", + "ac5606145521bb0267b05c2aa7027bdadba65eaf", [ null, [ @@ -147816,7 +147867,7 @@ ] ], "shape-outside-ellipse-036.html": [ - "dd2194ead8f7071eca08f759f9ddd790896d6661", + "11d0b39f7418554cfe53bf00b8b7eb041fd8038a", [ null, [ @@ -147829,7 +147880,7 @@ ] ], "shape-outside-ellipse-037.html": [ - "70c9a0335793989fb8b9974325ee47351c3ec7be", + "6cb2fb2b6b33311e983fc9002068ea0c565209b0", [ null, [ @@ -147842,7 +147893,7 @@ ] ], "shape-outside-ellipse-038.html": [ - "190ae662a939138d17e6aa48309e417c650d10a0", + "40d43c7e06f5a5820f85f311bfbb4d59531f2b8f", [ null, [ @@ -147855,7 +147906,7 @@ ] ], "shape-outside-ellipse-039.html": [ - "5a76fbd762884ec79a299c2e274295548928bfae", + "852631b3e25a5849a1f7403a295231af021d249c", [ null, [ @@ -147868,7 +147919,7 @@ ] ], "shape-outside-ellipse-040.html": [ - "70db3c0ae37c12caadbefbad24de3b28bf32de56", + "f650fa1eb44b32eafa9d929a4ea9b984265ab9b9", [ null, [ @@ -147881,7 +147932,7 @@ ] ], "shape-outside-ellipse-041.html": [ - "304382ef206c8566ed712792e6fd6c7364bb4cfb", + "8929a7eb26a30c9fbda014d84688ca156be2156e", [ null, [ @@ -147894,7 +147945,7 @@ ] ], "shape-outside-ellipse-042.html": [ - "4056a8617d59a011121266549c2ef9662a4545ed", + "e534eb2c77bb704489732a351a07d3ea49898fa1", [ null, [ @@ -147907,7 +147958,7 @@ ] ], "shape-outside-ellipse-043.html": [ - "3cd8896568f2ec33fcd85a4a9bac87152d1ee515", + "ede60f858517a9415c46df8b9d7b2fb08b40a434", [ null, [ @@ -147920,7 +147971,7 @@ ] ], "shape-outside-ellipse-044.html": [ - "4e5cb5420494bb7871fd040df009f965a2788c2c", + "2d93a65d700199f195a1afdf96f16ab124427df9", [ null, [ @@ -147933,7 +147984,7 @@ ] ], "shape-outside-ellipse-045.html": [ - "0c56b7484e302f92e6fb7ab2bf989ee4f8a35de7", + "99b5faf7f77c07f7f30ca7cfae450629444f23e5", [ null, [ @@ -147946,7 +147997,7 @@ ] ], "shape-outside-ellipse-046.html": [ - "cb531521646de3e2ef7889f66c1437aeab587c3d", + "f8ff1ae6416d368cd284722ca5cf33ea54b47065", [ null, [ @@ -147959,7 +148010,7 @@ ] ], "shape-outside-ellipse-047.html": [ - "85f8ee4c13777723cc627b5b5eb4e27370ae632b", + "3a019cf68d9988ee06f78363927008001686273d", [ null, [ @@ -147972,7 +148023,7 @@ ] ], "shape-outside-ellipse-048.html": [ - "5d993266e961aca2236d9266b02965fbb84e3418", + "5a6cc90e256d3b1a05e637457f24a7506dda5015", [ null, [ @@ -147985,7 +148036,7 @@ ] ], "shape-outside-ellipse-049.html": [ - "612ba938d130152689f01f3fdc432a6c0bcef467", + "bdb98d9c8edc1d960a1a998081aa7561d83cbea4", [ null, [ @@ -147998,7 +148049,7 @@ ] ], "shape-outside-ellipse-050.html": [ - "84371638ea8f7b6affa5ec493816ad08f63cd906", + "18890072a7f414022c29f247212a45899def0faf", [ null, [ @@ -148011,7 +148062,7 @@ ] ], "shape-outside-ellipse-051.html": [ - "cca37cf9fbd7f7d9782ddb401012144a86337334", + "764406a0bbcfabb06271e9c1c4eb028692f21d20", [ null, [ @@ -148117,7 +148168,7 @@ ] ], "shape-outside-inset-016.html": [ - "ecf4a9ddf71f3eef32712a9e0c91ec097b564efd", + "d4ab82ddc867a58843b948a403cba447cf5a1735", [ null, [ @@ -148130,7 +148181,7 @@ ] ], "shape-outside-inset-017.html": [ - "7e0f23299ceed095fcc70958bd6b1b577568f6f3", + "cf19cc25cfb14b1cb0fc4cd8a495bafe671abdb0", [ null, [ @@ -148143,7 +148194,7 @@ ] ], "shape-outside-inset-020.html": [ - "204e4d40c67ec57ed64709eedb5795c303ddc852", + "d08b91e32aefde22513fd199702cf4a6fddca9f2", [ null, [ @@ -148156,7 +148207,7 @@ ] ], "shape-outside-inset-021.html": [ - "218f59cf9d981d2ec503e9ac4955f583030c6a58", + "e1d48bff712d860df397739bc4c7849f0e41a70f", [ null, [ @@ -148169,7 +148220,7 @@ ] ], "shape-outside-inset-022.html": [ - "69a2d48544f42b0386fd537c3c04b0411e90c1b6", + "5c51dc1a8eeaeb58db38facda6aa7d6ae4499b57", [ null, [ @@ -148182,7 +148233,7 @@ ] ], "shape-outside-inset-023.html": [ - "f4d8bd09377bbfd23535ccb51830bdd70cae7a0f", + "6e01d0fb4d0e31d947088381a5034269411b5fb3", [ null, [ @@ -148195,7 +148246,7 @@ ] ], "shape-outside-inset-024.html": [ - "d1cfcfbd29323e8aa83e8063d3eb3f7de83b7ea2", + "ec02241e9b5b6dda1586e410355ba70897214081", [ null, [ @@ -148208,7 +148259,7 @@ ] ], "shape-outside-inset-025.html": [ - "40c01941ea822a990a1cb43f9c1e653eb8b8e2c8", + "c843e0f7f13244f56143b19c4042790e85e88598", [ null, [ @@ -148221,7 +148272,7 @@ ] ], "shape-outside-inset-026.html": [ - "6bacd729533545d14a2b60a4c096bb4ef5e88351", + "354ddafaa1db787bc73eb36b4c9bfeabbdd2a5c3", [ null, [ @@ -148234,7 +148285,7 @@ ] ], "shape-outside-inset-027.html": [ - "ca7893c71c0bb2f4e59dcea18c8ccab312d89606", + "69fb1e78b3e262fff2ce97e7039720c9888688ab", [ null, [ @@ -148444,7 +148495,7 @@ ] ], "shape-outside-polygon-018.html": [ - "4509c1cb4e484f1aeaa78e29f5c5c31282fae21c", + "832f9606ceef5d5018be4f318eb61b10c1dd02fc", [ null, [ @@ -148457,7 +148508,7 @@ ] ], "shape-outside-polygon-019.html": [ - "46bb1bf810a5894263e631038c040a3186123f5c", + "62e2f0ad9135a20d5f922ba5229df86a07905096", [ null, [ @@ -148470,7 +148521,7 @@ ] ], "shape-outside-polygon-020.html": [ - "127c80a95925edffa2a479199ebafc6d021e1635", + "4c5ef55391d84fb59e7a66026b50a9520f41eff5", [ null, [ @@ -148483,7 +148534,7 @@ ] ], "shape-outside-polygon-021.html": [ - "7698d4ea32291489dfae63718149baa3c8309226", + "321214b159213556a39377a7a16db24e69e2b962", [ null, [ @@ -148496,7 +148547,7 @@ ] ], "shape-outside-polygon-022.html": [ - "2d8a7e1a63d538f5e9af00209e7682fc1362266a", + "896e74bf820cf38baeb9926a58df04a760752e86", [ null, [ @@ -148509,7 +148560,7 @@ ] ], "shape-outside-polygon-023.html": [ - "452d1de0f87433ac2a7cfcf56083378be3ba75a9", + "56f148110570f1e45868a5fdb5e62bafc66c46c2", [ null, [ @@ -148522,7 +148573,7 @@ ] ], "shape-outside-polygon-024.html": [ - "97e4dfa1aac07b774665b0b6fd9f95c6c117b886", + "9e794492fe650eec3990354ec07ea3f12819257d", [ null, [ @@ -148535,7 +148586,7 @@ ] ], "shape-outside-polygon-025.html": [ - "318e8cf22a9c7338f9bf543740cc1e91258a8662", + "5e158f925a76a1bc2a3cb65c71ba93cab0e2fedb", [ null, [ @@ -153036,7 +153087,7 @@ ] ], "ortho-writing-mode-001.html": [ - "9342802645faa7b57a12ce4b8ef17d755fcaface", + "ca34be73229276ba7dd81a133f12bf53c61836b0", [ null, [ @@ -153415,7 +153466,7 @@ ] ], "style-attr-specificity-001.xht": [ - "aadd9267f2907b76f641c82730a9ebd9ed99e996", + "ff818d8e1bb7a36eb21494d4eb5c861df734fdab", [ null, [ @@ -153428,7 +153479,7 @@ ] ], "style-attr-specificity-002.xht": [ - "90f8b2b5002be736c02e347f074bfc2f7bb2eca9", + "1f7bb628711fdf3e07f0f83d01122157d62bb758", [ null, [ @@ -153482,7 +153533,7 @@ }, "css-tables": { "absolute-tables-006.html": [ - "91439a69c9b1765cdbaf7e9614180d080ab32907", + "d5d2265c491435359a6e96df87b18460a7fa5355", [ null, [ @@ -153638,7 +153689,7 @@ ] ], "background-clip-001.html": [ - "b4caf5f0eb1ed32dbd9b41e9f3993b9711be359f", + "dcda11fec7a57e09d0bfc3589e072da83b91f5ee", [ null, [ @@ -153716,7 +153767,7 @@ ] ], "box-shadow-001.html": [ - "cc699d999eaf9dd7a50c0111ef319816c5c2cb12", + "9a9fb066d997b213d0a2caa4b5e1d3f6c92d448b", [ null, [ @@ -153938,7 +153989,7 @@ ], "floats": { "floats-wrap-bfc-006b.xht": [ - "78ec3dc42894f270f382ef9e4023e06f782aad00", + "664edbd129e688e4a6582b211e3ecb85108cb437", [ null, [ @@ -153951,7 +154002,7 @@ ] ], "floats-wrap-bfc-006c.xht": [ - "618931c0762b24712b91debfadc547f2f3365495", + "88593468f9255bd4c64a18e201d42f53aed5297d", [ null, [ @@ -153966,7 +154017,7 @@ }, "height-distribution": { "extra-height-given-to-all-row-groups-001.html": [ - "81698a19c9116bcfd7f26bb0d7bc7e43acd0e7d0", + "387bfafae1c2e038b67e3d86973e1c7c6c00f67c", [ null, [ @@ -153979,7 +154030,7 @@ ] ], "extra-height-given-to-all-row-groups-002.html": [ - "0bf8a8945b386cc5bb1959ff47ed6d1403011716", + "6a0589d3b84935fa3d2b2e3e4a6005f3c7956371", [ null, [ @@ -153992,7 +154043,7 @@ ] ], "extra-height-given-to-all-row-groups-005.html": [ - "8d0411b047e93826eb7b17b49df6ab3bc9a5eb9b", + "381d775e89a3a3cde61df12ee724dfdf285bfdfb", [ null, [ @@ -154031,7 +154082,7 @@ ] ], "percentage-sizing-of-table-cell-children-003.html": [ - "0a8a8e57ced10a97a49b3cf6574b81130451ffcf", + "1198e6f6497af9fa8a0887b51463810b355405ed", [ null, [ @@ -154044,7 +154095,7 @@ ] ], "percentage-sizing-of-table-cell-children-004.html": [ - "f08fed6fb5ae2b82392d96be7d5ff6d3934aac06", + "ffbb4b008a5a9144bcaf32a82c914938d7a3d722", [ null, [ @@ -154057,7 +154108,7 @@ ] ], "percentage-sizing-of-table-cell-children-005.html": [ - "9726540e7c3d1fbd72301e59484f5086d1119dab", + "0a0e658bd8a0f4ffbed2fdff267acf5ef67aeba4", [ null, [ @@ -154070,7 +154121,7 @@ ] ], "percentage-sizing-of-table-cell-children-006.html": [ - "2104e4b0b92313b5eb002a73e7f8a56f419b7927", + "de3ac019b32cce1246445960cd7eb8f55a2bda93", [ null, [ @@ -154136,7 +154187,7 @@ ] ], "internal-containing-block-001.html": [ - "a8745487b6702b8b8e8ac85bd843014dc296b717", + "9e859f0ab0a683ee96b8b781503b0bf7ae42d9f6", [ null, [ @@ -154331,7 +154382,7 @@ ] ], "subpixel-collapsed-borders-001.html": [ - "a71f5cc698b74a518411e57974577b4f4c4dccda", + "a74e7a104cd4d3ab79d5af201bee1abcf0aafc36", [ null, [ @@ -154344,7 +154395,7 @@ ] ], "subpixel-collapsed-borders-002.html": [ - "8f8292cd22becd3ddba61f5205828596a8995e44", + "e074e21f43425aa239616fdf9d50e9bede76e3f6", [ null, [ @@ -154357,7 +154408,7 @@ ] ], "subpixel-collapsed-borders-003.html": [ - "358562cbd7ff49f43c234db502513faabc8390d1", + "e22df9e51a6a3944c1bb52d48f10b07b8a643ee5", [ null, [ @@ -154370,7 +154421,7 @@ ] ], "subpixel-table-cell-height-001.html": [ - "581efa02b9183d94224bb84b5df4db8ee152e2a4", + "58f837789aaacf8cdb963c05c9c6409a3dd49253", [ null, [ @@ -154383,7 +154434,7 @@ ] ], "subpixel-table-cell-width-001.html": [ - "2174fbec3b6ffafe2a0f209b394418895822d200", + "22bb1f08c4a03714da1a8149880af361a19880cd", [ null, [ @@ -154396,7 +154447,7 @@ ] ], "subpixel-table-cell-width-002.html": [ - "f47938f0cdac1c821d0a3f91907ed2ab5dfb09a3", + "5ddc9f67e46f01d48621a8fdc052704f89a7e1cd", [ null, [ @@ -154409,7 +154460,7 @@ ] ], "subpixel-table-width-001.html": [ - "153282fa6373afe2680a2826b3b45db41279ff79", + "67b1b7d078eff9dca423eed6b41c42b75a35be96", [ null, [ @@ -154474,7 +154525,7 @@ ] ], "table-has-box-sizing-border-box-001.html": [ - "e3cddd12a6686bec09e5b0d0f47e62e6517c69ae", + "570065c697609afb91b03bead3e33f53c67580c4", [ null, [ @@ -154487,7 +154538,7 @@ ] ], "table-has-box-sizing-border-box-002.html": [ - "910eb61f2c3825130d01978e335afe02af4ea13a", + "bd78f304dbc1950f883733e0556e065034dfa9fc", [ null, [ @@ -154595,7 +154646,7 @@ } }, "toggle-row-display-property-001.html": [ - "08e6635e12c42a4201ca955722227010834883e8", + "8755cd068f2feb155cbf8079b0925b9766f53f5e", [ null, [ @@ -157498,6 +157549,19 @@ {} ] ], + "letter-spacing-bengali-yaphala-001.html": [ + "47349ea88b40b382370b74bdd4951f9f218e3f86", + [ + null, + [ + [ + "/css/css-text/letter-spacing/reference/letter-spacing-bengali-yaphala-001-ref.html", + "==" + ] + ], + {} + ] + ], "letter-spacing-bidi-001.html": [ "4720e1d13c399b6009b2bcfed14e8fe59feffc60", [ @@ -171027,7 +171091,7 @@ ] ], "text-emphasis-color-001.xht": [ - "b393c039372bff4ad9ca94e7c38fa2a9935ad53f", + "344200f2bbe06f520399bb06d6bc5ea71da43e27", [ null, [ @@ -172158,7 +172222,7 @@ ] ], "text-emphasis-style-filled-001.xht": [ - "07b932105076151204af231d80c10818801fedc9", + "63cf4f4c80a600f1772cd3072ee394f9f88d9df8", [ null, [ @@ -172171,7 +172235,7 @@ ] ], "text-emphasis-style-none-001.xht": [ - "d57c9b5571125d440720f61763d7caad49cb50a2", + "17686a558a974f8aa368f677999d53570a43959c", [ null, [ @@ -172184,7 +172248,7 @@ ] ], "text-emphasis-style-open-001.xht": [ - "8650fb5069a5eda7c2692c31e91e0c0a425d9793", + "fb1655845b48816dceec766cd3c5003ebd435f92", [ null, [ @@ -172704,7 +172768,7 @@ ] ], "text-emphasis-style-shape-001.xht": [ - "dd9b71edc595248209a30dc102a6b998b7953c18", + "ef6220db2963a0ab53251bc2293881ca56f46f36", [ null, [ @@ -172717,7 +172781,7 @@ ] ], "text-emphasis-style-string-001.xht": [ - "e4bcfaf42001944706aef8e7a97d00c189c873a7", + "8cb320d627b6a1626703343fda3417b7fe5b8f8a", [ null, [ @@ -176388,7 +176452,7 @@ ] ], "perspective-origin-001.html": [ - "108dd64e126e537184ab045ef2e4fd6685e6ca93", + "5210a689540f1cf62617fe2b9e1859e031505671", [ null, [ @@ -176401,7 +176465,7 @@ ] ], "perspective-origin-002.html": [ - "26a41083c5b5b8097339c0c4ed129dc20c84b70b", + "869c327e83d2423c26707fb39915f5b81f81c7a1", [ null, [ @@ -176414,7 +176478,7 @@ ] ], "perspective-origin-003.html": [ - "0d867dfc8fbe12c470dcf3966995c57c59fbf0f5", + "109f8069db01088f394ef0f75b890eaccf72c886", [ null, [ @@ -176427,7 +176491,7 @@ ] ], "perspective-origin-004.html": [ - "caf238744f0440f3516d0ffb9300d92c1c349bb1", + "562e0bb84f7968536fb6544ae09d451ede920ce8", [ null, [ @@ -176440,7 +176504,7 @@ ] ], "perspective-origin-005.html": [ - "08b91a2afa6f7b390612bac1ec3452832d51ef48", + "e71d6df65de44bb257d50da75e9193b036c89ba4", [ null, [ @@ -176453,7 +176517,7 @@ ] ], "perspective-origin-006.html": [ - "d0892fd36c4fe670480fbf13e508e2aff33c08c1", + "6bbb6fb21037ecb75a2e2ded9bca9deb8c61f503", [ null, [ @@ -177085,7 +177149,7 @@ ] ], "rotate_45deg.html": [ - "a4876acd3bdb8b1328fa3a43e951423b0569bf6c", + "3c9b741be123c4b4a39a55ddcd3bb8520e37b545", [ null, [ @@ -177114,7 +177178,7 @@ ] ], "rotate_x_45deg.html": [ - "04a584abdcbc4a43b688d9d82cbe449fc82899a6", + "5d66279bcffafe313d5b5b91dd1ccefe88e8d5c8", [ null, [ @@ -177143,7 +177207,7 @@ ] ], "rotate_y_45deg.html": [ - "e3c06521328b704ff8f523a1374cfe1a7e41c8d3", + "a7c59464b20e6b1f9a1ead809a37bad304a2b715", [ null, [ @@ -177421,7 +177485,7 @@ ] ], "scalex.html": [ - "a26c2a907f21ac72daddef1a9f134fb5c9c81181", + "9669dc8d8848d1cb1771e60dd6d960634da449b8", [ null, [ @@ -177434,7 +177498,7 @@ ] ], "scaley.html": [ - "4137e8ffb12a79f0d26e5b291f468424c130859f", + "293855c8f9574aea974d5c90f121fe1447ccdba9", [ null, [ @@ -177779,7 +177843,7 @@ ] ], "transform-3d-rotateY-stair-above-001.xht": [ - "9a3aac888feee0854357320c6edf87530c07c536", + "ce03b4fca16936167aaed9c778538ee799b85044", [ null, [ @@ -177792,7 +177856,7 @@ ] ], "transform-3d-rotateY-stair-below-001.xht": [ - "25c171fced10ae20dffa92eab549d528d77f5762", + "9282f245f733803f7fa21cd351293a36ee4ae7f4", [ null, [ @@ -177954,7 +178018,7 @@ ] ], "transform-applies-to-001.xht": [ - "09bb196d533212a7113c27739a418e3ec974045a", + "c49160479a83253bfb59e420498d6e9cd82904c7", [ null, [ @@ -180868,7 +180932,7 @@ ] ], "transform-origin-007.html": [ - "ff6b698d2c7af5ce8c65f99432c3785f455d2b05", + "074fd96181de5eded792926709fb2d46da5eabff", [ null, [ @@ -180881,7 +180945,7 @@ ] ], "transform-origin-008.html": [ - "75a2f5f461752ad25868d5789d907f6de7310408", + "1103ecbccc223421ca14c3b95c9ab6848b51ba91", [ null, [ @@ -180894,7 +180958,7 @@ ] ], "transform-origin-009.html": [ - "8da416aaaea0a32ef587c053472023de31ce6fc0", + "00b78e4b0237df9ad7188a49f52e1c624d18c0de", [ null, [ @@ -180920,7 +180984,7 @@ ] ], "transform-origin-010.html": [ - "85f3d8e8a28129f9df75905fc7aa0d21de26a090", + "7f343e5abd574caccde6369b5ecf99b7fe25720d", [ null, [ @@ -180933,7 +180997,7 @@ ] ], "transform-origin-011.html": [ - "c69447595ac4261556d552f1e4d0cc12da0c1108", + "a8056b1c13da65298fc185092a5ffdc8f58d75e5", [ null, [ @@ -180946,7 +181010,7 @@ ] ], "transform-origin-012.html": [ - "f7aa466388af8b033c6be2a2760a75ad97a2ecb1", + "220d4db0ff60a23f29281232bdf7cdf13d08e638", [ null, [ @@ -183741,7 +183805,7 @@ ] ], "translate.html": [ - "34e9316852432391529bd23c493f98d669a99002", + "1c1f42e48ec1f3f4f001c72d2cae9bc3c80d3b31", [ null, [ @@ -184328,7 +184392,7 @@ ] ], "box-sizing-001.html": [ - "545403f535d2f33993558bde9086e8798c04c11f", + "870f4863774e904acbc581c9c375388fb357f16b", [ null, [ @@ -184341,7 +184405,7 @@ ] ], "box-sizing-003.html": [ - "089406f71f1f09e6dfca18c0ae6ffa8c89788cc7", + "4aefec6656653c8bfff94f645554b9d5395e7d30", [ null, [ @@ -184354,7 +184418,7 @@ ] ], "box-sizing-005.html": [ - "232a89c1ac54c2902953146082ddc8ea6fe36946", + "64267da852871de78c15c20bb64635db9f9c1759", [ null, [ @@ -184614,7 +184678,7 @@ ] ], "box-sizing-026.html": [ - "424b764acafcfb0257c008c735d7c5dd69bafccb", + "399c0499f7c2c8a37862490f6d8fe42d0c258dbb", [ null, [ @@ -185266,7 +185330,7 @@ ] ], "outline-001.html": [ - "e24b68c42e8a314e99317eb86331c621c29c36ea", + "e669e2313683ca898aaa0294ddfde1eb06508b90", [ null, [ @@ -185279,7 +185343,7 @@ ] ], "outline-002.html": [ - "f64fb177ec08b431700e4a2d6709d90236ea3bc7", + "7d8253d4542dce42e9b99549a1c7d97110c375c0", [ null, [ @@ -185529,7 +185593,7 @@ ] ], "outline-022.html": [ - "e800f90fa5c04663dd6a447a6b583815b74f61a7", + "5da549691ee37067d65cd1dc9b4cafad54c612c1", [ null, [ @@ -185620,7 +185684,7 @@ ] ], "outline-color-001.html": [ - "4245b2ceb7393a73850a223e498987e0e1bc4aa3", + "82824e47bfc57593f6dea8bfceae5a5e6bf1cb67", [ null, [ @@ -185646,7 +185710,7 @@ ] ], "outline-offset-001.html": [ - "a131e96e29ef8d6dd0f3cbbc03235ede4f71e014", + "8f82eb64804cf1fc15c62b279b3f08383745261c", [ null, [ @@ -185685,7 +185749,7 @@ ] ], "outline-style-011.html": [ - "36ef27a79f8ac00c6db08fe5cf2a0e6113f6762a", + "a4981ed1615b1ecdca77731d0a7ff1587e61df47", [ null, [ @@ -185698,7 +185762,7 @@ ] ], "outline-style-012.html": [ - "df44c67b05d5334cef91b81f75946bf7c0d1c447", + "30b7f955481bfff38026bb959906f9558984e9fb", [ null, [ @@ -185711,7 +185775,7 @@ ] ], "outline-style-013.html": [ - "ea03a3e543270c933f7f34dc0ee8c0ecfb97243b", + "3df338f99d93d8787c895fa7ed062be4b79e522d", [ null, [ @@ -185724,7 +185788,7 @@ ] ], "outline-style-014.html": [ - "b6ac104c9daaafd94ab057d4f0700f1250bc3f75", + "52440db87df84ff7f6e479f0633cb15eaca639fa", [ null, [ @@ -185789,7 +185853,7 @@ ] ], "text-overflow-001.html": [ - "375c5c1e3cf060be068303b67e5505f7863e0ce9", + "ae9029933a6ade15e63ea06b60082b5a06f85232", [ null, [ @@ -185802,7 +185866,7 @@ ] ], "text-overflow-002.html": [ - "f90b2c97c4ee34baf8d0d7902c78c66fb893a133", + "d8a95299d29dde493875904a440feefc8d5a3c56", [ null, [ @@ -185815,7 +185879,7 @@ ] ], "text-overflow-003.html": [ - "aaa95fd12fe5fb4afa5b484bb9d9be93a9747893", + "ea958ef35b15e84e655d38c1f3dac5bc633533aa", [ null, [ @@ -185828,7 +185892,7 @@ ] ], "text-overflow-004.html": [ - "5fe412b3a96d42e3be59ffa0d1c058799b05d6ce", + "1cc11e82573a283e057a46196e4bf84b56714682", [ null, [ @@ -185854,7 +185918,7 @@ ] ], "text-overflow-006.html": [ - "f978f624b29273f333561f461cc6b367da638cba", + "8fd149a98db0aebbd61d5434f5aa4a972dcc5c0c", [ null, [ @@ -185893,7 +185957,7 @@ ] ], "text-overflow-009.html": [ - "e7a4e03eeb0cf5bf1b8a10ec06e3791903b87136", + "384f8205119985c5cf1fe68f49ec4efbef977a35", [ null, [ @@ -186023,7 +186087,7 @@ ] ], "text-overflow-022.html": [ - "5a3a7e439eff1d06deb3b937b5ee112248c2ef63", + "e1ada9d479da4069c44bb585e3e715c521cd49e1", [ null, [ @@ -186075,7 +186139,7 @@ ] ], "text-overflow-027.html": [ - "fcb010405f5eaa7dfcba93f1579fa1847a5e00e5", + "6e7686c6c905fe79bbe4ba77b43062271e12ae5c", [ null, [ @@ -186088,7 +186152,7 @@ ] ], "text-overflow-028.html": [ - "af906e1d2b06136401103b61d9062395a1c80301", + "68b47cc18887a91867aff827abc28c9f70f580ef", [ null, [ @@ -186101,7 +186165,7 @@ ] ], "text-overflow-029.html": [ - "f1780117c4e824fd952c4ab6a95ab91f11914f9e", + "07ba44712228618d1e1ba0b3ef0111e315abb023", [ null, [ @@ -186441,7 +186505,7 @@ ] ], "angle-units-002.html": [ - "ff9cdca17c8914fe0bb4ac8b0f1d52439c475a4b", + "08b6fbd93069debdb351744ee147d7ab436e2cab", [ null, [ @@ -186454,7 +186518,7 @@ ] ], "angle-units-003.html": [ - "786d5faed5370ff8d654317b68f51b91ce0d1783", + "ace23be3644a3cab168a9121ab28f0aec2aea4b2", [ null, [ @@ -186467,7 +186531,7 @@ ] ], "angle-units-004.html": [ - "34722a3e00018f2ecedc1bc8c8e6340234cfc81e", + "3a92b2a10d6b28b8bffa8177b217f1cd7972e25e", [ null, [ @@ -186480,7 +186544,7 @@ ] ], "angle-units-005.html": [ - "625952abb9b3a0abd390fecc850940952eea022e", + "786e33c79caad1f3887e4fa92c6afcd0fdf47289", [ null, [ @@ -186688,7 +186752,7 @@ ] ], "calc-background-image-gradient-1.html": [ - "b2c02897425f7dfc4b6c06ce56adbf03f0a78dfe", + "f7d39be8d3d2d682e5f3fc4e77290d88b5591bf1", [ null, [ @@ -186701,7 +186765,7 @@ ] ], "calc-background-linear-gradient-1.html": [ - "6d60e8dd9f0481bcf23ceb686ec32780f76e78a6", + "7725083153b32e1efaac8561986e4203a4f9c6e0", [ null, [ @@ -186714,7 +186778,7 @@ ] ], "calc-background-position-1.html": [ - "68351aef6e57dff3f065bad14630e81db171c0a6", + "8d3fde5cd8f773a06ea0ef3659541451d4182842", [ null, [ @@ -186727,7 +186791,7 @@ ] ], "calc-background-size-1.html": [ - "f52ceeeabe16a0011beb170d3bcc75852ae4e0cb", + "081ae48357f0d83962c5b0b1a396fe04fc504a51", [ null, [ @@ -186740,7 +186804,7 @@ ] ], "calc-border-radius-1.html": [ - "ad36d36492a8006197ca5dc32841264370c08edd", + "05e98505e51b09302d1a977bb00579275c7cc158", [ null, [ @@ -186766,7 +186830,7 @@ ] ], "calc-height-block-1.html": [ - "9525c87de5609a010f64b063d6b725b358876991", + "88ad94e2ebd247b97cf4990595955bdc6ee58ff5", [ null, [ @@ -186779,7 +186843,7 @@ ] ], "calc-height-table-1.html": [ - "64b7b5dc31cf83c37ccab48159a2389c73266ca4", + "faea8dd68d3f271d897fcb104f26800371ced1c7", [ null, [ @@ -186870,7 +186934,7 @@ ] ], "calc-margin-block-1.html": [ - "7372bd2aed43ae803450af448e0d601a07b75e99", + "5b4e061d8a1f408a99ea0de0fa2929f7c6408768", [ null, [ @@ -186883,7 +186947,7 @@ ] ], "calc-max-height-block-1.html": [ - "d0f978a2b4097c139b16aea2301dcb007afc5c49", + "48ea8b57e30e4b8fa48f3633d4b4200342f66650", [ null, [ @@ -186896,7 +186960,7 @@ ] ], "calc-max-width-block-1.html": [ - "c6a31d2293d048d37a5c611f0224723d6bd0b6f7", + "9802653272bce79e05fef9bd88792dc2a36effd2", [ null, [ @@ -186909,7 +186973,7 @@ ] ], "calc-max-width-block-intrinsic-1.html": [ - "433c1950cd3d366ed6dd07545e36d3031a9b4c08", + "4aefc481d609fa2a9338c114d6c767f38d54ef7f", [ null, [ @@ -186922,7 +186986,7 @@ ] ], "calc-min-height-block-1.html": [ - "ed60d9a03ad6061954904b4a7c516d2f19a9f1ca", + "60ce599afc62ea37d0805ebe7ba0e9d1459bb364", [ null, [ @@ -186935,7 +186999,7 @@ ] ], "calc-min-height.html": [ - "a3cfa47213fd3ce46a7c7302b5763f49142a3767", + "dd15e70495eef3524c7306254971952ad017c845", [ null, [ @@ -186948,7 +187012,7 @@ ] ], "calc-min-width-block-1.html": [ - "8195f68591c5e689243dbb58e6935063c1efc910", + "d4de255dd1dc37f5e2b4a40c88ed3192328a41e1", [ null, [ @@ -186961,7 +187025,7 @@ ] ], "calc-min-width-block-intrinsic-1.html": [ - "edc564331ea4873521edfe9ead5bb1ca001eae36", + "a054c68ab2ea280056e5a419cc118cadbb023a66", [ null, [ @@ -186974,7 +187038,7 @@ ] ], "calc-offsets-absolute-bottom-1.html": [ - "b3bf1ccb7e24392fef6b4bc8ff33e364c420a741", + "8cdb6b20ea1239fa8e77a49171b3a788635453eb", [ null, [ @@ -186987,7 +187051,7 @@ ] ], "calc-offsets-absolute-left-1.html": [ - "8ee19c7a56946251a676328a1da9f610801d232a", + "84cc9e4d595ee14967f4dec08f71ebc645b20482", [ null, [ @@ -187000,7 +187064,7 @@ ] ], "calc-offsets-absolute-right-1.html": [ - "3fcdba055e803eef411a979d92dfd8342f4dd69d", + "200ef014c09cebc8c33f9345fcc57506e1b7e87c", [ null, [ @@ -187013,7 +187077,7 @@ ] ], "calc-offsets-absolute-top-1.html": [ - "7ac2dfe2a442a658e366c04868a51e642a398c48", + "70a6cd8c70f54603e71ae71c0b9ab66bac550295", [ null, [ @@ -187026,7 +187090,7 @@ ] ], "calc-offsets-relative-bottom-1.html": [ - "1f121ac541d824f20c8813951fed996fb5c2e341", + "afa74a46bd205744fd711c3890c74c965f5ac440", [ null, [ @@ -187039,7 +187103,7 @@ ] ], "calc-offsets-relative-left-1.html": [ - "b091ca5502c58577b0baa0a3c7166884eef471de", + "99fcdd983e752b88bf956ca552158b90a6e5d8db", [ null, [ @@ -187052,7 +187116,7 @@ ] ], "calc-offsets-relative-right-1.html": [ - "28e154777cbf553b6cc7b730c22bfe06223fadc7", + "1f28cf182e0aafed1d1f009d90c0c7643ebed535", [ null, [ @@ -187065,7 +187129,7 @@ ] ], "calc-offsets-relative-top-1.html": [ - "f2e9e4d9b6c132a963835f2774cdf85f3f940658", + "938616b8a59d05bdbb04dfa18ab1772ff1e3d5da", [ null, [ @@ -187078,7 +187142,7 @@ ] ], "calc-padding-block-1.html": [ - "97dbaeb2f66c38eb6838ee8b7a281bdd95897487", + "c1bb97eaf6d293748e7bd8c2ee17a0ace131c47c", [ null, [ @@ -187104,7 +187168,7 @@ ] ], "calc-positive-fraction-001.html": [ - "383b4af547b9cb50b37636e77b587cbb33d96916", + "89d1798a7be18e4bab3504bb37cb0a55d7f44d34", [ null, [ @@ -187130,7 +187194,7 @@ ] ], "calc-text-indent-1.html": [ - "dec795b2dc1984a5da9c733802ee1002e0c6e3a3", + "f1480f46e773e8767367306dd16a64950f176880", [ null, [ @@ -187143,7 +187207,7 @@ ] ], "calc-text-indent-intrinsic-1.html": [ - "b60a7e949a6ca431e84ea4e294f4952da9ded71e", + "fcae468942b1c43a2a6735b709406bbfdcb42ee2", [ null, [ @@ -187156,7 +187220,7 @@ ] ], "calc-transform-origin-1.html": [ - "bbe70749db60a37c9a1bfe0b13afcb0a7fcef528", + "d3817867f12702def17f4998e1eaac584146170d", [ null, [ @@ -187169,7 +187233,7 @@ ] ], "calc-vertical-align-1.html": [ - "f612b962e958101b2431b9db584a973974b86bd9", + "8e87ee7152a4ff3fa75825d77ce6eb86ce070911", [ null, [ @@ -187182,7 +187246,7 @@ ] ], "calc-width-block-1.html": [ - "d261d03984cc7c6246a7f12cf89ad4c8b5caabcf", + "053b9800e928bb0beb89bc09d0e33f0efc722cc8", [ null, [ @@ -187195,7 +187259,7 @@ ] ], "calc-width-block-intrinsic-1.html": [ - "0c80b960d1d84f4d9fe6cd52baf1b5958514c05c", + "3d5c6d67375238a00b99d89bb5c5c0724405f4c6", [ null, [ @@ -187208,7 +187272,7 @@ ] ], "calc-width-table-auto-1.html": [ - "c3d147c0b1ced3dcb455709f8826a3bfe51c7219", + "f556773c094cbf455daacaacaa6f12f26d280c1d", [ null, [ @@ -187221,7 +187285,7 @@ ] ], "calc-width-table-fixed-1.html": [ - "808a61274d3203f645f0df94e44c195ede1ddf50", + "1d1e976683da9a8a4a2434a12761249ecc9f6e7c", [ null, [ @@ -187260,7 +187324,7 @@ ] ], "ch-unit-001.html": [ - "83374e7bb291e45a44e3002635f967611aa1a5b7", + "dc89b841569f6e34882d0967f14af9419cbff255", [ null, [ @@ -187286,7 +187350,7 @@ ] ], "ch-unit-003.html": [ - "ee1e7cc063792a8fab6e1c51dbd24d5471f4c534", + "a41a1689add08067ea89f6de9f7f63b7f81dbe29", [ null, [ @@ -187299,7 +187363,7 @@ ] ], "ch-unit-004.html": [ - "914cec9f64985c930ab96de32693cc819a3c8229", + "1c2f818ce68958cd8968ec386d93f41251e2d536", [ null, [ @@ -187312,7 +187376,7 @@ ] ], "ch-unit-008.html": [ - "67fe0754a9ed498235418dc5fb463a80e27568ea", + "0af7a6e62bf3529861a59c6e8247f47d1b0a2e87", [ null, [ @@ -187325,7 +187389,7 @@ ] ], "ch-unit-009.html": [ - "c6f56718a0d09906c143bb413c88f43882581429", + "24d6451893700b41360b86da62b6846a3565a2c1", [ null, [ @@ -187338,7 +187402,7 @@ ] ], "ch-unit-010.html": [ - "bc3fdbcb7cee5bfdd4b59e277d8eaaa622311bb4", + "935dc7647f6482f5dd9f2a0512b0c2068e2de4fd", [ null, [ @@ -187351,7 +187415,7 @@ ] ], "ch-unit-011.html": [ - "c486f0c48ab8f43527247888a4e98ef029213965", + "6d39d554da85ea8bb57476a8f9b77dc0f0432187", [ null, [ @@ -187364,7 +187428,7 @@ ] ], "ch-unit-012.html": [ - "b844d9b3fa45e9a340ab79da7175875c6187d99f", + "4f04eb598aa3c3289da555c74b4a25a782ae2634", [ null, [ @@ -187520,7 +187584,7 @@ ] ], "ic-unit-008.html": [ - "9003c5fd5a18c54743d9c711447a6121225d1cf8", + "f58c6b156fbcb8a22f861128482c8c6f8d5e3474", [ null, [ @@ -187533,7 +187597,7 @@ ] ], "ic-unit-009.html": [ - "901f1c97404fc2bfa239e684b6a7925bfe499cf4", + "ba7cbee38e1f270f0325e26b6323e87db1857463", [ null, [ @@ -187546,7 +187610,7 @@ ] ], "ic-unit-010.html": [ - "e06646571438e8583a4531845042710dd705bebd", + "548f998b7132f96e31bba2d69cc210595adb018e", [ null, [ @@ -187559,7 +187623,7 @@ ] ], "ic-unit-011.html": [ - "edeaee6219d1d8be7c807257d6b3fa9ee12b8c0e", + "849dbaca185e051d54cedc2cb862fe6d22b36a43", [ null, [ @@ -187572,7 +187636,7 @@ ] ], "ic-unit-012.html": [ - "badb199ad2255f13f88ed89dd8ada58110f8d98b", + "e8603570d2d7f05716b8a4f5c311f6ee7d5a1a25", [ null, [ @@ -187715,7 +187779,7 @@ ] ], "q-unit-case-insensitivity-001.html": [ - "b4a08aa117952c6f92e2aec6f57843b46a460104", + "6fb548766a610d0ebcdba85c86ce31f0a6698679", [ null, [ @@ -187728,7 +187792,7 @@ ] ], "q-unit-case-insensitivity-002.html": [ - "328fcbd4aed6268e77ec19759a69f9eeb788951b", + "e0eb5239d8b8943191a8e6c25c28e2b9be9c3b60", [ null, [ @@ -204331,7 +204395,7 @@ ] ], "fecolormatrix-type.html": [ - "5d003f7f9c5175edfa869567d2fe69b95160644d", + "990225d0113c39f1f3ccd249dfbb11ed28989c47", [ null, [ @@ -204370,7 +204434,7 @@ ] ], "filter-cb-abspos-inline-001.html": [ - "6f99c48d5f34761ba1bc1ce7dbdfd927469ac65a", + "34d0373b3e394e46630e152b64789180021f3b6f", [ null, [ @@ -204435,7 +204499,7 @@ ] ], "filter-contrast-001.html": [ - "3f2281fcbabb8bcbc73e36980229fdcf47eb1ccf", + "b88954f9b9fa46763b7b51c39acea944a26ae8f7", [ null, [ @@ -204448,7 +204512,7 @@ ] ], "filter-contrast-002.html": [ - "e2827eaf7b835f2960670c7e4e8b7578cfe821d5", + "e337bce9eadf3bd0cdc90b2d44be5ea9ab8b046b", [ null, [ @@ -204461,7 +204525,7 @@ ] ], "filter-contrast-003.html": [ - "77793d767d49ef322dfc3a7256193a578461e556", + "3f799f3fa0848c31a5af2504a492a7d89a8c452c", [ null, [ @@ -204578,7 +204642,7 @@ ] ], "filter-hue_rotate-001-test.html": [ - "7d2a83ed3fe241b7137d73d2765def5ec509661c", + "9b7eb98695c3ed1ac0c5c597bc24114f12f964d2", [ null, [ @@ -204656,7 +204720,7 @@ ] ], "filter-saturate-001-test.html": [ - "52182deb3fed8985bc810dd1e5af95e3095979ae", + "0342cf0acd0a17ff89898c85105d1f147f2447d2", [ null, [ @@ -204786,7 +204850,7 @@ ] ], "filters-drop-shadow-001.html": [ - "81fa0cb2ad1bab60976b1d3e844f741f9c143467", + "9a36b7ffeba83f71e3a57795496292860775365d", [ null, [ @@ -204864,7 +204928,7 @@ ] ], "filters-test-brightness-001.html": [ - "bee2b91142ed2687d5441169baebf50792b09ae6", + "0ea903f71e05c4cc14a2513ccaac8b09c9e53d5a", [ null, [ @@ -204877,7 +204941,7 @@ ] ], "filters-test-brightness-002.html": [ - "6658913a5d69b2cda3c48117ec5781a0fef7ee79", + "8be043047a99e8ebd552aa7545eae0aba9753e3c", [ null, [ @@ -204890,7 +204954,7 @@ ] ], "filters-test-brightness-003.html": [ - "07a45cea4879e227bc3b6a25f79c8e1d1518da73", + "6f4b3dbb5689e1db334a580194a86d0e8eb5a36e", [ null, [ @@ -205711,7 +205775,7 @@ }, "mediaqueries": { "aspect-ratio-001.html": [ - "09878061267683e7c4505a408bd68d0c5ace4ee6", + "9307b9a15fe5f5c2592e6e60eb06c17593e77fba", [ null, [ @@ -205724,7 +205788,7 @@ ] ], "aspect-ratio-002.html": [ - "78eee374bf78e35cbcdd3fa3cd10cd6aff0ad7f0", + "3b34de92250ff1e3fb7b8fe31d7ed02013304ffb", [ null, [ @@ -205737,7 +205801,7 @@ ] ], "aspect-ratio-003.html": [ - "14868108ac46d074ab4de0e94e66511907cfd302", + "4212e8197c5ad0bf9ca51de774a9baa96ac66e29", [ null, [ @@ -205750,7 +205814,7 @@ ] ], "aspect-ratio-004.html": [ - "cc7afda3946638dfed30febd9978a11316f4a447", + "bf2d261725a7ca5a8b01a574df630477892ba883", [ null, [ @@ -205763,7 +205827,7 @@ ] ], "aspect-ratio-005.html": [ - "2c9d9edcf764802bf0b6a82c0fd2270e158e2679", + "12c9a080e513e8d5135234a77b4982e0d57ede7c", [ null, [ @@ -205776,7 +205840,7 @@ ] ], "aspect-ratio-006.html": [ - "188a65b715291b33d93d8a6af88c2a7f6e25858c", + "59901b1aadfff2b9cfacf8db5ef52835ca8acc46", [ null, [ @@ -205789,7 +205853,7 @@ ] ], "device-aspect-ratio-001.html": [ - "60f49b9b3cfedaf8136dcb568570ef71124cba8b", + "8fe99c2f3aea5aa8a0b2e2dfd6789a3166cfd2b3", [ null, [ @@ -205802,7 +205866,7 @@ ] ], "device-aspect-ratio-002.html": [ - "5acc4c30b6f7dcc9bd832e0417b78888c0f53cd4", + "dd0f0a1b49b5a2f6848a901faf2feea3d3841052", [ null, [ @@ -205815,7 +205879,7 @@ ] ], "device-aspect-ratio-003.html": [ - "5d979ba7ee3cc4e568ff4fa6ff859a7cd13b95f7", + "23014f5bfbbec58f557ad336ea07f7a4cd49f8e6", [ null, [ @@ -205828,7 +205892,7 @@ ] ], "device-aspect-ratio-004.html": [ - "adca53cf09738b88a756f17d4e72db5df2626b20", + "42e3c069e11e2282585db8e849c4abf4326accb0", [ null, [ @@ -205841,7 +205905,7 @@ ] ], "device-aspect-ratio-005.html": [ - "9190fc4f79f882a99a04ca172562006e11da4632", + "5a310bba4587f6dd42df8d11c2460deedf5c1869", [ null, [ @@ -205854,7 +205918,7 @@ ] ], "device-aspect-ratio-006.html": [ - "403829dfd2ad0dec10d17f9915df32a7749a35a8", + "681558349e5617133baf3083fa33edad36fa404c", [ null, [ @@ -205867,7 +205931,7 @@ ] ], "min-width-001.xht": [ - "649273c02942ecb1dbd5e70903da87e425a1014e", + "9dc01c68d8140e1f1216a28a5f05bacacf90b048", [ null, [ @@ -205893,7 +205957,7 @@ ] ], "mq-calc-001.html": [ - "9a3966322ad35f6787179047a0e5de8e3b045ff9", + "a4e4d4d9c657eb0731f933e57d31a9ef61259fb0", [ null, [ @@ -205906,7 +205970,7 @@ ] ], "mq-calc-002.html": [ - "f6f2fc150399e27f6e48539289d80e205033ead7", + "9c04b181d777d23c6b61e9092f7959c25089d854", [ null, [ @@ -205919,7 +205983,7 @@ ] ], "mq-calc-003.html": [ - "cadc448efe5e8dcba17fe1ce3a3c54e29ebd0309", + "a60adcfb5c62645844217b597d0d23ec636e5d61", [ null, [ @@ -205932,7 +205996,7 @@ ] ], "mq-calc-004.html": [ - "63190347b659e8a4535def57094b6a2806727e0b", + "428a34c82e3bec90417c0c6a3a7219ce979aafdc", [ null, [ @@ -205945,7 +206009,7 @@ ] ], "mq-calc-005.html": [ - "df7409b7481d421265ebefd33349aa07745d6c6e", + "dc33f1e85df9c233bc1f26e974789ce36e9de4ae", [ null, [ @@ -205984,7 +206048,7 @@ ] ], "mq-deprecated-001.html": [ - "0aa06666cd53d913eab8dbe6a95ab6f2b2c855f5", + "cb02c3f316a4bff270a6ada40631a525d44f17d7", [ null, [ @@ -205997,7 +206061,7 @@ ] ], "mq-gamut-001.html": [ - "b0496192933dc4c2e0e4514da630b1828b7d3804", + "9e98236f09cd1ab50f3ffb17efaaec191752bc93", [ null, [ @@ -206010,7 +206074,7 @@ ] ], "mq-gamut-002.html": [ - "a63399ede1af3cd6a550c9a9f58ad67fa98970a8", + "abc3ac48a48f7b9a423d1b293322cab8c8ef90c7", [ null, [ @@ -206023,7 +206087,7 @@ ] ], "mq-gamut-003.html": [ - "29bde56e69e84613bd72913218477f331ca31106", + "c0980a93ca37527c4a261edc862fcbe4887d04df", [ null, [ @@ -206036,7 +206100,7 @@ ] ], "mq-gamut-004.html": [ - "fe285564701be15cf88f379d7747e6aae3291666", + "3cc1c757bf19d6f856b33b668528e8b157f1141f", [ null, [ @@ -206049,7 +206113,7 @@ ] ], "mq-gamut-005.html": [ - "a1fe4d9e6e0c9b28a5103fc7f48b9955998dc6c3", + "aa5db52a7748068effc66702e48b02dfecbf2e96", [ null, [ @@ -206114,7 +206178,7 @@ ] ], "mq-negative-range-001.html": [ - "eb1030a8dd4c5c2504e2af114c75a3e97332b2e1", + "f311463877a3d3a76905461fe0fddf647e487047", [ null, [ @@ -206127,7 +206191,7 @@ ] ], "mq-range-001.html": [ - "f54917ada1cf1f625c7bbb2cf73aeb7305615f08", + "0aacc17564fd6796f5a9eb2875ab141008f54391", [ null, [ @@ -206140,7 +206204,7 @@ ] ], "relative-units-001.html": [ - "fac94d78edfba4031b7bad980f07ff9e73ddeb72", + "4e526fbf2ef7e4c3eca48862cd692bff99acd88d", [ null, [ @@ -206153,7 +206217,7 @@ ] ], "relative-units-002.html": [ - "310e18f5242c8eef8a5a87e6f02c038c2d6c4b4b", + "b0b533f81fdc2670e39736829f1bd6d66b7efa97", [ null, [ @@ -206166,7 +206230,7 @@ ] ], "relative-units-003.html": [ - "461db3242249e076209dbc5910447973e9f5fba8", + "bfb3b79a92350c4efb59c6822daf8293335de97d", [ null, [ @@ -206179,7 +206243,7 @@ ] ], "relative-units-004.html": [ - "b0f3765358d98906ce8e7cbbdf9743d357e7f2f9", + "99b1fa6f1865163a6a20ef4f39630c39ffd680c7", [ null, [ @@ -206826,7 +206890,7 @@ ] ], "dir-selector-ltr-001.html": [ - "7283e4eda3728015561118b42b6e07985040f935", + "9a61e985d4d77464c438185722a5ef7ea06bf5c6", [ null, [ @@ -206839,7 +206903,7 @@ ] ], "dir-selector-ltr-002.html": [ - "8d5128839c409664bea7c274d01ac014bb932989", + "988ae3ffcb40cf647bfb0c8e6ed99a12513cf9e9", [ null, [ @@ -206852,7 +206916,7 @@ ] ], "dir-selector-ltr-003.html": [ - "4bb14cc8d0446b2a79b103c093c7516aedce785e", + "8f8bd1ca81376a30338f9b58fd3f79b102fb84de", [ null, [ @@ -206865,7 +206929,7 @@ ] ], "dir-selector-rtl-001.html": [ - "f656ccd9a86786aa21b2859b61340948291287d2", + "50bc06633b5a51d0de597fb9fc078d4d538b2836", [ null, [ @@ -208064,7 +208128,7 @@ ] ], "css3-modsel-148.xml": [ - "217ba53bbd0980a20cdf141383066cbb9f1fc67b", + "51f9858ad8f77032e2aaaf55d4c95ad185656097", [ null, [ @@ -208077,7 +208141,7 @@ ] ], "css3-modsel-149.xml": [ - "98fce81fac67dfebb3263a643006459e0478c274", + "7b10e6296c30b86a008b2969106eb842d0c6311e", [ null, [ @@ -208090,7 +208154,7 @@ ] ], "css3-modsel-149b.xml": [ - "98fce81fac67dfebb3263a643006459e0478c274", + "7b10e6296c30b86a008b2969106eb842d0c6311e", [ null, [ @@ -208103,7 +208167,7 @@ ] ], "css3-modsel-14b.xml": [ - "0be061ee973ee170c7f6b3fb60583e5abddde337", + "816a13b44876719cbf5e76b5e4175ffedf5e3fa9", [ null, [ @@ -208116,7 +208180,7 @@ ] ], "css3-modsel-151.xml": [ - "a4bb1dd2017678d8438cf2c81794bdacb1708994", + "46c25dc0a89bde7d94ae5505b9fb1766f3738fb1", [ null, [ @@ -208129,7 +208193,7 @@ ] ], "css3-modsel-152.xml": [ - "b39d57346347b05d2c41d8b97b9532b31c247580", + "680a0a9aef27a0bd426799c9658fe94b5416de71", [ null, [ @@ -208142,7 +208206,7 @@ ] ], "css3-modsel-154.xml": [ - "f5f029542b708880d3a88504b00af6ece58a432f", + "951f1079290877831ef50d4a3ff282034e6ca3ae", [ null, [ @@ -208155,7 +208219,7 @@ ] ], "css3-modsel-155.xml": [ - "961374d6994ce566e9fe5bd86ac41b0e0d195f35", + "b79e92a52cdd2347d51fd71921dc3561c156b783", [ null, [ @@ -208168,7 +208232,7 @@ ] ], "css3-modsel-155a.xml": [ - "1fca1916e4fe244bdd0b0fae823cfb263435de5c", + "3b3d43c80949c087faddd9aae70f16fde3805ec4", [ null, [ @@ -208181,7 +208245,7 @@ ] ], "css3-modsel-155b.xml": [ - "168f86523ee78cce5eecb489e7c2605e284784a9", + "d0f663ccfb18e6b2e9b530e79022a5a5d4b1b173", [ null, [ @@ -208194,7 +208258,7 @@ ] ], "css3-modsel-155c.xml": [ - "4fd0b48d6b7deb06e85c6086a3d9a501fe50a236", + "85973ec96bcc4281e0cdbf39933aa22a073ff589", [ null, [ @@ -208207,7 +208271,7 @@ ] ], "css3-modsel-155d.xml": [ - "0c21d5f12ec39474bba65c9e9876840d53b25a3e", + "ca6ba51c7eefeecea0dfa60e4015ef87e39b6e9b", [ null, [ @@ -208220,7 +208284,7 @@ ] ], "css3-modsel-156.xml": [ - "fa0483e6455794ce3d29a0bfe6064bab37f97cff", + "f52b98f86b3b59f1d285b8888109eb84ead8cbd8", [ null, [ @@ -208233,7 +208297,7 @@ ] ], "css3-modsel-156b.xml": [ - "59d9f3b65c8e623755c6bc3368b28aba5b2dec4a", + "2f8ed8831320284354b958dd0937eae539501b15", [ null, [ @@ -208246,7 +208310,7 @@ ] ], "css3-modsel-156c.xml": [ - "2b9d445924cdc9fada0c1370378722c2ee886cad", + "3a15c82323af32839f076496d869e24db292526a", [ null, [ @@ -208259,7 +208323,7 @@ ] ], "css3-modsel-157.xml": [ - "6a7e1d85ffde2f75d28d6cf2086b6e11577a9dc5", + "037682791afab066c07e27a9c69c9a66bd9129bd", [ null, [ @@ -208272,7 +208336,7 @@ ] ], "css3-modsel-158.xml": [ - "9595b90793656620828f6b82daf9f0aed5c66ae8", + "5bb541dba28948d1a2d22b71d5a1a5f6b23c590a", [ null, [ @@ -208285,7 +208349,7 @@ ] ], "css3-modsel-15b.xml": [ - "b7e4205e0d4e6f1593d444234147a1173236c675", + "b22397ef544aaca9f34a78ec774d48b79e9cd46e", [ null, [ @@ -208298,7 +208362,7 @@ ] ], "css3-modsel-160.xml": [ - "ec1de24cb28d58ac9e1bce40d2504e71960a1cc5", + "f73a0ddd031fa2264a8d0e48a3aab6eeecefa911", [ null, [ @@ -208311,7 +208375,7 @@ ] ], "css3-modsel-168.xml": [ - "431a41b159f908d1a99c6eb73da63748ddb74a99", + "a0291aba948b4b1bee65758da6e6272bb60208f5", [ null, [ @@ -208324,7 +208388,7 @@ ] ], "css3-modsel-168a.xml": [ - "d5ddad42b1d17c5abcd893274829dcd6b758d4b8", + "7c008b02cef5918b0421f6d3c74890aec52dcf13", [ null, [ @@ -208337,7 +208401,7 @@ ] ], "css3-modsel-169.xml": [ - "eee2bef3573a461682be7bfccfc2efd9efefbbdb", + "ae6433cc04a51a1eb82aeefa1d7fc4d2bdccbacd", [ null, [ @@ -208350,7 +208414,7 @@ ] ], "css3-modsel-169a.xml": [ - "6254a520c3139e0e2c6a928164298b7ad02ae4de", + "1e2721ce0a78485fbd8aa1b759144c5a26dfa97e", [ null, [ @@ -208363,7 +208427,7 @@ ] ], "css3-modsel-170.xml": [ - "c56ae2ac295c3e080715582b3b59b0a295b391ab", + "94eab69ece48e9fba1191148ab2d5f5648a101b9", [ null, [ @@ -208376,7 +208440,7 @@ ] ], "css3-modsel-170a.xml": [ - "1cde707145710f39a93ccb0575c205d694496986", + "f6a3b84c21bca28ad376a5babac7160783bd42ec", [ null, [ @@ -208389,7 +208453,7 @@ ] ], "css3-modsel-170b.xml": [ - "50b4fc0825b2baba1cdff400c7833cf1ba39419b", + "49915dc8f29d2aed6c8191b46019219859163dd9", [ null, [ @@ -208402,7 +208466,7 @@ ] ], "css3-modsel-170c.xml": [ - "9e5cf375d6f595f06a6d78ee84605087d0e6e43b", + "4c9e105e929552a44e9ba5bc7bf9d2735eaf3ecd", [ null, [ @@ -208415,7 +208479,7 @@ ] ], "css3-modsel-170d.xml": [ - "371945a439f4a7723b9522c87be71ea94161d603", + "12c6a2221e0b48dd07cf3a1db504baf4f150d3e9", [ null, [ @@ -208480,7 +208544,7 @@ ] ], "css3-modsel-175a.xml": [ - "ca91d681235fc5de046ff14f7a804a78378bd56e", + "ea4009e820c1238c403d58f0c8541c42e8b400ff", [ null, [ @@ -208493,7 +208557,7 @@ ] ], "css3-modsel-175b.xml": [ - "135b84102794194b0005bd00fc50bab0533540e5", + "52ff65696b9a677c7c79ececb3f701df273a7f03", [ null, [ @@ -208506,7 +208570,7 @@ ] ], "css3-modsel-175c.xml": [ - "7a93313e7731be409e4f3b2c12ffe484c30f0380", + "9613473209053725e9868f067475b63f4fa6b670", [ null, [ @@ -208519,7 +208583,7 @@ ] ], "css3-modsel-176.xml": [ - "31482f08983793f5d025d10bf821c2f407e23b30", + "66c85b40f565f344898486e298cab3a409080e73", [ null, [ @@ -208532,7 +208596,7 @@ ] ], "css3-modsel-177b.xml": [ - "1205619970a213268025265a1aba5edb5e72dd28", + "ecba2cde47f84c0c56fb14835ebaa9aa85412ad0", [ null, [ @@ -208545,7 +208609,7 @@ ] ], "css3-modsel-178.xml": [ - "00f25827619825e9bcae9ddb2587982727495227", + "b3d59b6e176f86bf471884d73506d50a37d1ff36", [ null, [ @@ -208558,7 +208622,7 @@ ] ], "css3-modsel-179.xml": [ - "d58cbe961d0c2432672d385ee555e01f6b8d84d2", + "d63153c8599b213f5587d7d1a1e57daa70421eae", [ null, [ @@ -208571,7 +208635,7 @@ ] ], "css3-modsel-184a.xml": [ - "9777db1410e8b3bba30b797c32bc52f38f0e330c", + "427fca4ec76f722a6cda014029cfa7aaa21ae069", [ null, [ @@ -208584,7 +208648,7 @@ ] ], "css3-modsel-184b.xml": [ - "2ea9ad9816de8e1db0aac4f8d1f73d616a6b7ffb", + "eafd50fabcf9e5ba3edad4abe2c61d1410e3f87b", [ null, [ @@ -208597,7 +208661,7 @@ ] ], "css3-modsel-184c.xml": [ - "4e945506ce2e2bf3c858d458f43a8346d0d8c27a", + "75ce2fd2b50c56011be8f8f8ca6c0dec91a01846", [ null, [ @@ -208610,7 +208674,7 @@ ] ], "css3-modsel-184d.xml": [ - "73402386ae077956ec4b2a6765f37c1ce45bd9c8", + "5115ddf03a8b57c66075bc57576b30c6b3681fc1", [ null, [ @@ -208623,7 +208687,7 @@ ] ], "css3-modsel-184e.xml": [ - "418169b8cd05ddc68ac137f9a0f0b1cb662edac4", + "bb455da782b782562b9ef3c4ff9d7999ca86352c", [ null, [ @@ -208636,7 +208700,7 @@ ] ], "css3-modsel-184f.xml": [ - "c28b61dabfb2fd0e1788f926d7997e7081f30d5d", + "7c939c31f5e057e320211b0ea2483d30720bbc8c", [ null, [ @@ -208675,7 +208739,7 @@ ] ], "css3-modsel-54.xml": [ - "6e5327a9c262c4d18248a880a1cce5dabad2b1f8", + "5ab7c84179b55a0ada539108230747663a15da31", [ null, [ @@ -208688,7 +208752,7 @@ ] ], "css3-modsel-55.xml": [ - "acc6dcd7290ec278380ac577924d8f653c31eb64", + "c4d5a130fbf39a68b9fd4f40382fff74ff978f13", [ null, [ @@ -208701,7 +208765,7 @@ ] ], "css3-modsel-56.xml": [ - "27ae88d296b2f488a6b15c0ad9bd65d73f5cfe6a", + "cdcc923397a3ca2107aca9f11071662ac0572e85", [ null, [ @@ -208714,7 +208778,7 @@ ] ], "css3-modsel-59.xml": [ - "543123eba56a463b0760ffebab7bea2558d2e6c3", + "e394adbc793e6bf9ab2708b94e7f134923d50b4c", [ null, [ @@ -208727,7 +208791,7 @@ ] ], "css3-modsel-60.xml": [ - "eec66ac79aae406f2f9d42744d23fc8a82d9c5ec", + "de4a23d35b236b1b71572c836c95e2307bb5772b", [ null, [ @@ -208740,7 +208804,7 @@ ] ], "css3-modsel-7b.xml": [ - "e1ad8d766d58f91ff344b0f467f9222ee2a1b160", + "a5df860a38ffab07c1e268899c66b5e9ca064fd9", [ null, [ @@ -208766,7 +208830,7 @@ ] ], "css3-modsel-87.xml": [ - "da5adca13adaa707518dce6d57aecb1491a97563", + "29e95de36ede172d84644b388403eab09f41a2ca", [ null, [ @@ -208779,7 +208843,7 @@ ] ], "css3-modsel-87b.xml": [ - "efdcb019b00556581814fb8c8e487173db42c794", + "5867fc9da37951f31e0bfd17a0e30c4a958e02a1", [ null, [ @@ -208792,7 +208856,7 @@ ] ], "css3-modsel-90.xml": [ - "03973b90c43c246e2325e7691495d8396479dffd", + "1fc84e79781e77e934cba4d4e48fd04f2f934b37", [ null, [ @@ -208805,7 +208869,7 @@ ] ], "css3-modsel-90b.xml": [ - "15e06bcfa40c8e29b2ef50128537d1cde7ecc07c", + "33fd9d711d6d4d5bd3037fad9bf82a356c0d0685", [ null, [ @@ -241261,7 +241325,7 @@ [] ], "background-paint-order-001-ref.html": [ - "8be4ce20e3d756e9121299bddba79951005905fc", + "5783dfe863f4ec415d82ea8dc9357d6c480c51d8", [] ], "background-position-negative-percentage-comparison-ref.html": [ @@ -247946,11 +248010,11 @@ [] ], "font-size-zero-1-notref.html": [ - "9e95ca66ec75caeaa104b7f9eea14ace52f7f46b", + "c24e3d91eb952e04943275ad86ced57556440513", [] ], "font-size-zero-2-ref.html": [ - "2aea76d74d479de7497a0fbb53fd89527e87708e", + "6b5f7e9b241f05d88a7ed80d9aa0202152c05f91", [] ], "font-stretch-pass-ref.html": [ @@ -248166,7 +248230,7 @@ [] ], "font-variant-debug.html": [ - "bfbb861973ed549ce61d55134271b31daf2c8394", + "827557ad6648f92ce0a24009ca13aa8f9986e8b1", [] ], "font-variant-descriptor-01-ref.html": [ @@ -258304,6 +258368,14 @@ [] ] }, + "svg-clip-path-circle-offset-ref.html": [ + "5ba54fa8a7a8f11ecf94802c587b320bc39d45cd", + [] + ], + "svg-clip-path-ellipse-offset-ref.html": [ + "75b867ff19322ce393105428f188561965d38c6b", + [] + ], "svg-clipPath.svg": [ "d31a1df42e0ed94c43c2f9d0999d7dbde9e83130", [] @@ -258958,7 +259030,7 @@ [] ], "multicol-fill-auto-block-children-002-ref.xht": [ - "3cec0f55425f6358dbab7dce4a8d2270efb1b769", + "63015a46870f04bdab6ee43c74fd2875916954f6", [] ], "multicol-fill-auto-block-children-003-ref.html": [ @@ -259022,7 +259094,7 @@ [] ], "multicol-list-item-001-ref.xht": [ - "351696de5a37d2072678646b4cfff5061bb2f93f", + "582b735988f20981d6d440591ec2dd7decb4e827", [] ], "multicol-list-item-002-ref.html": [ @@ -259054,11 +259126,11 @@ [] ], "multicol-margin-child-001-ref.xht": [ - "db9a49db40c3c7edce1bfc61a15d7df5caf21b18", + "49f93d6306312a695729330dc183198e2d9a4194", [] ], "multicol-nested-002-ref.xht": [ - "e955c486f4700e2ffee4b2dd7b2bdaf0430cdf65", + "5aaa30521e1ae552c56873b1b74c061150bb7e28", [] ], "multicol-nested-005-ref.xht": [ @@ -259066,23 +259138,23 @@ [] ], "multicol-nested-column-rule-001-ref.xht": [ - "413980be25fbf6773666325e71d6b6f2e0d037db", + "b6c77b4b841ad2ae1a858ec069672034f1da4654", [] ], "multicol-nested-margin-001-ref.xht": [ - "043b6c63cbfbf058f508a9a9d0550f50b576f6bb", + "83b832ab04b60ddc6284909f99d631501533d01e", [] ], "multicol-nested-margin-002-ref.xht": [ - "b814e6755a7161318c3ea05320006a7a14cad973", + "2818de04a18a2f82c4c271ad6f01161b06de53ab", [] ], "multicol-nested-margin-003-ref.xht": [ - "7196051058d073be53dbce8aebdc63b29909a790", + "b9e80644a0fd16b7b0872f03b0730d168d92859f", [] ], "multicol-nested-margin-004-ref.xht": [ - "937c6038285781c4a7907381843e3c85575b7cb9", + "9162656fb7b8892f7c29bf13069ee539f7a1dc10", [] ], "multicol-oof-inline-cb-001-ref.html": [ @@ -259106,7 +259178,7 @@ [] ], "multicol-overflowing-001-ref.xht": [ - "d3a6c6e03c58c17f0dfa4f2e6d9b945e352216af", + "c1dc76f3c49d87d3c9e5a1c227b8c1c08ba69081", [] ], "multicol-red.png": [ @@ -259202,7 +259274,7 @@ [] ], "multicol-rule-samelength-001-ref.xht": [ - "9cc6272272680816fe48452afdb049e8036ec5c6", + "4955db421f7323bdf4a0f382cc0126d693f504fa", [] ], "multicol-rule-shorthand-2-ref.xht": [ @@ -265109,6 +265181,10 @@ "889803699d4b0871e6e36d8324607e8b4ddf5532", [] ], + "letter-spacing-bengali-yaphala-001-ref.html": [ + "a1ff2e053a540ec1279b0733db40dba5add1b7e6", + [] + ], "letter-spacing-bidi-001-ref.html": [ "e34dbc313f2bb5f93cbf36d3e9fb42e5b901414b", [] @@ -271512,11 +271588,11 @@ [] ], "calc-background-image-gradient-1-ref.html": [ - "3fefef23ff7ea3811064c953bddc327098454199", + "d4b529b964b030fc47fdb947e6644d5bacaa1485", [] ], "calc-background-linear-gradient-1-ref.html": [ - "5c8a604122a7dc42612faaa6713f59468f207018", + "ce415e724cc03f73d10db6f0cffe11e9ffa2a79f", [] ], "calc-background-position-003-expected.txt": [ @@ -271524,15 +271600,15 @@ [] ], "calc-background-position-1-ref.html": [ - "b64aa46bf2eeddfc89791c13f1cea946faefece5", + "37c9c68cab5d514b8bc213de94b59fb2f6e7f295", [] ], "calc-background-size-1-ref.html": [ - "5385c46ef52592fa4535608ee09be865bff719ef", + "4469f152a30374bac5ddde41379a9bbc94b479a1", [] ], "calc-border-radius-1-ref.html": [ - "24681d08a430a8093bb189cfff289405ba905802", + "b5b4997f42dd1b10d7c29534546ec7443f7a5316", [] ], "calc-catch-divide-by-0-expected.txt": [ @@ -271544,11 +271620,11 @@ [] ], "calc-height-block-1-ref.html": [ - "be75d5d6a3dca4d8b76eb09321580fcee87055fc", + "ffdf9ecbce82823522d5088a97efcb3d0d05f22e", [] ], "calc-height-table-1-ref.html": [ - "d936f69ed03afb65a540e96fa3b26eaf13f656c8", + "5f8ebbe43d88380777d35b0970dccea0086a29a2", [] ], "calc-in-counter-001-ref.xhtml": [ @@ -271568,19 +271644,19 @@ [] ], "calc-margin-block-1-ref.html": [ - "acfc0889206431f6f4c1343c06b156ae3e8492c8", + "954187dfd7cd8a8c46cb4368803fd0735349541e", [] ], "calc-max-height-block-1-ref.html": [ - "9907c9984b21430596351894b02ee82cf704fafe", + "10719ca547dc08958d64698d238ffc19724e06b2", [] ], "calc-max-width-block-intrinsic-1-ref.html": [ - "8cb693160cc93d279a1cc640b9be961de9365e2b", + "6aea315fe482683ec574af3b8b924369368302e3", [] ], "calc-min-width-block-intrinsic-1-ref.html": [ - "82fae9717fec4dc015a5c071b49dedd21f76ee11", + "38019288560a06696e30e92ff69a43e44126401a", [] ], "calc-nesting-002-expected.txt": [ @@ -271588,19 +271664,19 @@ [] ], "calc-offsets-absolute-top-1-ref.html": [ - "5c6c06364e95984e5e2baa1aac8b66d702d21505", + "48062185da9515d13186b040ac161c90c81a9219", [] ], "calc-offsets-relative-left-1-ref.html": [ - "82ab51df06b0a8b3742c51ae9f36a05fd72672b9", + "b9a2a4b914d2327c5f028226c814030ccbabd77c", [] ], "calc-offsets-relative-top-1-ref.html": [ - "db6785b2922e7f81bee4e06ecbec3931a8d1bafd", + "d46152317d91df5d153d41be44d50a771d781752", [] ], "calc-padding-block-1-ref.html": [ - "ca472b38ec78f4d4e2d0886f9b42298bae34f644", + "400e5b103e77ebc3e6aad8750c51458ba1ade9eb", [] ], "calc-rem-lang-ref.html": [ @@ -271616,35 +271692,35 @@ [] ], "calc-text-indent-1-ref.html": [ - "4631c00217042b49022501842fd614c43f55edbb", + "71c0b48d6eee5eb7a09b440f934e24d1f912e680", [] ], "calc-text-indent-intrinsic-1-ref.html": [ - "fa221c015d1f509952c451879a8d819caa5c6528", + "6409ecc14a0defb4ad88435992193a524ccc522a", [] ], "calc-transform-origin-1-ref.html": [ - "d27da3efea17eb5c2beee3d52676998825f1e997", + "36f8f1945b1a4928ed2af241df229e18e15c1848", [] ], "calc-vertical-align-1-ref.html": [ - "8e6d42425d0fa96ae5d08303be205bb467799d2c", + "95d9d9ad7008df3118052c9625c3594464253b27", [] ], "calc-width-block-1-ref.html": [ - "d62da1ad32edf402a389c1b6e6d91ec01988e247", + "6ab403568f800aa25dfd6f1fe18e0a05a010b97e", [] ], "calc-width-block-intrinsic-1-ref.html": [ - "e381bbab519e1a78ff7bcd78a867ce2efede7977", + "2bc3a5f639b4e942a784832bf240a5f6998dee07", [] ], "calc-width-table-auto-1-ref.html": [ - "d161ecc6f3100bf975d8b226c7aa196e0222657a", + "d5a129dd02dcdfbe94a1dffb3be31382aff7a3ee", [] ], "calc-width-table-fixed-1-ref.html": [ - "9ae2d347c6b7704f7fb14115de5cc5f81d82e512", + "f28ffcb85852f3888516de47a5885ac5c1c48928", [] ], "ex-calc-expression-001-ref.html": [ @@ -275482,11 +275558,11 @@ [] ], "filter-cb-abspos-inline-001-ref.html": [ - "b4beae8004155c30dad4f48db3e2087f66c42c4f", + "d092a401e4f1ced778b6445f7d92b72d6c2baabf", [] ], "filter-cb-abspos-inline-003-ref.html": [ - "8b000d96e3978b15bc08ba463ca9c139cdea7136", + "7536951a6b9ceddece3bfed3e73e8438e417a4e9", [] ], "filter-cb-dynamic-1-ref.html": [ @@ -277726,6 +277802,10 @@ "397df96fbc503c38bb4a47e6bc0f874ef9647fe6", [] ], + "eventPathRemoved-expected.txt": [ + "dcff58ac0c1f25cee9cda8a188903e935aa1fee1", + [] + ], "events": { "Event-constructors.any.worker-expected.txt": [ "94a22a415036c307832b453ceab3c18b94d78f24", @@ -282570,6 +282650,14 @@ "worker-fetch.window-expected.txt": [ "cd62872e656ae0b85bc3257d8e1b789e087b9935", [] + ], + "worker.https.window-expected.txt": [ + "c7cd66da3743edf09e60f658824fea067e4da015", + [] + ], + "worker.window-expected.txt": [ + "8718ffde7bc70a2802ec04ecd5c1e3b42e0dca32", + [] ] }, "range": { @@ -282794,17 +282882,13 @@ [] ], "FileSystemDirectoryHandle-move.js": [ - "368e76ee4b05cf20c7a46527022c0d97c443aa65", + "856c1f3293208e301d7095593f2e9f0297752659", [] ], "FileSystemDirectoryHandle-removeEntry.js": [ "01e2ebe10889b0de539b54d983124865ab9276bc", [] ], - "FileSystemDirectoryHandle-rename.js": [ - "315303b0740a190edba52bfcd514ddbcfafe9dd5", - [] - ], "FileSystemDirectoryHandle-resolve.js": [ "a8900f97e54523f29bdc9afcd021d32c9dbb0e08", [] @@ -282818,11 +282902,7 @@ [] ], "FileSystemFileHandle-move.js": [ - "31fa55c0e1a9c4c5cdd328a186ff29e7e2a9d931", - [] - ], - "FileSystemFileHandle-rename.js": [ - "94ca0207e434652b5dd0fa181b4ea39b18a5f143", + "a3be9f49afd85ddd47578ba8138c9c4f1bc5b09a", [] ], "FileSystemSyncAccessHandle-flush.js": [ @@ -288191,7 +288271,7 @@ [] ], "drawing-text-to-the-canvas.yaml": [ - "846c3f925df58e45fd60a60a6bfccd7673fdc8fe", + "686bd0763f214cff22be0fa5bd7a59a5a057fcb3", [] ], "fill-and-stroke-styles.yaml": [ @@ -288289,7 +288369,7 @@ [] ], "text.yaml": [ - "9713626e2f55b1bea4486bd2e5d8ca17801e5e0e", + "636d7f5e978069665967ccc209f83f6c3b58b806", [] ], "the-canvas-state.yaml": [ @@ -288340,6 +288420,10 @@ [] ], "anonymous-iframe": { + "anonymous-window.tentative.https.js": [ + "dc63dc262aa5dbbe1e905e7f8791fa54e0e33979", + [] + ], "cookie.tentative.https.window-expected.txt": [ "377c7296a781adb8ce5792cda50a4ded28472339", [] @@ -288350,7 +288434,7 @@ ], "resources": { "common.js": [ - "e11e2307defd6e4bba7006e2add47e7aad965a6f", + "86de148321d15b38a52cf1a0562de617e1633327", [] ], "serviceworker-partitioning-helper.js": [ @@ -288392,14 +288476,6 @@ "86654525dda61a31ed7a9617ad449309b8a55366", [] ], - "cache-storage.tentative.https.window_dedicated_worker-expected.txt": [ - "cfb3376feff4285356d70408c109d44938f656c1", - [] - ], - "dedicated-worker.tentative.https.window-expected.txt": [ - "7ecbf9ce7d5e1358c846788eb555627ca00c4833", - [] - ], "resources": { "common.js": [ "ce21c766f6c30fcb87147611ae1a6af9aa54ce0e", @@ -288427,14 +288503,6 @@ "6604450991a122e3e241e40b1b9e0516c525389d", [] ], - "dedicated-worker-cache-storage.https-expected.txt": [ - "88a4a82baccbde282990faed56ab17e438fa51cf", - [] - ], - "dedicated-worker.https-expected.txt": [ - "883c29a04dfcd6030c7bf83b60deb63e970cd110", - [] - ], "javascript.https.html.headers": [ "6604450991a122e3e241e40b1b9e0516c525389d", [] @@ -293290,7 +293358,7 @@ [] ], "resets-expected.txt": [ - "73ad4ec92fd3d6bd073c008ca1b67968a03da3f7", + "892483f96cbd6b33d0dba824081e8d3a6364471a", [] ], "select-sizing-001-ref.html": [ @@ -309126,7 +309194,7 @@ [] ], "webxr-test.js": [ - "c3984ca8bbbdfc5677a0c28ce3b2e2401632a32a", + "8a541cae1b06f6bbda0b462ca618e565c76fba41", [] ], "webxr-test.js.headers": [ @@ -309542,6 +309610,28 @@ "239c0fe1e616093d603e6ed92ae0a90bd34dd0ab", [] ], + "resources": { + "non-html.css": [ + "07f029442a7b3717923520ebedf016f51750a35c", + [] + ], + "non-html.js": [ + "b75d40dcdea74cda7450b1f71c148515cd6a2f33", + [] + ], + "non-html.json": [ + "46fedf80eb61377e6fc4cd5d1c217fb409f95fdc", + [] + ], + "non-html.txt": [ + "785a4d56d6e11cde5f779889297f40e20395f1de", + [] + ], + "non-html.xml": [ + "e938de2a824a782b2c6c84cfdae0157aec5de6f0", + [] + ] + }, "scroll-to-text-fragment-target.html": [ "b2be85132cb8f2f2c14c82bf1854c3130f375c96", [] @@ -310853,28 +310943,16 @@ "9aa4a28996b56e4303a741353f626591b56802af", [] ], - "client-url-of-blob-url-worker.https-expected.txt": [ - "bc07e042a2626d0bf8c80179df67cfd90d4a5463", - [] - ], - "clients-get-client-types.https-expected.txt": [ - "58bae3013f3e9b54f93bad719971ffcaf2a09b26", - [] - ], - "clients-matchall-blob-url-worker.https-expected.txt": [ - "0065aa4ad95bafe37955a86b9ba9397d760dfa4c", - [] - ], "clients-matchall-client-types.https-expected.txt": [ "a5702d0326367c8a1552bbd99d98bb3d0c12cb7c", [] ], - "clients-matchall-order.https-expected.txt": [ - "78737fe4f60050c6e8cd4762d776fa8518e91225", + "clients-matchall-frozen.https-expected.txt": [ + "05dc9954cc0bb0e41ffdc71435d083c412669532", [] ], - "dedicated-worker-service-worker-interception.https-expected.txt": [ - "e6e6986dc00a2077b683c28c4b9d639ef0f2d949", + "clients-matchall-order.https-expected.txt": [ + "78737fe4f60050c6e8cd4762d776fa8518e91225", [] ], "fetch-canvas-tainting-video-with-range-request.https-expected.txt": [ @@ -310938,7 +311016,7 @@ [] ], "local-url-inherit-controller.https-expected.txt": [ - "5bbd21b5890f94e6eff4c5cd8f4e6300fa79c0e1", + "b3b46912445464bbcd50a77d995dae0adfb3328e", [] ], "multi-globals": { @@ -312630,11 +312708,11 @@ [] ], "worker-interception-redirect.https-expected.txt": [ - "6ebfc05e07493232ef0f3d8a9f06e2605b54c558", + "06706c050fa5c7504d224c44f353b7b19ae3f5ea", [] ], "worker-interception.https-expected.txt": [ - "dba3694a6f928b5d0802aabda02604ae19797663", + "41d45df239565395ab8ce55043002800aa21c35f", [] ], "xhr-content-length.https.window-expected.txt": [ @@ -321848,7 +321926,7 @@ [] ], "webxr_test_constants.js": [ - "042480da2bf1da718769fb2452a42da5cc3064f2", + "7dbedd92419d14c212573e1b10c305c2034aea9a", [] ], "webxr_test_constants_fake_depth.js": [ @@ -321860,7 +321938,7 @@ [] ], "webxr_util.js": [ - "625f76450e23dc509553a71b5a0157bccf91f8f6", + "75d73968ccaaca1411391f25b2726f6bda57e27d", [] ] }, @@ -359129,7 +359207,7 @@ ], "js": { "001.html": [ - "5907a492e5736a035d2c92be6764608ee2f73d84", + "af97ac09e6eb0f1e71a877eecc475f7db158b7bf", [ null, {} @@ -366197,14 +366275,14 @@ ] ], "grid-shorthand-invalid.html": [ - "653b51943726f47e6304898f1a11a1d222d44cf4", + "cdcbb4c5443d1e9e46e85985a25e702c94b88f4d", [ null, {} ] ], "grid-shorthand-valid.html": [ - "75f98da5e4ab425b26972f75f2d92149f06e6cc9", + "8d546a8212ed6b45fbe9c6b7ca9741f799154267", [ null, {} @@ -372772,35 +372850,35 @@ }, "css-tables": { "absolute-tables-001.html": [ - "dd401c237907bb9166df85e290bd3d7980644a93", + "55a8f00d58ac4bbd95a8ae1b97b1d142c036c191", [ null, {} ] ], "absolute-tables-002.html": [ - "a72e2f170e36d5b9dcf37b631e0357f82b13e333", + "74d956ba9e60afe317739258dbfb09dcc6a8b160", [ null, {} ] ], "absolute-tables-003.html": [ - "a4f945e38420314fd0b1c767cb5641be32ae06bb", + "a6708192b3b28ffa570bff5fab3ae30dc42608cf", [ null, {} ] ], "absolute-tables-004.html": [ - "a74d7dfbd02f2675ede3754e90f912399df2a2f7", + "a998d577260f10fb8eccccfc3569e2637d3cb16c", [ null, {} ] ], "absolute-tables-005.html": [ - "24444d3b44ee34ba4f65623c73e8101905632bd0", + "4935e253493030d96226677923255fc0a910946e", [ null, {} @@ -372823,7 +372901,7 @@ ] ], "border-spacing-included-in-sizes-001.html": [ - "3f0802305fed5be27d92dc2d65dc273fc852ab85", + "be7d2641f018358cd3f4a8611cfd4997a52ce295", [ null, {} @@ -372865,14 +372943,14 @@ ] ], "caption-writing-mode-001.html": [ - "835a5116ae36bca9f92698b7766d0b65f1514f9f", + "70db125923694915df1de6da377be54d522529e9", [ null, {} ] ], "caption-writing-mode-002.html": [ - "8a2b60864228d2d79af3ad18e6b8366e340dbbe3", + "35de4f761aa79d31883aaf3c4225cd24359f5375", [ null, {} @@ -372957,14 +373035,14 @@ ] ], "extra-height-given-to-all-row-groups-003.html": [ - "285017b7f0957d948345f97ba24fce69ba5ba435", + "7970f95d0eac379ff7a5304f1712e569073a387c", [ null, {} ] ], "extra-height-given-to-all-row-groups-004.html": [ - "0fcd48ec55063d77d9129a1a194bf139f17160ba", + "8ca86957c14a94ee1312d3c83e5a820cb68aaed3", [ null, {} @@ -373149,21 +373227,21 @@ ] ], "percent-width-ignored-001.tentative.html": [ - "214eee7152b66a4198a2e81d7d62da9a295b5d98", + "5cdb0ead0a74a7177e8b6d501fa0533f79a6492f", [ null, {} ] ], "percent-width-ignored-002.tentative.html": [ - "97f6f4904c159983de44020c9d8998fdfedf023b", + "e18913f0b864e74672b0fdfeef84a612b7061084", [ null, {} ] ], "percent-width-ignored-003.tentative.html": [ - "3df8548ce2f9e346e83aaa617b3d36839c24e4b6", + "c2282f3c57e93a077cbabcf061dc571ccbdf52c7", [ null, {} @@ -380151,14 +380229,14 @@ ] ], "calc-background-position-002.html": [ - "c1dad2eb03b45ead60e7a8f57ba29fc226e63d4d", + "249cdc3d5e3f3a8c91cb6c1eff73a64339aedabb", [ null, {} ] ], "calc-background-position-003.html": [ - "61ba0a4998c679e85620075590d0d273cad61f1b", + "a3f5e848620fdce416f006fbbc6cdcc06c69b317", [ null, {} @@ -380298,7 +380376,7 @@ ] ], "calc-z-index-fractions-001.html": [ - "6b8ed24989fc78a10a70388faf22936094fd92fb", + "eef8032169b9ecd9c49a189bf2a28ef7d7528339", [ null, {} @@ -380585,7 +380663,7 @@ ] ], "rgba-011.html": [ - "84c317033063b72716e36cfd15466780e010ba11", + "393f2a2990755a213f86c5457847c7ecbb4c5477", [ null, {} @@ -386809,6 +386887,13 @@ ] ] }, + "eventPathRemoved.html": [ + "7a6953900b24c7b674df343d41301899bfe25992", + [ + null, + {} + ] + ], "events": { "AddEventListenerOptions-once.any.js": [ "b4edd4345c5e3431d77a6ed56dc573d4000f4c43", @@ -417273,47 +417358,6 @@ } ] ], - "sandboxed_FileSystemDirectoryHandle-rename.https.any.js": [ - "d6aa0d9f8479bf0ccff852ff0b7797709d9dc934", - [ - "file-system-access/sandboxed_FileSystemDirectoryHandle-rename.https.any.html", - { - "script_metadata": [ - [ - "script", - "resources/test-helpers.js" - ], - [ - "script", - "resources/sandboxed-fs-test-helpers.js" - ], - [ - "script", - "script-tests/FileSystemDirectoryHandle-rename.js" - ] - ] - } - ], - [ - "file-system-access/sandboxed_FileSystemDirectoryHandle-rename.https.any.worker.html", - { - "script_metadata": [ - [ - "script", - "resources/test-helpers.js" - ], - [ - "script", - "resources/sandboxed-fs-test-helpers.js" - ], - [ - "script", - "script-tests/FileSystemDirectoryHandle-rename.js" - ] - ] - } - ] - ], "sandboxed_FileSystemDirectoryHandle-resolve.https.any.js": [ "6ee32709307cb930c8d56374841792fd70235915", [ @@ -417463,47 +417507,6 @@ } ] ], - "sandboxed_FileSystemFileHandle-rename.https.any.js": [ - "37039b83a5a55c9226b769597efa16eb1bacddcc", - [ - "file-system-access/sandboxed_FileSystemFileHandle-rename.https.any.html", - { - "script_metadata": [ - [ - "script", - "resources/test-helpers.js" - ], - [ - "script", - "resources/sandboxed-fs-test-helpers.js" - ], - [ - "script", - "script-tests/FileSystemFileHandle-rename.js" - ] - ] - } - ], - [ - "file-system-access/sandboxed_FileSystemFileHandle-rename.https.any.worker.html", - { - "script_metadata": [ - [ - "script", - "resources/test-helpers.js" - ], - [ - "script", - "resources/sandboxed-fs-test-helpers.js" - ], - [ - "script", - "script-tests/FileSystemFileHandle-rename.js" - ] - ] - } - ] - ], "sandboxed_FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.js": [ "a2ed99db1d538ada4d76796ccd6a6c6cfba2565e", [ @@ -420977,6 +420980,13 @@ {} ] ], + "same-hash.html": [ + "430a57662ac34e5150b44b210fdc44cf158e2c3f", + [ + null, + {} + ] + ], "scripted_click_assign_during_load.html": [ "7ccc6cdc09eac943680c4e6c8e441df0a2d7cbe2", [ @@ -424082,6 +424092,13 @@ {} ] ], + "2d.text.drawing.style.invalid.spacing.html": [ + "61ca6d4a91533ea75bcc7505a0d8f3969be1ee07", + [ + null, + {} + ] + ], "2d.text.drawing.style.letterSpacing.change.font.html": [ "5b42b89e3254c560810e35f1f571d85111503407", [ @@ -440460,6 +440477,20 @@ {} ] ], + "2d.text.drawing.style.invalid.spacing.html": [ + "a117be03656e6552b4859cfb6560138c40cbff89", + [ + null, + {} + ] + ], + "2d.text.drawing.style.invalid.spacing.worker.js": [ + "7f6baf28b68d76b5e71020a19283b2a49e6058b7", + [ + "html/canvas/offscreen/text/2d.text.drawing.style.invalid.spacing.worker.html", + {} + ] + ], "2d.text.drawing.style.letterSpacing.change.font.html": [ "ff84f4541b6d0621387c2244ce7273494b342206", [ @@ -442118,36 +442149,6 @@ } ] ], - "cache-storage.tentative.https.window.js": [ - "9c18a7fae391fd883470859d09841b79b20bf935", - [ - "html/cross-origin-embedder-policy/anonymous-iframe/cache-storage.tentative.https.window.html", - { - "script_metadata": [ - [ - "script", - "/common/get-host-info.sub.js" - ], - [ - "script", - "/common/utils.js" - ], - [ - "script", - "/common/dispatcher/dispatcher.js" - ], - [ - "script", - "../credentialless/resources/common.js" - ], - [ - "script", - "./resources/common.js" - ] - ] - } - ] - ], "cookie-store.tentative.https.window.js": [ "60a856c7584681d20d12b72dcd951cd4fd43e2a1", [ @@ -447166,7 +447167,7 @@ ] ], "resets.html": [ - "8576817caa826324ccde48a9d836b5d3cc1b995e", + "20d6a565b46964aa1e606391e03d334e80a9b537", [ null, {} @@ -453700,6 +453701,13 @@ {} ] ], + "input-untrusted-key-event.html": [ + "607b0c51ef6ec49242fc0da77750e8886bc5068e", + [ + null, + {} + ] + ], "input-validationmessage.html": [ "775c06f06e57497cfe1bde270c25ac0ff3d11014", [ @@ -455052,7 +455060,7 @@ ] ], "modal-dialog-scroll-height.html": [ - "2169e5d9757d0524ab24ae9d5ddc13ed10f276da", + "638217f02100de800fd231c4d94d0ac43783c9af", [ null, {} @@ -478424,12 +478432,10 @@ ] ], "payment-report-only.https.html": [ - "d4425f9f3ca559dc26996998bd043513671993d4", + "f5105c3b00041d8f77f4440bbefc95e6452aeb77", [ null, - { - "testdriver": true - } + {} ] ], "payment-reporting.https.html": [ @@ -492653,6 +492659,13 @@ {} ] ], + "iframe-inheritance-history-about-blank.html": [ + "8d68ffb5ff1c1b8da00a37ee6b0c37879de979e1", + [ + null, + {} + ] + ], "iframe-inheritance-history-about-srcdoc.html": [ "91ac5fc139e2941f28919f0096ff2d5c3450c2bd", [ @@ -494114,6 +494127,13 @@ {} ] ], + "sanitizer-names.https.tentative.html": [ + "22b913574e83f03f223bd49dff36573f908ab144", + [ + null, + {} + ] + ], "sanitizer-query-config.https.tenative.html": [ "bd7c7ea3f65570e5b3e9e1dda3f098697ad22e8e", [ @@ -496498,6 +496518,15 @@ {} ] ], + "non-html-documents.html": [ + "d86cf482ddc97b5d673679c6db5a0e8c26563597", + [ + null, + { + "testdriver": true + } + ] + ], "redirects.html": [ "5ad910affe55f6dd5ff63cdd3e019cf969fc6653", [ @@ -510615,6 +510644,13 @@ {} ] ], + "lengthadjust.html": [ + "51b06675b0928aaf1d500eaefbd5a683b532a517", + [ + null, + {} + ] + ], "textpath-textlength-text-anchor-001.tentative.svg": [ "6c4f50fe871b0126548557976e8391c1d973b5fe", [ @@ -544892,13 +544928,6 @@ {} ] ], - "xrViewerPose_secondaryViews.https.html": [ - "446fedf14f353b241347d4deb9982981e6a3882f", - [ - null, - {} - ] - ], "xrViewerPose_views_sameObject.https.html": [ "af64111d8242d954acf29c123834833f12b16e96", [ @@ -544907,7 +544936,7 @@ ] ], "xrViewport_valid.https.html": [ - "c64c56cfdd6c18021f64e5b29014c09aacebb675", + "4588a3fbc2bda8739b286509a931907c256b3e7c", [ null, {} @@ -544956,14 +544985,14 @@ ] ], "xrWebGLLayer_viewports.https.html": [ - "8654e9e58708f4b056502905040f7dc2b0182aa7", + "74cc86f231b02ccc5590c7eedf9ee94974828c5d", [ null, {} ] ], "xr_viewport_scale.https.html": [ - "a3e3a4e5bda2fb363e7d182984d21d4fad032872", + "86e6f40005f43d845a547cce3404d5814f4839e8", [ null, {} @@ -561754,7 +561783,7 @@ }, "css-backgrounds": { "background-attachment-local-scrolling.htm": [ - "cc49fad5ce8d722bc07b72dd3906b57265d65a6d", + "c3f85d7a26a0e2032ad2e626cf946d64926a9785", [ null, {} @@ -561854,7 +561883,7 @@ ] ], "background-clip-padding-box-with-border-radius.html": [ - "7e64fbd000be1c1f3dc3665918854bdb9f97c332", + "ee98dababbcce0d7fbee2f6b7eaff18bb78341e9", [ null, {} @@ -561868,14 +561897,14 @@ ] ], "background-color-applied-to-rounded-inline-element.htm": [ - "22bac694312ad9c5105dbe2fe901431914672cda", + "8199a45d16302d79e6a0001f9fdf474d87481d71", [ null, {} ] ], "background-color-border-box.htm": [ - "02185ba38436bd784c38eaf6def26c670684d895", + "c22aff64953f5daa775a729c23a883053f60920a", [ null, {} @@ -561982,14 +562011,14 @@ ] ], "background-repeat-space-padding-box.htm": [ - "e9e9bd2046a232a57fafab58df8c9e5736e9ff78", + "c375c22412a497534313d3dd5ed1e983e7988be7", [ null, {} ] ], "background-size-003.html": [ - "25f8cc76d1f7db9bd50d348c70b980d8de64d4de", + "dc77ce8c40f0d9e02b96b33543759f45b2483f45", [ null, {} @@ -562031,84 +562060,84 @@ ] ], "background-size-applies-to-block.htm": [ - "b1273ef334ec9a13a3f7e8fd138aab1fd4ba663a", + "ea071540984305d35874582f6e45b4d68001e92f", [ null, {} ] ], "background-size-aspect-ratio.htm": [ - "0f297373669552d42ca163329c648b1e4c5d9bc5", + "1778acc1f7d1808e3fc2b57d5f4b6f972bdb633d", [ null, {} ] ], "background_color_padding_box.htm": [ - "2e997c06b68bcee44027f4e2c9c4054a14df068e", + "c8372fa376208bc89823256a18330a1cd8b1a359", [ null, {} ] ], "background_properties_greater_than_images.htm": [ - "18e9cb9be9766414506ef9a320e9be02873ea7e7", + "3fde022cb2c3350ec8b25e69895292d6f3a4d630", [ null, {} ] ], "background_repeat_space_border_box.htm": [ - "cc2551751ece00f666bdd17f4a1bd53d44019d7f", + "167c69943ab7fde1eff6ff1817cb8863abae054f", [ null, {} ] ], "background_repeat_space_content_box.htm": [ - "60bafac8136dd99958f07150485ec2b3ae60995b", + "b87bb9c287e12e32187782e89519b2d19120ee4f", [ null, {} ] ], "border-bottom-left-radius-002.xht": [ - "5522722e824fb7be4a4547bcdbcaf4496faa1ef1", + "f84a3c6ef9bc5763a6088df66a7a851997c704c6", [ null, {} ] ], "border-bottom-left-radius-012.xht": [ - "7ea8b848a3c3d81b997c9e00383a6d592392ab1c", + "9d837d23fe05f3914d6c79914756d8266e4eaddc", [ null, {} ] ], "border-bottom-left-radius-013.xht": [ - "19bca25d44eeec34e650c6172195b9aff784acd5", + "92bbbde662187fdce0eaa0af961f86bd3ca61239", [ null, {} ] ], "border-bottom-right-radius-002.xht": [ - "ef6fb222012579f69c94a0b8e8bd0b310d96373b", + "4dc3236e602076f9f1822b86273bdb9a67222512", [ null, {} ] ], "border-bottom-right-radius-012.xht": [ - "40eb2ecb911c15e1c2957ebf0dcd3eaafbb594cf", + "9aff2e9da3b3d2ae0016cac7570f3ef5687a98d8", [ null, {} ] ], "border-bottom-right-radius-013.xht": [ - "8be2450660748a553db94933c3a5d2af9b276de2", + "19f270e79f162199b779120eae5212c5888885d9", [ null, {} @@ -562325,301 +562354,301 @@ ] ], "border-radius-applies-to-001.htm": [ - "d494e01ad1965a438e68ad2be62f002ed283c2fd", + "88def481287efc43e4c45ffc0a2ffa8c5e3739ad", [ null, {} ] ], "border-radius-applies-to-002.htm": [ - "428c37680adca8b9da64a25b7422b654323783bd", + "46deb294c521c281b2d1d5e67fecd5eb34e36e30", [ null, {} ] ], "border-radius-applies-to-003.htm": [ - "12f4e3aa4211992e5dc59364a1191584f6e3536d", + "d2502e3e4e8a13be1e3710f98c67604d696fda40", [ null, {} ] ], "border-radius-applies-to-004.htm": [ - "443983a082efa28c133ec4d5d03b3cab04e8fea6", + "03af4987793edc0d3ccf554141e3716f29671722", [ null, {} ] ], "border-radius-applies-to-005.htm": [ - "8969a9227844129a9511fc4368e42312e7632bed", + "7c566420b2a1bde5c6668c71723408575ca0aefe", [ null, {} ] ], "border-radius-applies-to-006.htm": [ - "b19bc4a0d81d32944882d748d8a30acbe46458fe", + "468aa839f8d4afd2c42a12c9689f3c381bdfc195", [ null, {} ] ], "border-radius-applies-to-007.htm": [ - "10788757366641499c95f8ee27dc670537b2992d", + "3d9d2f3aaee6228c29619b2117bebc2554e618cf", [ null, {} ] ], "border-radius-applies-to-008.htm": [ - "83ec9db6db40ed329b70645c5de9211f2ca286c5", + "6e8a85c4a797e9775e2c57d76aff7379adebcc96", [ null, {} ] ], "border-radius-applies-to-009.htm": [ - "da31b765782e21a491f7d9b98f09fc6f70944a44", + "4659570aa08b5a5c63731affb18036d77161709e", [ null, {} ] ], "border-radius-applies-to-010.htm": [ - "97fb3f08424958f1eeafbce123150b13f717e3a4", + "da547dbca4767915874de27fecee8faca7890abb", [ null, {} ] ], "border-radius-applies-to-011.htm": [ - "103a66b804e7f7c0bad5827566f0a45680de6de3", + "5b33a006d679b9b5b0affa4503506c58a52c3816", [ null, {} ] ], "border-radius-applies-to-012.htm": [ - "893001043a71ee605a99881e17536ab3668eadce", + "0a7efb2a35b125b4d628a2fbd20d190df21c0d60", [ null, {} ] ], "border-radius-applies-to-013.htm": [ - "93a4a097cfceeba775360bfa9dfcada8b7c753be", + "d75716a2811ba8d0c05cef839f95109dc97c4cc4", [ null, {} ] ], "border-radius-applies-to-014.htm": [ - "aad001323283121cbb6209d39321ab4169dd7acf", + "985c29f3f03f6e921863fd4f7bb34c5d7c7a20ff", [ null, {} ] ], "border-radius-applies-to-015.htm": [ - "b384ad43a54eae0e3f68a53761c48a377bc2d6b0", + "4a77ba1694ae233794bbbdcf6ab21e6692885586", [ null, {} ] ], "border-radius-applies-to-016.htm": [ - "15a62d6a455ae97201f7d808386bbe765671ae0a", + "7584799e2987121c043ce74ddb5bf4e0482c8de1", [ null, {} ] ], "border-radius-applies-to-017.htm": [ - "2e10d125f1db2cefca2f911be75423d401dccec3", + "6c90be647286adbb738e82a50c3e2c4915af1713", [ null, {} ] ], "border-radius-content-edge-001.htm": [ - "72cd3a6f2afe26b771fd92d7fe5c568a36b68928", + "fffdec86f6010d40e327513fa6e8b1cd6df5dc68", [ null, {} ] ], "border-radius-different-width-001.htm": [ - "ceb41be975c90380e6def93961169b5082b9a3d6", + "51bfe5aa5b6d0f90847da4f34792eb5d06aea954", [ null, {} ] ], "border-radius-initial-value-001.htm": [ - "2d948b4043018ffea6f67b13957fbceb0aaceb87", + "9716a233d3a76d4755d304498626216795969897", [ null, {} ] ], "border-radius-not-inherited-001.htm": [ - "d10f761f7ca17060575b0fe28e4e1d9e452c2b41", + "5bda6f3650be69adfa587d9b8e71b28b63d07d29", [ null, {} ] ], "border-radius-overflow-hidden.html": [ - "051eb1adae7d1b6c0878f02f7f1f4c650bcff8fe", + "b597f334322854166defc51eb5b3ab053ffda97d", [ null, {} ] ], "border-radius-shorthand-001.htm": [ - "e1bd987e6bcc0c7b0dcd75c107772d0a31b72edb", + "134df400278c2ad9847de165974a0b84f53e5f62", [ null, {} ] ], "border-radius-style-001.htm": [ - "92230f503c5a2d24df5e57dd1c71386db7a142a5", + "9bf4498c717daf2cba22e4755f90fc1267c7e2b3", [ null, {} ] ], "border-radius-style-002.htm": [ - "bdfd6a905442f18e468b88b4545612bf7ad5f666", + "8c1e20685e655169b8021d99855e616b6fd1b649", [ null, {} ] ], "border-radius-style-003.htm": [ - "3d2823507a23a22377622eaeb57c01778b8bd9f9", + "a000c9bbe56e0af9b912b3aba33a6ca134af53bd", [ null, {} ] ], "border-radius-style-004.htm": [ - "342ddee97fac19edb06576538d2790cc2f0b1e2e", + "0b0582b9e49fb136ef64ee24fe82125026995819", [ null, {} ] ], "border-radius-style-005.htm": [ - "d16285a6f239236f981ef135bf59b4b5bcf3a78d", + "66c7ac1305d695fae0b52c9826558d6adc4bc0c1", [ null, {} ] ], "border-radius-sum-of-radii-001.htm": [ - "005a8201dc662c59fe9be13f42664a0a8dffa405", + "e829a5a574ca96056a2cdd4420550466edb6c3d6", [ null, {} ] ], "border-radius-sum-of-radii-002.htm": [ - "2f8e2ec8de7724c644cc4fab7b62ad26aefab6ca", + "74e30c4269822d2a524e8b2e6b0fb3f8a16516c7", [ null, {} ] ], "border-radius-with-three-values-001.htm": [ - "ffeedaf3318ce0d539be9f11d8ab61158e728197", + "b227b0a6401241c42989dbebddfcfd94effe08a2", [ null, {} ] ], "border-radius-with-two-values-001.htm": [ - "ba3c2fbbf0f698274e8e901048fa592e1bb485be", + "d88d404ec15a697502f6eada37bfe43942197e88", [ null, {} ] ], "border-top-left-radius-002.xht": [ - "58f265ebf6ce40ab05bcf92b7aee17d459390880", + "2278fbf617229c6e9097be157eeacf851f6ee0fb", [ null, {} ] ], "border-top-left-radius-012.xht": [ - "cba95895f2489d949375ef13e2e242c6cf6d161b", + "44e5a0661de389c6b5c0cb5e2d5fda0f713dfb8e", [ null, {} ] ], "border-top-left-radius-013.xht": [ - "5b6f23d62115058b79ce3d4cecd54b9ae070a061", + "c5c65de50d1911988bdf426bb4aecab3311a0225", [ null, {} ] ], "border-top-left-radius-values-001.htm": [ - "3398e6d0da01390a9f1ed592e4293b27db2dfa62", + "08407edd81bda5f3ca167b4722a363c1f272dc04", [ null, {} ] ], "border-top-left-radius-values-002.htm": [ - "6e1bce86fbf0ae31e63ab48564fbc7354b16ecdb", + "fb850d3e473e74c3518e1960ee9f8bb7c3daa61f", [ null, {} ] ], "border-top-left-radius-values-003.htm": [ - "cbd41e76eefe2835ddf4e96fe0739593574a7847", + "137fd3ad4b3bcac9846bfc66e5b222392d67f078", [ null, {} ] ], "border-top-left-radius-values-004.htm": [ - "aba87be852b3d83300a27cc794240e508a83ac53", + "f08c3d38a5e70c39badd9656006ab8c9351a8a11", [ null, {} ] ], "border-top-right-radius-002.xht": [ - "faaf86bb0bf7bc778d6212857324f773eb54939e", + "b78024d4bafe552919df170cad7f52f1dd2ee5be", [ null, {} ] ], "border-top-right-radius-012.xht": [ - "548a76e38e978a06dacc8dd2549f71251214cd55", + "75689f6e778239220e5854249c01466e6e0eaf79", [ null, {} ] ], "border-top-right-radius-013.xht": [ - "b7c141bb05cadc73c62198e6d437ae624a0e2af4", + "77ade56ab1c2eff431df420f4667753c56776331", [ null, {} ] ], "border-top-right-radius-values-004.htm": [ - "18bb95dc193e27eb6b812dbd244468d2a0f5d0cf", + "bd2bf51e04bfe6c07d20bdeb3393b3fce18c1f1c", [ null, {} @@ -562627,7 +562656,7 @@ ], "box-shadow": { "box-shadow-blur-definition-001.xht": [ - "ab6116c17d5b4c44e3c378ddef04b6f8ed73514d", + "e6ae0a2e90d20821b31e3ba605c47026f5d005b0", [ null, {} @@ -562642,42 +562671,42 @@ ] ], "box-shadow-002.htm": [ - "5b04e8533a4bc1a874235bb8060a8cbde11d5f89", + "aab6d8284c0fe36d7fe8c2c3b7c004d278330009", [ null, {} ] ], "box-shadow-003.htm": [ - "b3574c47a19f10677b54ce7154aa7976f53f73d3", + "41d411bbae52a5055ddd9a0f689741012fc69b21", [ null, {} ] ], "box-shadow-004.htm": [ - "5f0488fcf652f261b37cd2f78849476db51b0319", + "2f8d07340255319d0e8cb323c724acc751008802", [ null, {} ] ], "color-behind-images.htm": [ - "170380aa8e12ad2685e31d507851de352b90d1f8", + "d21da64cd8c754b410efa686a90488574abf0d02", [ null, {} ] ], "none-as-image-layer.htm": [ - "eeac7b12fb0c827b54052a39608d42d002889bc8", + "5814e070b9d132f34456ac89c7bac85ac1cabd56", [ null, {} ] ], "order-of-images.htm": [ - "5ed794153083a7e06eb2e98b7ebdb5bec2676d28", + "3ae03636d19d38f89ead6d942eb809b7b5e0e662", [ null, {} @@ -562941,7 +562970,7 @@ }, "css-fonts": { "font-face-unicode-range.html": [ - "a5523131504f768930748e404506e5ab83b0abe2", + "f3cd9f0af5a5b91bee1eb2c277e4745ae93eeaf2", [ null, {} @@ -563060,14 +563089,14 @@ }, "css-lists": { "list-style-type-armenian-002.xht": [ - "fa7b47d7358de7fdf0dcc467075c90f6d81b796d", + "9b318b1b6e4cbea2c5e5f3f13ac752ae8b28cbac", [ null, {} ] ], "list-style-type-armenian-003.xht": [ - "422be2304c891fbd0c4f256bc3b87514d935fc81", + "cb915b8d3faf01fb7e15a778f203429141fd6cee", [ null, {} @@ -563101,7 +563130,7 @@ }, "css-ruby": { "rbc-rtc-basic-001.html": [ - "e086181ab938b54ff40d2363d801380d1b9ada9b", + "8da4a04571da6bcd4d0690d4828bba4e65bbd44b", [ null, {} @@ -563328,84 +563357,84 @@ ] ], "text-decoration-visibility-001.xht": [ - "1451ae9c6b5199bacb758f31b906a6753c1f99e4", + "8bfcb7cce9ac8c6fb22a4162415430a9a0ed8b70", [ null, {} ] ], "text-decoration-visibility-002.xht": [ - "e0d03a40e22e1b46cb6a66a2e143bdce0b4c3436", + "43b93b0348df06cdbc9f14bad7d8e5a47feb7bcc", [ null, {} ] ], "text-decoration-visibility-003.xht": [ - "e8477be580778b0986626c3b9c069e1d0976107e", + "b27d419557b713a05ac4311a90a00077458da5b5", [ null, {} ] ], "text-decoration-visibility-004.xht": [ - "7e810ac164bc731d65aee2922f48b085ed4dd7f9", + "494bdc0942b822c96c85a806c21eb3b05534a56c", [ null, {} ] ], "text-decoration-visibility-005.xht": [ - "e49dcc821fd403a78b4cd7a21609bd3faeafe1af", + "c78bc781dee9b849bf6304c569dd1c614e4f12bc", [ null, {} ] ], "text-decoration-visibility-006.xht": [ - "7ebecdd60f8dd41c251f171a9351d95d72c70768", + "3447fc34f045bae62bc5d289451a2f5be44e5c20", [ null, {} ] ], "text-decoration-visibility-007.xht": [ - "e95c85e24550c3a0f61247eec2258d35e2a0ed46", + "ef866aa4dcf39c46dc74e34a555d30c77ba7f919", [ null, {} ] ], "text-decoration-visibility-008.xht": [ - "afb394607bedfd62c16c180b979fc5f4eb65170d", + "23a3d3412eb4d1cf39fba60b7db34515880d6f5d", [ null, {} ] ], "text-decoration-visibility-009.xht": [ - "6ad4988a948ccac4cd197ff491b2a62958fd6b88", + "c309a2b4c4fb98de287e97c50f67d938821a93f9", [ null, {} ] ], "text-decoration-visibility-010.xht": [ - "6adec80adf090cfd1ebe3ed95e7b09322665bc9b", + "2a073a89a06a92b948173885740b010f1543d6ec", [ null, {} ] ], "text-decoration-visibility-011.xht": [ - "13164729467e78bd9af9c26c73a216aa9235e42b", + "55dbddb5c43f4e4bd0d5a35308aab309d52c142c", [ null, {} ] ], "text-decoration-visibility-012.xht": [ - "904460a7bfeef5a35261641422a5fde2dd07dce4", + "daeab987e4264921e2eb20802c763a4609ab9add", [ null, {} @@ -563878,14 +563907,14 @@ "selectors": { "old-tests": { "css3-modsel-1.xml": [ - "0ce55a4d99e7d9f00a5b4e5de233efc95fdf8e40", + "0fb46f0fd19e389bca19295757cc7496d9079508", [ null, {} ] ], "css3-modsel-10.xml": [ - "bb2f40f492ec8d97d25c52ec1504e4560b4bbbb2", + "404fa65f287a0f259e74ac7de51df72ec878ab45", [ null, {} @@ -563941,7 +563970,7 @@ ] ], "css3-modsel-11.xml": [ - "5e4d827e4cc0ccd6c12ade6875f62cc35656e4a4", + "b1c8539739f887a1812a3026f86182091a675e5b", [ null, {} @@ -564046,7 +564075,7 @@ ] ], "css3-modsel-13.xml": [ - "826e576ad41565bce2280e4ad4eea241021016dc", + "600426e8b9fba7f0f945c66711be7aebabd3e09a", [ null, {} @@ -564151,7 +564180,7 @@ ] ], "css3-modsel-14.xml": [ - "5074fe0249c19e1cb8291ef69fbc04361ddb3386", + "29a6f20d8eb2b74f70ace62b88a8a7768856b947", [ null, {} @@ -564172,7 +564201,7 @@ ] ], "css3-modsel-144.xml": [ - "7efde113c565ca4041f3e2099fe585b59a016d0b", + "cbc7d4c16c06ad1d9b97741789a1b4ee9821ddcc", [ null, {} @@ -564221,35 +564250,35 @@ ] ], "css3-modsel-14c.xml": [ - "0384f33280eb5b6b00f8c1a9014ef8ea0b2ad0c6", + "9f92f7912dd6fcf4166203920bf8fc8daa223da3", [ null, {} ] ], "css3-modsel-14d.xml": [ - "37e057b517fb02238505af7fc650e8d94428dc68", + "411e3cc2b6a633768d37cc1faf42571bab929d70", [ null, {} ] ], "css3-modsel-14e.xml": [ - "a8f8d75621512741eadcdfa3344013f5c3424c24", + "4538de38e4c26b485773226582d79399af0cb208", [ null, {} ] ], "css3-modsel-15.xml": [ - "f3aa372602f9c34c9d8b0548ba89bb4f735f7007", + "73b340e27bbec56ca950945e114bba33a3a9f036", [ null, {} ] ], "css3-modsel-150.xml": [ - "b9fdca487eabf508b7436d84c2c0216137e74232", + "49a7807b10d5b4fae955cc9bb7399e7925902d80", [ null, {} @@ -564263,28 +564292,28 @@ ] ], "css3-modsel-166.xml": [ - "5d4e31f9a5ca8fb83347a611afed749f282d0145", + "f1d258dc375b626f6eba485b22036d5454dc9c8a", [ null, {} ] ], "css3-modsel-166a.xml": [ - "55d36bb68c90da1cdb8d03f83b22a6d7f0e05ecb", + "3ab4942e0da1b076e96d4c777edc8ca0b12b5a2f", [ null, {} ] ], "css3-modsel-167.xml": [ - "0fa9e6cdbb9acff6cfa0942cf4cbcdf43d0c227e", + "2d86aafaa9fe0568152cd67f84feb5ba665ab223", [ null, {} ] ], "css3-modsel-167a.xml": [ - "6dd9d8faac2ded7e8f4692b5c8ef126b09c58d7e", + "d312fc25738e0a810284d1da2811176f56817033", [ null, {} @@ -564312,21 +564341,21 @@ ] ], "css3-modsel-179a.xml": [ - "184365703d38ba3de9d8a221997346a7c565cc2a", + "a1783fbc4a5c55084232f26055017449fffc9d1e", [ null, {} ] ], "css3-modsel-180a.xml": [ - "3661eb9c1f0cfff486716e547f7b9529f2ded2a5", + "d4bf31c619c17674a92d52029d673e9c307a4388", [ null, {} ] ], "css3-modsel-181.xml": [ - "62465e4be5499590dacbf43639109c32dc516ac6", + "97fde125eaf08b853d807662caf3810f55cf222f", [ null, {} @@ -564340,91 +564369,91 @@ ] ], "css3-modsel-183.xml": [ - "97412ddef6ea254c1b0fbe35703b47f623124eb1", + "022df8f1180dbf1f9cf5ffa43820080d656f2997", [ null, {} ] ], "css3-modsel-2.xml": [ - "09f84d60e98f5a151a5435d9a4b046a74b21bda0", + "895fea32c97dbbb5742ebd4bb99a701d66fdcc66", [ null, {} ] ], "css3-modsel-21b.xml": [ - "d97181d47dcdf74eb031d7e761896f60bf2831b8", + "3274ade1d35c660e2589f0d122a273bfea681ea6", [ null, {} ] ], "css3-modsel-21c.xml": [ - "e45074c9a09faceadeb89280e3105d381a5416f0", + "18b5cf19001850241c8a4cfdff663e53e2560f17", [ null, {} ] ], "css3-modsel-22.xml": [ - "098679c368958d6371b56e7956759b038699ff24", + "bc813519d4738a9a7ebb4b10ccb642af07903db1", [ null, {} ] ], "css3-modsel-25.xml": [ - "ef1875fc89e68906ae1a8ad949e931005c81b964", + "450e4bd30b39b7965278007f454e17644513e94b", [ null, {} ] ], "css3-modsel-27.xml": [ - "e20227755cb29c46d4991b779bb524613cd7ef95", + "38813e16c7dd9b24581760a0b476924f1a719b6d", [ null, {} ] ], "css3-modsel-27a.xml": [ - "42736a3909547ef0680d3bdd576640046d74b79c", + "ac5655bff422d269e4996826a4d65edf9e76c0c7", [ null, {} ] ], "css3-modsel-27b.xml": [ - "8bfb356e50d963ccb8868436f67585529de4e964", + "1f40e3ccabaa69536e447434ce2685eac920627e", [ null, {} ] ], "css3-modsel-28.xml": [ - "f73184d1cac2f6687ed4f9666449862ddb6aecaf", + "c98caaa791215ac5e87a3c97a75144a805f5f161", [ null, {} ] ], "css3-modsel-28b.xml": [ - "dd3944a92880914accadc94f8f87a49027cbd19a", + "f1af5fd1503da1f796d2374dbd86b00f9ccdd026", [ null, {} ] ], "css3-modsel-29.xml": [ - "cfa23b50c5427dd3a11ff23bc0df9ceb05910250", + "372dbfa5dbc174a95cc297a81b951a3420bca301", [ null, {} ] ], "css3-modsel-29b.xml": [ - "39227d21895c502d1105c0ffa73905b4f67db16e", + "0d88b4cc08756d03d8959d8d43165062391ca6c6", [ null, {} @@ -564438,210 +564467,210 @@ ] ], "css3-modsel-30.xml": [ - "facd83b7116ad906408dfb3ff523fae802711b6e", + "61194a07df04308aea88fefb9c7deb250c189b34", [ null, {} ] ], "css3-modsel-31.xml": [ - "dbf672bda0594b29f7e21b08cf5ae0105220d7bb", + "da51455b1f029166d416efe634bb53d9d1cd22c6", [ null, {} ] ], "css3-modsel-32.xml": [ - "a5551b33f5f1eca3a6072d478a10d9452f9fbb59", + "3ccffc674748516a6dac416f5069209a04b5d08d", [ null, {} ] ], "css3-modsel-33.xml": [ - "c3fc2731a93f92dd1151839b682351ea32a4e3d3", + "f93992be2ef9d76f906ea2109c6fa20ffc6d5bb6", [ null, {} ] ], "css3-modsel-34.xml": [ - "6ea08bbae2fd5ef53eec579d4490b515b5bd42a4", + "1323ec7b48c85ca3098922f72dbbd8629f164bb4", [ null, {} ] ], "css3-modsel-35.xml": [ - "ac53300ad1187613ed6a956a618a3947edaef181", + "7d0437d8ef26f44fa0f575836e70e50d3668519d", [ null, {} ] ], "css3-modsel-36.xml": [ - "393073a4be976d225d3586dfd620287ac0f02053", + "7790d0a5a7d131643febcb6f13ee04efedbb230d", [ null, {} ] ], "css3-modsel-37.xml": [ - "2c805492f7eb9d5846d9cfa5c2e060db616d74e2", + "5684926083d38248a89fc8f1d182f7cf96f03007", [ null, {} ] ], "css3-modsel-38.xml": [ - "ff60e4290d875fd6c76ab0b5214f60fcefe3363e", + "f44abe15843c9939bd1dc0962ff32a87005b6a47", [ null, {} ] ], "css3-modsel-39.xml": [ - "bd0207a8f8bd9e6ecddfd5d5649b9ab424569bbe", + "20cbcfd361658e11fcb2685fc8f82119f3c7175b", [ null, {} ] ], "css3-modsel-39a.xml": [ - "70746c18572c6b721ff47f9008e8264fc6241816", + "13a738631389e560eedf361b0715b5c3462b6f6c", [ null, {} ] ], "css3-modsel-39b.xml": [ - "95b85d5efe3339b07461a7cbdb59b91793627814", + "30fce57ea5abd92440c30aa222cdee76f46864c8", [ null, {} ] ], "css3-modsel-39c.xml": [ - "4401b78fb6e59d37670db1ce0236f2eb9fda6164", + "8f61f5cb8bf43a6d5b76840a0703c57240caf33b", [ null, {} ] ], "css3-modsel-3a.xml": [ - "8ee5d04a9941f5df96fddeb75cf638ee85c113d9", + "7c2acd2f9faaa7dcfb9bbf26c93d9208972b1268", [ null, {} ] ], "css3-modsel-4.xml": [ - "4d38e6c2d510ad2811e30957768747b44f02e77e", + "1e096db55a871de56c4d80ef265ba6f63dcfae11", [ null, {} ] ], "css3-modsel-41.xml": [ - "8d0caef31129fe31efcb2335bf7fdd0ea3984164", + "b8e031f902d5b0f008a32396e532c1acc84e2f96", [ null, {} ] ], "css3-modsel-41a.xml": [ - "a010e28af7345dfd9d21ffa8d1b2fb763454affc", + "653cfc82ba9d4ee6f29fa59d2d5c605b72248112", [ null, {} ] ], "css3-modsel-42.xml": [ - "32617aee70b4abe4f9ebd3c1f036790a487ad76b", + "4221b1a04ad5b087748a34399230644b22ff72a1", [ null, {} ] ], "css3-modsel-42a.xml": [ - "600e68138e334de0396f0a046c2a15847300f07e", + "5499b3f2eac50b09eeb2b8134584c971c8f512a5", [ null, {} ] ], "css3-modsel-43.xml": [ - "312c185510bb99dcef41f6a8a841dac9b248a034", + "62075b35d72200e0fccce30e6e05aca33e47a1d6", [ null, {} ] ], "css3-modsel-43b.xml": [ - "386b5994c78860d7e5324bfba1abdd44c1147a3a", + "e47f816397fabd41899790e6ff1cfa7a3a2c64c0", [ null, {} ] ], "css3-modsel-44.xml": [ - "3ba816eba4d3a303251f965d84672914e98bd3a7", + "2706b9560426a832328faddc9891fabd42a48098", [ null, {} ] ], "css3-modsel-44b.xml": [ - "cdbf452c925f400ffb7ec1d9073a786d058a869d", + "fa4549b9b4516897c20f628d6fca8dab8114bf98", [ null, {} ] ], "css3-modsel-44c.xml": [ - "9f5c8d25c1730ac6d6039bf21441182acf741824", + "b147a74e35ec7a909fd766fa99160856491372b9", [ null, {} ] ], "css3-modsel-44d.xml": [ - "8f448aba1bcd3e1e1ce1b779fd2de8b5707d00be", + "9f0fa3ab0f91cded211fc82dd4503310238d519d", [ null, {} ] ], "css3-modsel-45.xml": [ - "7d29eeaab2b01950c66cdeb834b30dfb7f890ee1", + "e5f97e65821c2aec337daedaf128cb3a4a3fe285", [ null, {} ] ], "css3-modsel-45b.xml": [ - "7aa209e96f8033b4b5108229a589e2adb6836474", + "ac7f81d08ea74f1ff174036845ea2183010701ad", [ null, {} ] ], "css3-modsel-45c.xml": [ - "4e139447cf7149b75ad0172719961f60c47cac8e", + "cd1aa714b05cc479f39398956fd55454ebc95a77", [ null, {} ] ], "css3-modsel-46.xml": [ - "c826cc9675e0819b4f22b5abd3e04a8bcb7b1fad", + "08919fdc6737d0e3509a27bc3b7c320347ad2a18", [ null, {} ] ], "css3-modsel-46b.xml": [ - "35b47b898a75d3ff261061acca4f0526c34bbceb", + "c22a74e704891b76f041c6370aae598de8ee0054", [ null, {} @@ -564655,7 +564684,7 @@ ] ], "css3-modsel-5.xml": [ - "cd559508ec44264ad229cfc8505580132e294eb0", + "5ef9f9980eec4ce2a42d605face936bd85217b4c", [ null, {} @@ -564704,217 +564733,217 @@ ] ], "css3-modsel-6.xml": [ - "98c8722892637d54803cb4e2cf76fc8d286cef21", + "7533d3f023d838ac5c555be4af3dbaf8ee316f7c", [ null, {} ] ], "css3-modsel-66b.xml": [ - "91fc0d324f9d578c334a3a2bdd05caf878f8abe6", + "d23c74c4124a7e24b4510ca37c10c9fac26aa506", [ null, {} ] ], "css3-modsel-67.xml": [ - "4fbffc211f12f66d73173fea9857cbe0398d272d", + "b341517fec83d7643d1bcca8babbe5f8c5f94221", [ null, {} ] ], "css3-modsel-7.xml": [ - "a464ccdb771462e68ee22bd3fc2f6e0dd05215d2", + "c6ac94f986eec1a61a85381024352810dcb2827d", [ null, {} ] ], "css3-modsel-70.xml": [ - "1c18a1e9526089724cab19fe45114a24b2e6b490", + "acfe6662a1b0920253558c507b01df9723a58525", [ null, {} ] ], "css3-modsel-72.xml": [ - "72bf8bc10779ce09fa43b39bf112fc24d8bdfc77", + "d62a2aac01f39e184d6d39453bf40b2cda6540e0", [ null, {} ] ], "css3-modsel-72b.xml": [ - "ce912f0b701bd216f2c4ce8618439033e0f46622", + "7e25a21ec3703454df2e0622ca8494b2babd69da", [ null, {} ] ], "css3-modsel-73.xml": [ - "84954c80f19c7cb541cad2e3d4a15909d933da53", + "659b2d69f6ebfc88c5b8e1aea11728d035aa937f", [ null, {} ] ], "css3-modsel-73b.xml": [ - "d7e476c916cb144a665881993cbffeed56c6cf4d", + "38f69ee5879a26986681caef4546df3d9c70568d", [ null, {} ] ], "css3-modsel-74.xml": [ - "aff2e9b33c769d95e7af77cb2791da79450b8923", + "94f61de1c460593a70a9e09cd88a69e807c3d3ce", [ null, {} ] ], "css3-modsel-74b.xml": [ - "82cf0051f963381a739b627e30d7fa7097186edc", + "ddc7c9bf609a96512b7f76936a22124156885e01", [ null, {} ] ], "css3-modsel-75.xml": [ - "235183445ac58d304e5396c09f3ca199ca1a1949", + "de6c1c98686aea749c21b7c56c89c58709b54883", [ null, {} ] ], "css3-modsel-75b.xml": [ - "6d6345e6543be855ea70ae0fac72b83599a89ef1", + "35bc2a70fd59a7e9daf6e25c452abd6d1510e2e7", [ null, {} ] ], "css3-modsel-76.xml": [ - "d1181a4aaee24520a49a0d6fd0b4338f2cb89eb7", + "5937f0ead7f15f9db8ae3d513bc4379a1c063bb5", [ null, {} ] ], "css3-modsel-76b.xml": [ - "7ba99cc2ce0d480bbe0b8fc8b48f9ee4c4907f5a", + "3b3048be9b859cc625d5aa3869aa7fb538c52ce7", [ null, {} ] ], "css3-modsel-77.xml": [ - "c99fa70543a19f2329b37aafc44a4d9a173500fd", + "e78ddcf1ab3e4c4ea84cb65aaeee408401319285", [ null, {} ] ], "css3-modsel-77b.xml": [ - "073579042b6714fc31b35cfbdc2a4503a1c84c5d", + "8225cd260197aa0d329baf354b36c06592d03f55", [ null, {} ] ], "css3-modsel-78.xml": [ - "8e265200c653d83ba5165b11063dc681495b2df6", + "415722bbdd51b3d0d56f008db0eacdaab977c53b", [ null, {} ] ], "css3-modsel-78b.xml": [ - "2983d0ee2ac87e99b31f5a891fa03c11399e46bc", + "207609b5f0c3cd45f32ed2508285f0758d2c5ac8", [ null, {} ] ], "css3-modsel-79.xml": [ - "4edac8d622bea66cbe507a88950079ac7e09dfb9", + "fef9ea2c541fef3ab5a21d2db98af8958b67068e", [ null, {} ] ], "css3-modsel-8.xml": [ - "ce5a68ffec64d157f5788a57a34cf21e0fd9a1c6", + "67daa4927365ebbec944d20e76fefaaf125c9dba", [ null, {} ] ], "css3-modsel-80.xml": [ - "b7c08e54cf14061499add3b03e28bf6311f69d68", + "e8731bbe2f32df6285b4d21cc6c81acd94bc6b11", [ null, {} ] ], "css3-modsel-81.xml": [ - "d27e3161095a628d96d28572a829216e455279ef", + "73c5779466e4f87ac787997ef6442bf39184683e", [ null, {} ] ], "css3-modsel-81b.xml": [ - "305cf9b63f791aff7499a38ab34e96481fde3a79", + "6b084f00307e28e678ff77746d0673a9ed379b40", [ null, {} ] ], "css3-modsel-82.xml": [ - "5b2202696a34729f330538807911aa814f260b8a", + "21fe0f88b82edfcaaa503e513cff2fddd7e5e34b", [ null, {} ] ], "css3-modsel-82b.xml": [ - "1aafc549ea7e334f177dab560f16e9e7f0a16554", + "9f8893f8855994109abd0137478ef7985424f9b0", [ null, {} ] ], "css3-modsel-86.xml": [ - "5d2355f7f707313e2dd749f5d1f0c931c34c49d9", + "96507ad65670551a5f741c9000ed6845d027a8e1", [ null, {} ] ], "css3-modsel-88.xml": [ - "f354cf21a3dcc0bea6f5f538fec5d8d110d3f115", + "a6dc75ba75bc32a5cd09d07085f968d3ce9443fd", [ null, {} ] ], "css3-modsel-88b.xml": [ - "2c10a61fd4892a1d53cc20b4a6e1d02008ff4b59", + "6c038ed5fde171778bdc2105f4fe72d76d6ace83", [ null, {} ] ], "css3-modsel-89.xml": [ - "22ac828a8273eb7f6bbbbad1875c64e60129a873", + "c9f3f25f7350918c0749c4873bebe8d40f04ba93", [ null, {} ] ], "css3-modsel-9.xml": [ - "e7eeba381c8cd44505aea6b26d05620b6c034e3d", + "3974899ee68762ff752925255f19953d7ca35f35", [ null, {}
diff --git a/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02-ref.html b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02-ref.html new file mode 100644 index 0000000..f1ea314 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02-ref.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<style>*{padding:0;margin:0;border-collapse:collapse;vertical-align:baseline;}</style> +<body> + <table><tbody><tr> + <td>לום</td><td>🇱🇮</td> + </tr></tbody></table> +</body> +
diff --git a/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02.html b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02.html new file mode 100644 index 0000000..d6c92b90 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-flag-emoji-02.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Correct support of emoji flag following rtl run</title> +<style>*{padding:0;margin:0}</style> +<link rel="help" href="https://drafts.csswg.org/css-writing-modes/#text-direction"> +<link rel="match" href="bidi-flag-emoji-02-ref.html"> + +<body>לום🇱🇮</body> +
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/background-blending/background-blend-mode-gradient-image.html b/third_party/blink/web_tests/external/wpt/css/compositing/background-blending/background-blend-mode-gradient-image.html index 3707748..986fcda9 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/background-blending/background-blend-mode-gradient-image.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/background-blending/background-blend-mode-gradient-image.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="reviewer" title="Rik Cabanier" href="mailto:cabanier@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#background-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that setting background-blend-mode property for an element with two background layers (a gradient and a png image) results in blending between the two layers."> <link rel="match" href="reference/background-blend-mode-gradient-image-ref.html"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-interposed.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-interposed.html index 765467c..6662547 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-interposed.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-interposed.html
@@ -8,7 +8,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an element with mix-blend-mode having a child blends with the parent element."> - <meta name="flags" content=""/> <link rel="match" href="reference/green-square.html"> <style type="text/css"> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html index 482f91d1a..147b148 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-hidden-and-border-radius.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element having mix-blend-mode, overflow:hidden and border-radius blends correctly with its parent element."> <link rel="match" href="reference/mix-blend-mode-blended-element-overflow-hidden-and-border-radius-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-scroll.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-scroll.html index 238e6e0..8952b394 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-scroll.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-overflow-scroll.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element with mix-blend-mode and overflow:scroll blends with its parent element"> <link rel="match" href="reference/mix-blend-mode-blended-element-overflow-scroll-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html index 3d980d2..6fd3a8b 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html
@@ -11,7 +11,6 @@ <meta name="assert" content="Test checks that blending is performed with a parent that creates a stacking context, but not with any of its underlying content. The element, including its children, must blend with the parent as a whole."> - <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-blended-element-with-transparent-pixels-ref.html"> <style type="text/css"> .parent {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-3D-transform.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-3D-transform.html index acd5a40..4b4cf81 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-3D-transform.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-3D-transform.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that the element with mix-blend-mode and 3D transform blends correctly with its parent"> <link rel="match" href="reference/mix-blend-mode-blended-with-3D-transform-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-transform-and-perspective.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-transform-and-perspective.html index 9c01694d..46189af 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-transform-and-perspective.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blended-with-transform-and-perspective.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element having mix-blend-mode and perspective blends correctly with its parent"> <link rel="match" href="reference/mix-blend-mode-blended-with-transform-and-perspective-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blending-with-sibling.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blending-with-sibling.html index 8f95c87..80f197c4 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blending-with-sibling.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-blending-with-sibling.html
@@ -8,7 +8,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with a sibling element"> - <meta name="flags" content=""/> <link rel="match" href="reference/green-square.html"> <style type="text/css"> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-both-parent-and-blended-with-3D-transform.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-both-parent-and-blended-with-3D-transform.html index c593973b..e388c05 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-both-parent-and-blended-with-3D-transform.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-both-parent-and-blended-with-3D-transform.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that the element with mix-blend-mode blends with the parent element (both with 3D transform)"> <link rel="match" href="reference/mix-blend-mode-both-parent-and-blended-with-3D-transform-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html index 875b64e..6d900540 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that the element with mix-blend-mode, overflow:hidden and border-radius blends correctly with its parent, as well as with the sibling element where they overlap."> <link rel="match" href="reference/mix-blend-mode-intermediate-element-overflow-hidden-and-border-radius-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child-of-blended-element.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child-of-blended-element.html index 418cde3..8096cf7 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child-of-blended-element.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child-of-blended-element.html
@@ -11,7 +11,6 @@ <meta name="assert" content="Test checks that a group consisting of an element with mix-blend-mode and an overflowing child blends as a whole with the underlying stacking context."> - <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-blended-element-with-transparent-pixels-ref.html"> <style type="text/css"> .parent {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child.html index 47042b5..de808ba 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-overflowing-child.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Horia Olaru" href="mailto:olaru@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an overflowing element with mix-blend-mode blends with the parent element."> - <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-overflowing-child-ref.html"> <style type="text/css"> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-hidden-and-border-radius.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-hidden-and-border-radius.html index 0ef8ae3..c735163 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-hidden-and-border-radius.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-hidden-and-border-radius.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element having mix-blend-mode blends with the parent element having overflow:hidden and border-radius"> <link rel="match" href="reference/mix-blend-mode-parent-element-overflow-hidden-and-border-radius-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html index 59989bc9..5b0c2468 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with the parent element with overflow:scroll"> <link rel="match" href="reference/mix-blend-mode-parent-element-overflow-scroll-blended-position-fixed-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll.html index cd7cfce..81c110c 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-element-overflow-scroll.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element with mix-blend-mode blends its parent having overflow:scroll"> <link rel="match" href="reference/mix-blend-mode-parent-element-overflow-scroll-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-3D-transform.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-3D-transform.html index a6864a9..d2175cf 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-3D-transform.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-3D-transform.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with its parent having 3D transform"> <link rel="match" href="reference/mix-blend-mode-parent-with-3D-transform-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-border-radius.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-border-radius.html index 9fc5cad..9c4f918 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-border-radius.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-border-radius.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with the parent element having border-radius."> - <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-parent-with-border-radius-ref.html"> <style type="text/css"> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-text.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-text.html index 06a8c25c..005b936e 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-text.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-parent-with-text.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an element with mix-blend-mode only blends with the contents of a parent that creates a stacking context."> - <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-parent-with-text-ref.html"> <style type="text/css"> .parent {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-sibling-with-3D-transform.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-sibling-with-3D-transform.html index 03c2f36e..a9a9d1b 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-sibling-with-3D-transform.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-sibling-with-3D-transform.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with both parent element and with sibling element having 3D transform"> <link rel="match" href="reference/mix-blend-mode-sibling-with-3D-transform-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-simple.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-simple.html index 367238c..96d303df0 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-simple.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-simple.html
@@ -6,7 +6,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that an element with mix-blend-mode blends with its parent element."> - <meta name="flags" content=""/> <link rel="match" href="reference/green-square.html"> <style type="text/css"> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-001.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-001.html index 6c11653c5..6fc7c21f 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-001.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-001.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="reviewer" title="Rik Cabanier" href="mailto:cabanier@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that the element with mix-blend-mode and opacity blends with the parent element"> <link rel="match" href="reference/mix-blend-mode-stacking-context-001-ref.html"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-creates-isolation.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-creates-isolation.html index 255b9095..79edf0f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-creates-isolation.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-stacking-context-creates-isolation.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="reviewer" title="Rik Cabanier" href="mailto:cabanier@adobe.com"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that properties that cause the creation of stacking context cause a group to be isolated"> <link rel="match" href="reference/mix-blend-mode-stacking-context-creates-isolation-ref.html"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html index fa9fe64..87d7d1e 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html
@@ -8,7 +8,6 @@ <link rel="reviewer" title="Mihai Balan" href="mailto:mibalan@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> <meta name="assert" content="Test checks that a video element blends with an overlapping sibling element with some text inside"> - <meta name="flags" content=""/> <link rel="mismatch" href="reference/mix-blend-mode-video-sibling-notref.html"> <style type="text/css"> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-with-transform-and-preserve-3D.html b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-with-transform-and-preserve-3D.html index 6e351c9..c59835e 100644 --- a/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-with-transform-and-preserve-3D.html +++ b/third_party/blink/web_tests/external/wpt/css/compositing/mix-blend-mode/mix-blend-mode-with-transform-and-preserve-3D.html
@@ -7,7 +7,6 @@ <link rel="author" title="Ion Roșca" href="mailto:rosca@adobe.com"> <link rel="reviewer" title="Mihai Țică" href="mailto:mitica@adobe.com"> <link rel="help" href="https://drafts.fxtf.org/compositing-1/#mix-blend-mode"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that mix-blend-mode overrides the behavior of transform-style:preserve-3d"> <link rel="match" href="reference/mix-blend-mode-with-transform-and-preserve-3D-ref.html"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-350.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-350.html index fa63370a..979171f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-350.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-350.html
@@ -17,7 +17,6 @@ --> - <meta content="" name="flags"> <meta content="This test checks that when an element has 'background-attachment: local', then the background image is fixed with regard to what is the element's scrollable area and not to its viewport. In this test, what would be the scrollable area for the div element is where the red square is and such area is clipped due to 'overflow: hidden'." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-353.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-353.html index 5ed0939..ca5a41d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-353.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-353.html
@@ -20,7 +20,6 @@ --> - <meta content="" name="flags"> <meta content="This test checks that when an element has 'background-attachment: local', then the background image is fixed with regard to what is the element's scrollable area and not to its viewport. In this test, what would be the scrollable area for the div#target element is where the red area of its background image 100x100-gr-rr.png is and such area is clipped due to 'overflow: hidden'." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-local-scrolling.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-local-scrolling.htm index cc49fad..c3f85d7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-local-scrolling.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-attachment-local-scrolling.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Scrolling when 'background-attachment: local'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-attachment" /> - <meta name="flags" content="" /> <meta name="assert" content="If 'background-attachment: local' the background scrolls along with the element's contents (the UA may treat 'background-clip: border-box' as the same as 'background-clip: padding-box')." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-002.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-002.html index f9947df..286e482 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-002.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/background-clip-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Background-clip with initial value implies to paint the background within (clipped to) the border box."> <style> #ref-overlapped-red {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-003.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-003.html index 332d657..e8b03bd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-003.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/background-clip-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Background-clip with 'border-box' implies to paint the background within (clipped to) the border box."> <style> #ref-overlapped-red {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-004.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-004.html index ad82e05..d2bf3e00 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-004.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/background-clip-004-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Background-clip with 'padding-box' implies to paint the background within (clipped to) the padding box."> <style> #test-overlapped-red {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-005.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-005.html index 4f3a5e5..426b854 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-005.html
@@ -7,7 +7,6 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/background-clip-005-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Background-clip with 'content-box' implies to paint the background within (clipped to) the content box."> <style> #test-overlapped-red {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-006.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-006.html index c5b57dd6..643865a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-006.html
@@ -17,7 +17,6 @@ 2.2. Value Types http://www.w3.org/TR/css3-background/#value-types --> - <meta name="flags" content=""> <meta name="assert" content="Background-clip with 'inherit' implies to inherit its parent element value to paint the background area."> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-007.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-007.html index 2566e70d..09596b2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-007.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <link rel="reviewer" title="Arron Eicholz" href="mailto:arronei@microsoft.com" /> <!-- 2012-10-27 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip"> - <meta name="flags" content=""> <meta name="assert" content="When 'background-clip' is set to 'content-box', then the background-color shines only through the content area; it does not shine through the padding area nor the border area."> <link rel="match" href="reference/ref-if-there-is-no-red.xht"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-008.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-008.html index 6b50b002..5994edf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-008.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-04-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> - <meta name="flags" content=""> <meta name="assert" content="When 'background-clip' is set to 'padding-box', then the background painting area is clipped at the edges of the padding of the element. In this test, the padding box is 0px tall and as wide as the body element; therefore, red should not be visible."> <link rel="match" href="reference/ref-if-there-is-no-red.xht"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-009.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-009.html index 31dae465..d2dae10 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-009.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-04-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> - <meta name="flags" content=""> <meta content="When 'background-clip' is set to 'border-box', then the background painting area is clipped at the edges of the borders of the element. In this test, the border box is 96px tall and 96px wide and is made from only the borders." name="assert"> <link rel="match" href="reference/ref-filled-black-96px-square.xht"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-010.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-010.html index 326a97f..856846d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-010.html
@@ -12,7 +12,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/ref-if-there-is-no-red.xht"> - <meta content="" name="flags"> <meta content="When 'background-clip' is set to 'content-box', then the background painting area is clipped at the edges of the content of the element. In this test, height is 'auto', therefore its used value is '0px'; width is 'auto', therefore its used value is as wide as the body element. So, the content box is 0px tall and as wide as the body element; therefore, red should not be visible." name="assert"> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-padding-box-with-border-radius.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-padding-box-with-border-radius.html index 7e64fbd..ee98dab 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-padding-box-with-border-radius.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-clip-padding-box-with-border-radius.html
@@ -7,7 +7,6 @@ <link rel="author" title="Lea Verou" href="http://lea.verou.me" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#corner-shaping" /> -<meta name="flags" content="" /> <meta name="assert" content="Backgrounds clipped to the padding box should follow the padding box curve, which should be equal to the outer border radius minus the corresponding border thickness." /> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-applied-to-rounded-inline-element.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-applied-to-rounded-inline-element.htm index 22bac69..8199a45 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-applied-to-rounded-inline-element.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-applied-to-rounded-inline-element.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Background-color' applied to a rounded inline element</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#background-color" /> - <meta name="flags" content="" /> <meta name="assert" content="'Background-color' is clipped according to the 'background-clip' property in an inline element." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-border-box.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-border-box.htm index 02185ba3..c22aff64 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-border-box.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-color-border-box.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Background color clipped to 'border-box'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-color" /> - <meta name="flags" content="" /> <meta name="assert" content="Background color is clipped according to the 'background-clip' value associated with the bottom-most background image." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-origin-008.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-origin-008.html index 39974f52..a4d7e993 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-origin-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-origin-008.html
@@ -18,7 +18,6 @@ http://www.w3.org/TR/css3-background/#value-types --> - <meta name="flags" content=""> <meta name="assert" content="Background-origin with 'inherit' implies to inherit its parent element value to position the background area."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-paint-order-001.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-paint-order-001.html index af0efd9..cf567ff9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-paint-order-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-paint-order-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@webkit.org"> <link rel="reviewer" title="Arron Eicholz" href="mailto:arronei@microsoft.com" /> <!-- 2012-10-27 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip"> - <meta name="flags" content=""> <meta name="assert" content="The background is painted behind the border."> <link rel="match" href="reference/background-paint-order-001-ref.html"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-repeat-space-padding-box.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-repeat-space-padding-box.htm index e9e9bd2..c375c22 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-repeat-space-padding-box.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-repeat-space-padding-box.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Background-repeat: space' when background positioning area is 'padding-box'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-repeat" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'background-repeat: space' and background positioning area is set to 'padding-box' the image is repeated as often within the 'padding-box' without being clipped, the images are spaced out to fill the area and the first and last images touch the edges of the 'padding-box'." /> <style type="text/css"> #reference
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-003.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-003.html index 25f8cc7..dc77ce8c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-003.html
@@ -4,7 +4,6 @@ <title>CSS Test: Value of 'auto' is used for y dimension in 'background-size'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" /> - <meta name="flags" content="" /> <meta name="assert" content="An 'auto' value for y dimension in 'background-size' is resolved by using the image's intrinsic ratio and the size provided for the x dimension." /> <style type="text/css"> .test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-041.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-041.html index 6eb8e59..89a52102 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-041.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-041.html
@@ -27,7 +27,6 @@ <link rel="match" href="reference/background-size-041-ref.html"> - <meta content="" name="flags"> <meta content="This test checks that when one 'background-size' is 'auto' and the image has no intrinsic size and no intrinsic ratio, then it should use 100%. In this test, the 'auto' value should use 100% of the height of the background positioning area of the div, which is 400px." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-042.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-042.html index 383bc53..9e1e041 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-042.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-042.html
@@ -27,7 +27,6 @@ <link rel="match" href="reference/background-size-041-ref.html"> - <meta content="" name="flags"> <meta content="This test checks that when one 'background-size' is 'auto' and the image has no intrinsic size and no intrinsic ratio, then it should use 100%. In this test, the 'auto' value should use 100% of the height of the background positioning area of the div, which is 400px." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-043.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-043.html index 35b691a..e641926 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-043.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-043.html
@@ -27,7 +27,6 @@ <link rel="match" href="reference/background-size-043-ref.html"> - <meta content="" name="flags"> <meta content="This test checks that when one 'background-size' is 'auto' and the image has no intrinsic size and no intrinsic ratio, then it should use 100%. In this test, the 'auto' value should use 100% of the height of the background positioning area of the div, which is 400px." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-044.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-044.html index ac2ef2a..67f032c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-044.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-044.html
@@ -27,7 +27,6 @@ <link rel="match" href="reference/background-size-043-ref.html"> - <meta content="" name="flags"> <meta content="This test checks that when one 'background-size' is 'auto' and the image has no intrinsic size and no intrinsic ratio, then it should use 100%. In this test, the 'auto' value should use 100% of the height of the background positioning area of the div, which is 400px." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-applies-to-block.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-applies-to-block.htm index b1273ef3..ea071540 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-applies-to-block.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-applies-to-block.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Background-size' applied to element with a display of 'block'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" /> - <meta name="flags" content="" /> <meta name="assert" content="'Background-size' property applies to elements with 'display: block'." /> <style type="text/css"> span
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-aspect-ratio.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-aspect-ratio.htm index 0f29737..1778acc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-aspect-ratio.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background-size-aspect-ratio.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Original aspect ratio of image is maintained when 'background-size: auto' and 'background-repeat: round'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" /> - <meta name="flags" content="" /> <meta name="assert" content="If 'background-repeat' is 'round' for one dimension only and if 'background-size' is 'auto' in the other dimension, then the other dimension is sclaed so that the original aspect ratio is restored." /> <style type="text/css"> .reference
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_color_padding_box.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_color_padding_box.htm index 2e997c0..c8372fa 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_color_padding_box.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_color_padding_box.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Background color clipped to 'padding-box'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-color" /> - <meta name="flags" content="" /> <meta name="assert" content="Background color is clipped according to the 'background-clip' value associated with the bottom-most background image." /> <style type="text/css"> div div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_properties_greater_than_images.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_properties_greater_than_images.htm index 18e9cb9b..3fde022c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_properties_greater_than_images.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_properties_greater_than_images.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Number of background properties greater than number of background images</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#layering" /> - <meta name="flags" content="" /> <meta name="assert" content="If the background properties values are greater than the number of background images, then the excess values are ignored." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_border_box.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_border_box.htm index cc25517..167c699 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_border_box.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_border_box.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Background-repeat: space' when background positioning area is 'border-box'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-repeat" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'background-repeat: space' and background positioning area is set to 'border-box' the image is repeated as often within the 'border-box' without being clipped, the images are spaced out to fill the area and the first and last images touch the edges of the 'border-box'." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_content_box.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_content_box.htm index 60bafac..b87bb9c2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_content_box.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/background_repeat_space_content_box.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Background-repeat: space' when background positioning area is 'content-box'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-repeat" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'background-repeat: space' and background positioning area is set to 'content-box' the image is repeated as often within the 'content-box' without being clipped, the images are spaced out to fill the area and the first and last images touch the edges of the 'content-box'." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-001.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-001.xht index 2f55928d..25bfd04 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-001.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify the border-bottom-left-radius property, when set with 0, works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-002.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-002.xht index 5522722..f84a3c6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-002.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify if border-bottom-left-radius property set to one length value, works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-010.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-010.xht index 3e7a178..9a4c0ec 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-010.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-left-radius property set to one length value, works fine" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-011.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-011.xht index dfe6e66..3f01535 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-011.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-left-radius property set to one length value, works fine" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-012.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-012.xht index 7ea8b84..9d837d2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-012.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-left-radius property set to two length values (with diferent units), works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-013.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-013.xht index 19bca25..92bbbde 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-013.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-013.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-left-radius property set to two length values (with different units), works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-014.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-014.xht index a225325..dd2ba26 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-014.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-left-radius-014.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify if one length value is negative in border-bottom-left-radius, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-001.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-001.xht index 378f23f5..66ec3ed1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-001.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property, when set with 0, works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-002.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-002.xht index ef6fb22..4dc3236e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-002.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property set with one length value, works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-010.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-010.xht index 76676f8..7d7261e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-010.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property set with one length value, works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-011.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-011.xht index 5ab394d..9ad97820 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-011.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property set with one length value, works as expected"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-012.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-012.xht index 40eb2ec..9aff2e9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-012.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property set with two values (with different units), works as expected" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-013.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-013.xht index 8be2450..19f270e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-013.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-013.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify border-bottom-right-radius property set with two values (with different units), works fine" /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-014.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-014.xht index 5263260..0a2eec7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-014.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-bottom-right-radius-014.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius" /> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify if one length value is negative in border-bottom-right-radius, then the corner is not rounded." /> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-001.htm index c767533d..26fda73 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-001.htm
@@ -10,7 +10,6 @@ --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-image"> <link rel="match" href="reference/border-image-shorthand-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="This test checks that setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat' properties in the shorthand notation produces the same border image as setting individual properties with the same values."> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-002.htm index 918d729..9f47f77 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-002.htm
@@ -10,7 +10,6 @@ --> <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-image"> <link rel="match" href="reference/border-image-shorthand-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="This test checks that the omitted 'border-image-outset' value in the shorthand property is set to the initial value."> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-003.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-003.htm index 1762966..718c3a2b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-003.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-shorthand-003.htm
@@ -10,7 +10,6 @@ --> <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-image"> <link rel="match" href="reference/border-image-shorthand-003-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="This test checks that the omitted 'border-image-width' value in shorthand property is set to the initial value."> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-005.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-005.htm index e85c1a14..9993ccd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-005.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-005.htm
@@ -10,7 +10,6 @@ --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-image-slice"> <link rel="match" href="reference/border-image-slice-005-ref.html"> - <meta name="flags" content=""> <meta name="fuzzy" content="0-35;0-1250"> <meta name="assert" content="This test checks that the border image is sliced into nine regions with inward offsets, '40%' from the top, '30%' from the right,'20%' from the bottom, and '10%' from the left edges of the image. Percentages are relative to the size of the image: the width of the image for the horizontal offsets, the height for vertical offsets."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-007.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-007.htm index 0243b8e..7666444 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-007.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-slice-007.htm
@@ -10,7 +10,6 @@ --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-image-slice"> <link rel="match" href="reference/border-image-slice-007-ref.html"> - <meta name="flags" content=""> <meta name="fuzzy" content="0-35;0-1250"> <meta name="assert" content="This test checks that the 'fill' keyword, if present, causes the middle part of the border-image to be preserved."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-space-001.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-space-001.html index 8794d37..1153f9d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-space-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-image-space-001.html
@@ -5,7 +5,6 @@ <title>CSS Test: Border Image: box with spaced repeating border image</title> <link rel="author" title="Levi Weintraub" href="mailto:leviw@chromium.org"> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-image-repeat"> - <meta name="flags" content=""> <meta name="assert" content="border-image-repeat: space property spaces out background image that doesn't fit an even number of times."> <link rel="match" href="reference/border-image-space-001-ref.html"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-001.htm index d494e01a..88def48 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to inline</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: inline' it produces rounded corners." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-002.htm index 428c376..46deb29 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-002.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with a display of 'block'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: block' it produces rounded corners." /> <style type="text/css"> span
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-003.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-003.htm index 12f4e3a..d2502e3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-003.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-003.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to list-item.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: list-item' it produces rounded corners." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-004.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-004.htm index 443983a..03af4987 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-004.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-004.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to run-in.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: run-in' it produces rounded corners." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-005.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-005.htm index 8969a92..7c56642 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-005.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-005.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to inline-block.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: inline-block' it produces rounded corners." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-006.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-006.htm index b19bc4a..468aa839 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-006.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-006.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to 'table'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: table' it produces rounded corners." /> <style type="text/css"> #table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-007.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-007.htm index 10788757..3d9d2f3a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-007.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-007.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to 'table-caption'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: table-caption' it produces rounded corners." /> <style type="text/css"> #caption
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-008.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-008.htm index 83ec9db..6e8a85c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-008.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-008.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to 'table-cell'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: table-cell' it produces rounded corners." /> <style type="text/css"> #table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-009.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-009.htm index da31b765..4659570a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-009.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-009.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored when in element with 'display' set to 'table-row' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should be ignored when in element with 'display' set to 'table-row' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-010.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-010.htm index 97fb3f0..da547db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-010.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-010.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with a display of 'none'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' property is applied to elements with a display of 'none' then it continues to not have a layout." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-011.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-011.htm index 103a66b..5b33a00 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-011.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-011.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with a display of 'inline-table'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: inline-table' it produces rounded corners." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-012.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-012.htm index 89300104..0a7efb2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-012.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-012.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored in element with 'display' set to 'table-column' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should not produce rounded corners when applied to an element with 'display' set to 'table-column' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-013.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-013.htm index 93a4a097..d75716a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-013.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-013.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored in element with 'display' set to 'table-row-group' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should not produce rounded corners when applied to an element with 'display' set to 'table-row-group' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-014.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-014.htm index aad00132..985c29f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-014.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-014.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored in element with 'display' set to 'table-header-group' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should not produce rounded corners when applied to an element with 'display' set to 'table-header-group' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-015.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-015.htm index b384ad43..4a77ba16 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-015.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-015.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored in element with 'display' set to 'table-footer-group' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should not produce rounded corners when applied to an element with 'display' set to 'table-footer-group' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-016.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-016.htm index 15a62d6..7584799 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-016.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-016.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' should be ignored in element with 'display' set to 'table-column-group' when 'border-collapse: collapse'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' should not produce rounded corners when applied to an element with 'display' set to 'table-column-group' when 'border-collapse: collapse'." /> <style type="text/css"> #test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-017.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-017.htm index 2e10d12..6c90be6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-017.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-applies-to-017.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' applied to element with 'display' set to 'inherit'.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to an element with 'displaye: inherit' it produces rounded corners." /> <style type="text/css"> div div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-content-edge-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-content-edge-001.htm index 72cd3a6..fffdec8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-content-edge-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-content-edge-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' set to 'img'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="The content of replaced element 'img' is trimmed to the content edge curve of a rounded corner." /> <style type="text/css"> img
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-different-width-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-different-width-001.htm index ceb41be..51bfe5a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-different-width-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-different-width-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Adjoining borders with different thicknesses show a smooth transition between the thicker and the thinner borders.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When 'border-radius' is applied to two adjoining sides with different thicknesses the border shows a smooth transition between the thicker and the thinner sides." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-initial-value-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-initial-value-001.htm index 2d948b40..9716a23 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-initial-value-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-initial-value-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Initial value of 'border-radius' is 0</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="Initial value of 'border-radius' is 0." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-not-inherited-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-not-inherited-001.htm index d10f761..5bda6f3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-not-inherited-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-not-inherited-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is not inherited by default</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' is not inherited by default." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-overflow-hidden.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-overflow-hidden.html index 051eb1a..b597f33 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-overflow-hidden.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-overflow-hidden.html
@@ -7,7 +7,6 @@ <title>CSS Backgrounds and Borders Test: Clipping to the border-radius curve</title> <link rel="author" title="Lea Verou" href="http://lea.verou.me" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#corner-clipping" /> -<meta name="flags" content="" /> <meta name="assert" content="Effects that clip to the border or padding edge (such as 'overflow' other than 'visible') must clip to the curve" /> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-001.htm index e1bd987e..134df400 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' shorthand is used to set all four 'border-[*]-radius' properties.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-radius' shorthand sets all four 'border-[*]-radius' properties." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-002.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-002.html index afaa9f91..8191cf4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-shorthand-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Arno" href="mailto:arno@arno.org"> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"> <link rel="match" href="border-radius-shorthand-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="The shorthand border radius property can be used to specify all four eliptical corners of a box."> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-001.htm index 92230f5..9bf4498 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is set with 'border-style: dotted'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-color" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-style: dotted' follows the curve of the border." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-002.htm index bdfd6a9..8c1e206 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-002.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is set with 'border-style: dashed'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-style" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-style: dashed' follows the curve of the border." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-003.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-003.htm index 3d28235..a000c9b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-003.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-003.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is set with 'border-style: double'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-style" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-style: double' follows the curve of the border." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-004.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-004.htm index 342ddee..0b0582b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-004.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-004.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is set with 'border-style: solid'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-style" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-style: solid' follows the curve of the border." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-005.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-005.htm index d16285a..66c7ac1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-005.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-style-005.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' is set with 'border-style: none'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-style" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-style: none' follows the curve of the border." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-001.htm index 005a8201..e829a5a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Different variations on the sum of border-radius for adjacent corners</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="If the sum of any two adjacent corner radii exceeds the size of the border box, all the corner radii are reduced proportionally until none of them overlap." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-002.htm index 2f8e2ec..74e30c4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-sum-of-radii-002.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Different variations on the value of 'f'</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="When the value of 'f' is less than 1, then all corner radii are reduced by multiplying them with 'f'." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-three-values-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-three-values-001.htm index ffeedaf..b227b0a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-three-values-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-three-values-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' property with three values</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="If bottom-left radius is omitted in the 'border-radius' property then the bottom-left radius is the same as the top-right radius." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-two-values-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-two-values-001.htm index ba3c2fb..d88d404 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-two-values-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-radius-with-two-values-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-radius' property with two values</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="If bottom-right radius is omitted in the 'border-radius' property then the bottom-right radius is the same as the top-left radius." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-001.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-001.xht index cce96541..0346518 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-001.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify if the border-top-left-radius property, when set with 0, works as expected."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-002.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-002.xht index 58f265e..2278fbf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-002.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-left-radius property set to one length value, works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-010.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-010.xht index 61b55e1..9d4afb32 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-010.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if either length is 0, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-011.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-011.xht index 48269bb5..2fd9eba 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-011.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if either length is 0, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-012.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-012.xht index cba9589..44e5a0661 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-012.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-left-radius property set to two length values (with different units), works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-013.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-013.xht index 5b6f23d..c5c65de 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-013.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-013.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-left-radius property set to two length values (with different units), works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-014.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-014.xht index 9822c46..8df8f12 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-014.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-014.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if one length value is negative in border-top-left-radius, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-001.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-001.htm index 3398e6d..08407ed 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-001.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-001.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-top-left-radius' with two values.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="The first value of the 'border-top-left-radius' is the horizontal radius of the rounded corner and the second value is its vertical radius." /> <style type="text/css"> body
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-002.htm index 6e1bce86..fb850d3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-002.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-top-left-radius' with one value.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="'Border-top-left-radius' with an omitted second value has the vertical radius of the rounded corner equal to its horizontal radius." /> <style type="text/css"> #reference
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-003.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-003.htm index cbd41e7..137fd3ad4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-003.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-003.htm
@@ -4,7 +4,6 @@ <title>CSS Test: 'Border-top-left-radius' with one value as 0.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="If either value of 'border-top-left-radius' is 0 then the corner is a square." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-004.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-004.htm index aba87be..f08c3d3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-004.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-left-radius-values-004.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Percentage for the horizontal radius of 'border-top-left-radius' refers to the width of the border box.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="Percentage for the horizontal radius of 'border-top-left-radius' refers to the width of the border box." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-001.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-001.xht index 1fbfa1d..30091f3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-001.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="To verify if the border-top-right-radius property, when set with 0, works as expected"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-002.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-002.xht index faaf86b..b78024d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-002.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-right-radius property set to one length value, works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-010.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-010.xht index 5f2d5e5..8c540304 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-010.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if either length is 0, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-011.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-011.xht index 6c562e5..e59567e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-011.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if either length is 0, then the corner is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-012.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-012.xht index 548a76e..75689f6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-012.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-right-radius property sets to two length values (with different units), works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-013.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-013.xht index b7c141b..77ade56 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-013.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-013.xht
@@ -7,7 +7,6 @@ <meta http-equiv="Content-Script-Type" content="text/javascript"/> <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> - <meta name="flags" content=""/> <meta name="assert" content="To verify border-top-right-radius property sets to two length values (with different units), works fine"/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-014.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-014.xht index 0a7abee2..ad16042 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-014.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-014.xht
@@ -8,7 +8,6 @@ <link rel="author" title="Nokia" href="http://www.nokia.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"/> <link rel="match" href="border-radius-001-ref.xht" /> - <meta name="flags" content=""/> <meta name="assert" content="To verify if one length value is negative for border-top-right-radius, then the element is not rounded."/> <style type="text/css"> /* <![CDATA[ */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-values-004.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-values-004.htm index 18bb95d..bd2bf51 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-values-004.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/border-top-right-radius-values-004.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Percentage for the vertical radius of 'border-top-right-radius' refers to the height of the border box.</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#border-radius" /> - <meta name="flags" content="" /> <meta name="assert" content="Percentage for the vertical radius of 'border-top-right-radius' refers to the height of the border box." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-002.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-002.htm index 5b04e853..aab6d828 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-002.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-002.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Positive values for spread distance</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow" /> - <meta name="flags" content="" /> <meta name="assert" content="Positive values of the spread distance cause the shadow to grow in all directions by the specified distance." /> <style type="text/css"> #reference
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-003.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-003.htm index b3574c4..41d411bba 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-003.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-003.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Layering of box shadows</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" /> - <meta name="flags" content="" /> <meta name="assert" content="Shadow effects are applied front to back, where the first shadow is on the top and the last shadow is on the bottom." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-004.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-004.htm index 5f0488fc..2f8d0734 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-004.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-004.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Negative value for blur radius</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow" /> - <meta name="flags" content="" /> <meta name="assert" content="Negative values for the blur radius of the 'box-shadow' are not allowed." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-029.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-029.html index aa0fbfd6..9592c8af 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-029.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-029.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta content="" name="flags"> <meta content="This test checks that an empty box can have a box shadow." name="assert"> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-039.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-039.html index c3badbc..614078d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-039.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-039.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow"> <link rel="match" href="reference/box-shadow-039-ref.html"> - <meta content="" name="flags"> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-040.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-040.html index dea5d5bf..e406acc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-040.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-040.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow"> <link rel="match" href="reference/box-shadow-040-ref.html"> - <meta content="" name="flags"> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-041.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-041.html index 907ca82..f91189bc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-041.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-041.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow"> <link rel="match" href="reference/box-shadow-041-ref.html"> - <meta content="" name="flags"> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-042.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-042.html index ec9212e..0e53b364 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-042.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-042.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#the-box-shadow"> <link rel="match" href="reference/box-shadow-042-ref.html"> - <meta content="" name="flags"> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html index a1ea7cd4..2c77838 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-001.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/box-shadow-overlapping-001-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> - <meta content="" name="flags"> <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('PED') is before a left outer box-shadow box and such left outer box-shadow box is wide and wide enough to overlap the text 'PED'." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html index e00e0e0..60659721f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-002.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/box-shadow-overlapping-001-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> - <meta content="" name="flags"> <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('PNG') follows a right outer box shadow and therefore overlaps such shadow." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html index 7271629..dcae3f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-003.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/box-shadow-overlapping-003-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> - <meta content="" name="flags"> <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. In this test, the text ('OVLPED') is from a previous line box and is overlapped by a top outer box shadow box that is tall enough to overlap it entirely." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html index 6c6a9d7f..97b690b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-overlapping-004.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/box-shadow-overlapping-003-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> - <meta content="" name="flags"> <meta content="Box shadows do not affect layout. Box shadows take up no space. Box shadows do not affect or influence normal flow of boxes. Therefore, box shadows can 'collide' with other boxes and can overlap other boxes (inline box or line box) or be overlapped by other boxes. This test checks that the background of the following line box overlaps the box-shadow of an inline non-replaced box whose box-shadow expands onto and over the following line box. In this test, the box shadow of div#outer-box-shadow is red and protudes out and below onto the following line box. But since the glyphs of div#following-line-box are green, then such green color will overlap the red box shadow of div#outer-box-shadow." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-table-border-collapse-001.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-table-border-collapse-001.html index a4413ee9..c6c50b73 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-table-border-collapse-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow-table-border-collapse-001.html
@@ -22,7 +22,6 @@ --> - <meta content="" name="flags"> <meta content="This test checks that 'box-shadow' applies to table element with 'border-collapse' set to 'collapse' as long as row borders do not have different border thicknesses. In this test, the left border of both table rows have the same thickness (30px) and the right border of both table rows have the same thickness (30px)." name="assert"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht index ab6116c..e6ae0a2e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/" /> <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow"/> - <meta name="flags" content="" /> <meta name="assert" content="the resulting shadow must approximate (with each pixel being within 5% of its expected value) the image that would be generated by applying to the shadow a Gaussian blur with a standard deviation equal to half the blur radius" /> <style type="text/css"> div.stripecontainer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/color-behind-images.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/color-behind-images.htm index 170380a..d21da64 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/color-behind-images.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/color-behind-images.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Background color is drawn behind images</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-color" /> - <meta name="flags" content="" /> <meta name="assert" content="Background color is drawn behind any number of background images." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/none-as-image-layer.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/none-as-image-layer.htm index eeac7b1..5814e070 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/none-as-image-layer.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/none-as-image-layer.htm
@@ -4,7 +4,6 @@ <title>CSS Test: None counts as an image layer</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-image" /> - <meta name="flags" content="" /> <meta name="assert" content="'Background-image: none' counts as an image layer but draws nothing." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/order-of-images.htm b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/order-of-images.htm index 5ed79415..3ae03636 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/order-of-images.htm +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/order-of-images.htm
@@ -4,7 +4,6 @@ <title>CSS Test: Order of images</title> <link rel="author" title="Microsoft" href="http://www.microsoft.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-image" /> - <meta name="flags" content="" /> <meta name="assert" content="Background images are listed in order, with the first image being rendered on top of all the other images, and so on." /> <style type="text/css"> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/background-paint-order-001-ref.html b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/background-paint-order-001-ref.html index 8be4ce2..5783dfe 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/background-paint-order-001-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-backgrounds/reference/background-paint-order-001-ref.html
@@ -4,7 +4,6 @@ <title>CSS Test: Background clip and border painting order</title> <link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@webkit.org"> <link rel="reviewer" title="Arron Eicholz" href="mailto:arronei@microsoft.com" /> <!-- 2012-10-27 --> - <meta name="flags" content=""> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-001.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-001.html index eb453ee..d3b3af6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-001.html
@@ -23,7 +23,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be adjusted and fragmented in accordance with the 'widows' declaration. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point is allowed and should occur before the last line box of the 2nd column box and after the next-to-last line box of the 2nd column box so that there is a minimum of 2 line boxes at the top of the 3rd column box."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-001.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-001.html index 8da27f0..b21146d1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-break/#widows-orphans"> <link rel="match" href="reference/widows-orphans-001-ref.html"> <meta name="assert" content="The widows property has no effect on block container boxes that contains only block-level boxes."> -<meta name="flags" content=""> <style> div p { margin: 0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-002.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-002.html index cf9afe7..d13cc84 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-002.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-break/#widows-orphans"> <link rel="match" href="reference/widows-orphans-001-ref.html"> <meta name="assert" content="The widows property affects block containers that establish an inline formatting context"> -<meta name="flags" content=""> <style> div p { margin: 0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-003.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-003.html index 31114840..ed7bee47 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-003.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-break/#widows-orphans"> <link rel="match" href="reference/widows-orphans-001-ref.html"> <meta name="assert" content="The orphans property has no effect on block container boxes that contains only block-level boxes."> -<meta name="flags" content=""> <style> div p { margin: 0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-004.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-004.html index 3e226d9..1507086 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-004.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-break/#widows-orphans"> <link rel="match" href="reference/widows-orphans-001-ref.html"> <meta name="assert" content="The orphans property affects block containers that establish an inline formatting context"> -<meta name="flags" content=""> <style> div p { margin: 0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-008.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-008.html index 8726e35a..02fdb133 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-008.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '6' and the '7' so that there is a minimum of 3 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-009.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-009.html index 2c1fc1b..8b71d5a7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-009.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '7' and the '8' so that there is a minimum of 2 line boxes at the top of the 3rd column box. In doing so, the 'orphans: 2' declaration is still honored."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-010.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-010.html index 96de985..99a76921 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-010.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '6' and the '7' so that there is a minimum of 3 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-011.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-011.html index 489e2684..c3741a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-011.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 2 line boxes, then a class B break point should occur between '8' and the '9' so that there is a minimum of 6 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-012.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-012.html index d209cde..f24f8cb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-012.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 3 line boxes, then a class B break point should occur between the '12' and the '13' so that there is a minimum of 7 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-013.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-013.html index 68e0d41..c9eae43 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-013.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-013.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '15' and the '16' so that there is a minimum of 4 line boxes at the top of the 3rd column box. In doing so, the 'orphans: 6' declaration is still honored."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-014.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-014.html index 87a9b877..96cccec 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-014.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-014.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '7' and the '8' so that there is a minimum of 3 line boxes at the top of the 3rd column box. In doing so, the 'orphans: 7' declaration is still honored."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-015.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-015.html index 269279f..054490a7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-015.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-015.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="This test checks that 'widows' applies to multi-column containers and that the initial value of 'widows' is '2'. When an UA succeeds at applying 'widows', then there is 2 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-016.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-016.html index 4499a57..e9597ac 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-016.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-016.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In the test, since the 3rd column box was going to get only 1 line box, then a class B break point should occur between the '7' and the '8' so that there is a minimum of 2 line boxes at the top of the 3rd column box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-017.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-017.html index bbdbbbbb..2bc99b81 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-017.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-017.html
@@ -13,7 +13,6 @@ Last modified: December 6th 2020 --> - <meta name="flags" content=""> <meta name="assert" content="If a multi-column container fills column boxes sequentially and its 'height' is 'auto', then soft breaks are inoperative since content can not overflow the fragmentainer. Therefore, in this test, the 'orphans' and 'widows' requirements can not be honored."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-018.html b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-018.html index 80699c6..3ffd3db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-018.html +++ b/third_party/blink/web_tests/external/wpt/css/css-break/widows-orphans-018.html
@@ -20,7 +20,6 @@ --> - <meta name="flags" content=""> <meta name="assert" content="When column boxes are filled sequentially, their content should be distributed and fragmented in accordance with the 'orphans' and the 'widows' declarations. In this test, the 3rd column box is going to get only 1 line box which is insufficient to honor 'widows: 3'. If a class B break point would occur between the '6' and the '7' so that 3 line boxes would be at the top of the 3rd column box, then this would leave only 2 line boxes in the 2nd column box and this would violate the 'orphans: 3' constraint. For that reason, a class B break must not happen in the 2nd column between the '6' and the '7'. On the other hand, a class B break can occur between the '7' and the '8' in the 2nd column box and doing so does not violate the 'orphans: 3' constraint."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-001.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-001.html index 2fe110f..9c07dfe1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/css-cascade-3/#all-shorthand"> <link rel="help" href="http://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="all-prop-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test passes if 'all' resets properties other than 'direction' and 'unicode-bidi'."> <style> .test {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-002.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-002.html index f68b7c04..1e5b450c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-cascade-3/#all-shorthand"> <link rel="help" href="http://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="all:inherit should cause display:inherit so the red divs will display inline/horizontal (like their parent span) rather than block/vertical (like the default UA style for a div)."> <style> .inline {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-inherit-color.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-inherit-color.html index bd2503d5..6cd8425 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-inherit-color.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-inherit-color.html
@@ -5,7 +5,6 @@ <title>CSS Cascade: "color" property preceded by "all: initial"</title> <link rel="help" href="https://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="reference/ref-green-text.html"> - <meta name="flags" content=""> <meta name="assert" content="Own 'color', preceded by 'all: inherit', overrides inherited 'color'."> <style> .outer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-initial-color.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-initial-color.html index beccbf64..83a78bd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-initial-color.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-initial-color.html
@@ -5,7 +5,6 @@ <title>CSS Cascade: "color" property preceded by "all: initial"</title> <link rel="help" href="https://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="reference/ref-green-text.html"> - <meta name="flags" content=""> <meta name="assert" content="Own 'color', preceded by 'all: initial', overrides inherited 'color'."> <style> .outer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-revert-color.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-revert-color.html index 3ac55cb..786bd08 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-revert-color.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-revert-color.html
@@ -5,7 +5,6 @@ <title>CSS Cascade: "color" property preceded by "all: revert"</title> <link rel="help" href="https://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="reference/ref-green-text.html"> - <meta name="flags" content=""> <meta name="assert" content="Own 'color', preceded by 'all: revert', overrides inherited 'color'."> <style> .outer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-unset-color.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-unset-color.html index 6bd59a6..457901f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-unset-color.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/all-prop-unset-color.html
@@ -5,7 +5,6 @@ <title>CSS Cascade: "color" property preceded by "all: unset"</title> <link rel="help" href="https://www.w3.org/TR/css-cascade-4/#all-shorthand"> <link rel="match" href="reference/ref-green-text.html"> - <meta name="flags" content=""> <meta name="assert" content="Own 'color', preceded by 'all: unset', overrides inherited 'color'."> <style> .outer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/important-prop.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/important-prop.html index cf964077..e8abffd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/important-prop.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/important-prop.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://drafts.csswg.org/css-cascade/#importance"> <link rel="match" href="important-prop-ref.html"> <meta name="assert" content="Test passes if normal rules are overridden by animations, important rules override animations, and !important declarations are ignored in animations."> - <meta name="flags" content=""> <style> @keyframes override { from, to {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/initial-color-background-001.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/initial-color-background-001.html index 15a1cf5..50e1384 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/initial-color-background-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/initial-color-background-001.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-cascade-3/#initial"> <link rel="help" href="http://www.w3.org/TR/css-cascade-4/#initial"> <link rel="match" href="initial-color-background-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="initial is not the same as inherit. color:initial results in non-red. background-color:initial results in transparent."> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/revert-val-001.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/revert-val-001.html index a346267..b3d79d9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/revert-val-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/revert-val-001.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/css-cascade-4/#default"> <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3"> <link rel="match" href="reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="On a <div>, display:revert should compute to display:block per the default styles for <div>s in the UA stylesheet."> <style> #outer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-001.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-001.html index a3d60947..857cb5d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/css-cascade-3/#inherit-initial"> <link rel="help" href="http://www.w3.org/TR/css-cascade-4/#inherit-initial"> <link rel="match" href="reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="color:unset is the same as color:inherit since color is an inherited property. background-color:unset is the same as background-color:initial since background-color is a non-inherited property."> <style> .square {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-002.html b/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-002.html index e68417f..61f941a0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-cascade/unset-val-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-cascade-3/#inherit-initial"> <link rel="help" href="http://www.w3.org/TR/css-cascade-4/#inherit-initial"> <link rel="match" href="reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="display:unset should be the same as display:initial since 'display' is not an inherited property. display:unset should be the same as display:inline since 'inline' is the initial value of 'display'."> <style> .square {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-currentColor-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-currentColor-b.xht index 785a6f6..b4ff486 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-currentColor-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-currentColor-b.xht
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-color/#foreground" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#currentcolor" /> <link rel="match" href="t31-color-currentColor-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="That currentColor on the color property acts like inherit." /> <style type="text/css"><![CDATA[ #one { color: green; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-text-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-text-a.xht index 861d94d..ecc6410c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-text-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t31-color-text-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#foreground" /> <link rel="mismatch" href="t31-color-text-a-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="That color sets the color of the text." /> <style type="text/css"><![CDATA[ #one { color: green; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.0-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.0-a.xht index 637638d9..1f08e17 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.0-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.0-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-basic-0.0-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 0.0 makes box transparent." /> <style type="text/css"><![CDATA[ #two { opacity: 0.0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.6-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.6-a.xht index 8978581..13761b1b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.6-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-0.6-a.xht
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t32-opacity-basic-0.6-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 0.6 makes box partially opaque. Colors are in sRGB color space (may test)." /> <style type="text/css"><![CDATA[ html, body { background: white; color: black; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-1.0-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-1.0-a.xht index 6d8ea9ec..4df4574 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-1.0-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-basic-1.0-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-basic-1.0-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 1.0 makes box fully opaque." /> <style type="text/css"><![CDATA[ #two { opacity: 1.0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-0.0-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-0.0-b.xht index 966f7e0..79a7637e2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-0.0-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-0.0-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-basic-0.0-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity values less than 0.0 are clamped to 0.0" /> <style type="text/css"><![CDATA[ #two { opacity: -0.0; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-1.0-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-1.0-b.xht index 31121cb..60504ec 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-1.0-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-clamping-1.0-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-clamping-1.0-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity values greater than 1.0 are clamped to 1.0" /> <style type="text/css"><![CDATA[ /* make sure clamped rather than a parser error */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-b.xht index a373f98..e9ba0c7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-offscreen-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="That opacity specifies compositing the contents as a single offscreen buffer." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-1-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-1-c.xht index 91ad0c6f..5920d30 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-1-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-1-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-offscreen-multiple-boxes-1-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity is group opacity over elements (not boxes)." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-2-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-2-c.xht index 4a60c6e..ce02031 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-2-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-multiple-boxes-2-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-offscreen-multiple-boxes-2-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity is group opacity over elements (not boxes)." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-with-alpha-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-with-alpha-c.xht index fdd9ae2..57e5e3cc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-with-alpha-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-offscreen-with-alpha-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-offscreen-with-alpha-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="That alpha within the offscreen buffer is composited correctly." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-zorder-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-zorder-c.xht index 4614a64..a6896d5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-zorder-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t32-opacity-zorder-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparency" /> <link rel="match" href="t32-opacity-zorder-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity has z-ordering treatment of positioned elements and z-index applies." /> <style type="text/css"><![CDATA[ table { border-spacing: 2px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t41-html4-keywords-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t41-html4-keywords-a.xht index 3a3e332..b866dd5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t41-html4-keywords-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t41-html4-keywords-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#html4" /> <link rel="match" href="t41-html4-keywords-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that the HTML4 color keywords have the correct values." /> <style type="text/css"><![CDATA[ html, body { background: #dddddd; color: #000000; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-clip-outside-gamut-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-clip-outside-gamut-b.xht index 1fd50ff..410a6a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-clip-outside-gamut-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-clip-outside-gamut-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t421-rgb-clip-outside-gamut-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test clipping of rgb() values outside the device gamut." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-int-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-int-a.xht index 15f207d..c37dfd9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-int-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-int-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgb() values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: rgb(0, 0, 0); background: rgb(255, 255, 255); }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-pct-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-pct-a.xht index 1df6ac2..51a4c911 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-pct-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-pct-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgb() values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: rgb(0%, 0%, 0%); background: rgb(100%, 100%, 100%); }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-whitespace-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-whitespace-b.xht index 27e815c..29c513a1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-whitespace-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-func-whitespace-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t422-rgba-func-whitespace-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that whitespace is allowed within rgb() functions." /> <style type="text/css"><![CDATA[ html, body { background: black; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-a.xht index 632e91e..b21e488 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that #rgb values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: #000; background: #fff; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-expand-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-expand-b.xht index 5ba02ea..71dc06d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-expand-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex3-expand-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t421-rgb-hex3-expand-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that 3-digit #rgb values are expanded into #rrggbb and not #r0g0b0" /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex6-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex6-a.xht index fba70dd0..a88e181 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex6-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-hex6-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that #rrggbb values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: #000000; background: #ffffff; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-values-meaning-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-values-meaning-b.xht index b628d3e..9d12b1b2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-values-meaning-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t421-rgb-values-meaning-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t421-rgb-values-meaning-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that the color components in rgb colors are interpreted correctly." /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.0-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.0-a.xht index 28f41b8..3b7c934d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.0-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.0-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t32-opacity-basic-0.0-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 0.0 makes text transparent." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.6-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.6-a.xht index 39c33732..c9115d6c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.6-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a0.6-a.xht
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgb-color" /> <link rel="match" href="t32-opacity-basic-0.6-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 0.6 makes text partially opaque. Colors are in sRGB color space (may test)." /> <style type="text/css"><![CDATA[ html, body { background: white; color: black; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a1.0-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a1.0-a.xht index 493bfec..b974af9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a1.0-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-a1.0-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-a1.0-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Opacity of 1.0 makes text fully opaque." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a0.0-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a0.0-b.xht index d95e363..cd9810fe 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a0.0-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a0.0-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-clamping-a0.0-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Alpha components of rgba() colors less than 0 are clamped to 0." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a1.0-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a1.0-b.xht index 2584aac3..662bd3e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a1.0-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clamping-a1.0-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-clamping-a1.0-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Alpha components of rgba() colors greater than 1 are clamped to 1." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clip-outside-device-gamut-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clip-outside-device-gamut-b.xht index 97f7dbf..81ac05b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clip-outside-device-gamut-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-clip-outside-device-gamut-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-clip-outside-device-gamut-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test clipping of rgba() values outside the device gamut." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-int-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-int-a.xht index c0ec6ed0..c85bad2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-int-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-int-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgba() values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: rgba(0, 0, 0, 1.0); background: rgba(255, 255, 255, 1.0); }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-pct-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-pct-a.xht index 1188a9ba..9070bed1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-pct-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-pct-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-func-int-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgba() values produce correct colors." /> <style type="text/css"><![CDATA[ #one { color: rgba(0%, 0%, 0%, 1.0); background: rgba(100%, 100%, 100%, 1.0); }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-whitespace-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-whitespace-b.xht index 1be1e01c..ca80260 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-whitespace-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-func-whitespace-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-func-whitespace-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that whitespace is allowed within rgba() functions." /> <style type="text/css"><![CDATA[ html, body { background: black; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-b.xht index 04c1082..7d1f4420 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-onscreen-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgba() does not behave like opacity and draw in an offscreen buffer." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht index 01a0bce..0ac780ee 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-onscreen-multiple-boxes-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-onscreen-multiple-boxes-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that rgba() does not behave like opacity and draw in an offscreen buffer." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-values-meaning-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-values-meaning-b.xht index daea66c4..2149ef39 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-values-meaning-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t422-rgba-values-meaning-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#rgba-color" /> <link rel="match" href="t422-rgba-values-meaning-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that the color components in rgba colors are interpreted correctly." /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-1-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-1-a.xht index 77087a5..d8680884 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-1-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-1-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparent" /> <link rel="match" href="t422-rgba-clamping-a0.0-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="That the 'transparent' color keyword makes colors transparent." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-2-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-2-a.xht index de2cfa5..0427ec5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-2-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t423-transparent-2-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#transparent" /> <link rel="match" href="t423-transparent-2-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="That the 'transparent' color keyword makes colors transparent." /> <style type="text/css"><![CDATA[ html, body { background: black; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-basic-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-basic-a.xht index 929d523..9fc453c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-basic-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-basic-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-basic-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test basic functioning of hsl() colors." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-clip-outside-gamut-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-clip-outside-gamut-b.xht index dba10fdd..d66c2db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-clip-outside-gamut-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-clip-outside-gamut-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-clip-outside-gamut-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test clipping of hsl() values outside the device gamut." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-h-rotating-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-h-rotating-b.xht index 4d2d4cf..b310316f6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-h-rotating-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-h-rotating-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-h-rotating-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="H values in hsl() colors should be treated like angles, even when outside [0,360)" /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-1.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-1.html index 64e9409..11d78a4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-1.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-1-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-10.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-10.html index 384c58be..6a18362 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-10.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-10.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-10-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-11.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-11.html index 41e5810..c76e7ba 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-11.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-11.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-11-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-12.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-12.html index 614d5e3..cba1cb9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-12.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-12.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-12-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-13.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-13.html index 0c9f151..bf69977 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-13.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-13.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-13-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-14.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-14.html index 61b04c9a..48fbe102 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-14.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-14.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-14-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-15.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-15.html index 03306fe1..15f88c8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-15.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-15.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-15-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-2.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-2.html index 7b579dc0..15e81d5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-2.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-2.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-2-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-3.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-3.html index a8bad00..546b8bfc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-3.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-3.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-3-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-4.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-4.html index 3e22e35..9f981a44 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-4.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-4.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-4-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-5.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-5.html index 143a0ed..5d4e569d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-5.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-5.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-5-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-6.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-6.html index e8be097..9e54ba0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-6.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-6.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-6-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-7.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-7.html index 8f8b4cc..9b237d0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-7.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-7.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-7-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-8.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-8.html index ff20ebd..906857b8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-8.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-8.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-8-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-9.html b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-9.html index 1a0d2e3..eac48ff 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-9.html +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t424-hsl-values-b-9.html
@@ -6,7 +6,6 @@ <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="match" href="t424-hsl-values-b-9-ref.html" /> -<meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsl() colors to rgb() colors." /> <style> table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-basic-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-basic-a.xht index 2d944f3..14b079b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-basic-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-basic-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t425-hsla-basic-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test basic functioning of hsla() colors." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-clip-outside-device-gamut-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-clip-outside-device-gamut-b.xht index 8dbab29..d30cf8c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-clip-outside-device-gamut-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-clip-outside-device-gamut-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t425-hsla-clip-outside-device-gamut-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test clipping of hsla() values outside the device gamut." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-h-rotating-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-h-rotating-b.xht index 09747330..a192442b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-h-rotating-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-h-rotating-b.xht
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-color/#hsl-color" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t425-hsla-h-rotating-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="H values in hsla() colors should be treated like angles, even when outside [0,360)" /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-b.xht index 60b9efc9..b2dcf5f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t422-rgba-onscreen-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that hsla() does not behave like opacity and draw in an offscreen buffer." /> <style type="text/css"><![CDATA[ html, body { background: white; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht index 0043d272..9d2eccd4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-onscreen-multiple-boxes-c.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t422-rgba-onscreen-multiple-boxes-c-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that hsla() does not behave like opacity and draw in an offscreen buffer." /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-values-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-values-b.xht index 67554d7c..27ed5786 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-values-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t425-hsla-values-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#hsla-color" /> <link rel="match" href="t425-hsla-values-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Implementation of algorithm for converting hsla() colors to rgba() colors." /> <style type="text/css"><![CDATA[ table { border-spacing: 0; padding: 0; border: none; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t43-svg-keywords-a.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t43-svg-keywords-a.xht index 75bbf4f..9066863 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t43-svg-keywords-a.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t43-svg-keywords-a.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#html4" /> <link rel="match" href="t43-svg-keywords-a-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="Test that the HTML4 color keywords have the correct values." /> <style type="text/css"><![CDATA[ html, body { background: #dddddd; color: #000000; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-background-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-background-b.xht index af5f2aa7..816d622e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-background-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-background-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#currentcolor" /> <link rel="match" href="t44-currentcolor-background-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="currentColor uses the color from the color property" /> <style type="text/css"><![CDATA[ #two {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-border-b.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-border-b.xht index 9a01c28..3d7441e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-border-b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-border-b.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> <link rel="help" href="http://www.w3.org/TR/css3-color/#currentcolor" /> <link rel="match" href="t44-currentcolor-border-b-ref.html" /> - <meta name="flags" content="" /> <meta name="assert" content="currentColor uses the color from the color property" /> <style type="text/css"><![CDATA[ #one {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-inherited-c.xht b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-inherited-c.xht index 402dff1..569a616e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-inherited-c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-color/t44-currentcolor-inherited-c.xht
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-color/#currentcolor" /> <link rel="help" href="http://www.w3.org/Style/2011/REC-css3-color-20110607-errata.html#s.4.5" /> <link rel="match" href="t44-currentcolor-inherited-c-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="currentColor is a computed value" /> <style type="text/css"><![CDATA[ #one {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-001.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-001.html index 588d603c..6ba1bd3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-001.html
@@ -5,7 +5,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-002.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-002.html index d4b59ff3..4b70395 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-002.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-003.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-003.html index c138bbc..029ce37 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-003.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-004.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-004.html index 6b9cf6f..f2cdfe3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-004.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-005.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-005.html index 67329e3..62475029 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-005.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-006.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-006.html index f5c6461..4e6ea9b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-006.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-007.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-007.html index a818427..975a847 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-007.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-008.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-008.html index f53b40c8..f133c372 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-008.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-009.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-009.html index ffe96f61..2d53fd8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-009.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-010.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-010.html index d3716718c..468afe7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-010.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-012.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-012.html index 8a30ead2..e46e5a3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-012.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-013.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-013.html index 619da84..1c5f633 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-013.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-013.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-015.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-015.html index fe3d5e56..a8a9019 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-015.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-015.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background-color:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-017.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-017.html index 81cbe45..42ca8c10 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-017.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-017.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-018.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-018.html index 88bcedec..024c232 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-018.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/at-supports-018.html
@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html"> - <meta name="flags" content=""> <style> div { background:red;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-001.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-001.xht index 3f87825..9221309 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-001.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition with a single, valid property declaration for a supported property must cause the rules inside the @supports rule to apply."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-003.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-003.xht index 4e01f536..f7713dc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-003.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-003.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="Any subexpression in an @supports rule condition can be surrounded by an extra pair of parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-004.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-004.xht index 7c4ad818..7c81650 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-004.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-004.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="Property declarations in an @supports rule can have !important specified."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-005.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-005.xht index c184d70..e6e4348 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-005.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-005.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax but a failing condition must not apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A supported property with an unsupported value must cause the @supports condition to fail."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-006.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-006.xht index 6e5a14c..5a47f35 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-006.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-006.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction of two @supports conditions must cause the @supports condition to pass if the second condition passes."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-007.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-007.xht index 8cce3c8b..250ffc5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-007.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-007.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction of two @supports conditions must cause the @supports condition to pass if the first condition passes."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-008.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-008.xht index 80596a9..3963175 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-008.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-008.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A conjunction of two @supports conditions must cause the @supports condition to pass if both sub-conditions pass."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-009.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-009.xht index 8d5b27166..0b00565 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-009.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-009.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax but a failing condition must not apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A conjunction of two @supports conditions must cause the @supports condition to fail if the first sub-condition fails."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-010.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-010.xht index 298667b4..c227093 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-010.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax but a failing condition must not apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A conjunction of two @supports conditions must cause the @supports condition to fail if the second sub-condition fails."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-011.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-011.xht index d70cc00..b1f15fc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-011.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction of three @supports conditions must cause the @supports condition to pass if at least one of the sub-conditions passes."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-012.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-012.xht index c9ff483a..ba884468 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-012.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A conjunction of three @supports conditions must cause the @supports condition to pass if all three sub-conditions pass."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-015.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-015.xht index 66c7edbe..8013bb8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-015.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-015.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="There need not be any white space between the '@supports' and open brace of the rule set, nor between a declaration's property name and value."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-016.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-016.xht index bad6053..5f06f91 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-016.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-016.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A negation of an @supports condition must pass if and only if the sub-condition fails. The sub-condition here is a supported property name with an unsupported value."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-018.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-018.xht index 2019a2a7..56d4bea 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-018.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-018.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="The sub-condition of a negation in an @supports condition must be in parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-020.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-020.xht index ba02204..808f2268 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-020.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-020.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax but a failing condition must not apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition that is a declaration with an unsupported property name with a supported value must fail."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-021.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-021.xht index df98d12..46ca79f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-021.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-021.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax but a failing condition must not apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction of two @supports conditions must cause the @supports condition to pass if one condition passes and the other fails due to being an unsupported property."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-022.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-022.xht index b2fb5ed2..25912d3e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-022.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-022.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax within parentheses must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse even if a declaration has an empty property value."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-023.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-023.xht index e01f0184..7afb0ce 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-023.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-023.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax within parentheses must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-024.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-024.xht index de2baf39..ae4b926 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-024.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-024.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A supported shorthand property declaration must be considered to pass."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-025.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-025.xht index 7a76614..182f287 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-025.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-025.xht
@@ -4,7 +4,6 @@ <title>CSS Test: A nested @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An inner @supports rule inside an outer @supports must apply its child rules only if both @supports conditions succeeded."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-026.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-026.xht index 920143e..7584bba 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-026.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-026.xht
@@ -5,7 +5,6 @@ <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-media" /> - <meta name="flags" content="" /> <meta name="assert" content="An outer @supports rule with an inner @media rule must apply the rules inside the @media only if both the @supports and @media conditions pass."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-029.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-029.xht index 0d1bb58..5f9b011 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-029.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-029.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses." /> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-030.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-030.xht index 6c087b8b0..2cfcbfe 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-030.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-030.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with valid syntax and a passing condition must apply rules inside it</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses." /> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-031.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-031.xht index 9ff7c14..dd9caf0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-031.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-031.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax within parentheses must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-032.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-032.xht index baae565..8a2ac06 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-032.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-032.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse and evaluate to false a parenthesized expression has invalid syntax."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-033.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-033.xht index c6c0c39f..19b707de 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-033.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-033.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-034.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-034.xht index c6c0c39f..19b707de 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-034.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-034.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with balanced invalid syntax must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-036.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-036.xht index c18ba66..9d6d2683 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-036.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-036.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule with an unrecognized condition using functional notation must evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition with an unrecognized condition using functional notation must evaluate to false."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-038.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-038.xht index f6974a9..bf969d7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-038.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-038.xht
@@ -4,7 +4,6 @@ <title>CSS Test: In an @supports rule "not(" must be parsed as a FUNCTION</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports condition with 'not(' must parse be parsed as a FUNCTION token."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-040.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-040.xht index cda4049..0b15778 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-040.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-040.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with empty parentheses should evaluates to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition that consists just of a pair of parentheses should evaluate to false."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-041.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-041.xht index c49c66ab..f01b2be78 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-041.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-041.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with empty parentheses should evaluates to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition that consists just of a pair of parentheses should evaluate to false."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-042.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-042.xht index 2b0f104..5a10611 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-042.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-042.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with an unexpected token before the closing paren of a supports_condition_in_parens should parse as a general_enclosed</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition that has an unexpected token before the closing paren of a supports_condition_in_parens should parse as a general_enclosed and evaluate to false rather than fail to parse."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-043.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-043.xht index 3ec6f8e..8e4d0e5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-043.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-043.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with a bogus priority should evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition with a bogus priority should evaluate to false"/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-044.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-044.xht index f79e25d1..0c66cfa 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-044.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-044.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with tokens after the priority should evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition with tokens after the priority should evaluate to false"/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-045.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-045.xht index e7bb2d46..d11e108 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-045.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-045.xht
@@ -4,7 +4,6 @@ <title>CSS Test: An @supports rule condition with two priorities should evaluate to false</title> <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> - <meta name="flags" content="" /> <meta name="assert" content="An @supports rule condition with two priorities should evaluate to false"/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-046.xht b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-046.xht index 3cd5900..1913dff 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-046.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/css-supports-046.xht
@@ -6,7 +6,6 @@ <link rel="author" title="L. David Baron" href="mailto:dbaron@dbaron.org" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports" /> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-media" /> - <meta name="flags" content="" /> <meta name="assert" content="An outer @media rule with an inner @supports rule must apply the rules inside the @supports only if both the @supports and @media conditions pass."/> <link rel="match" href="support/pass.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-conditional/js/001.html b/third_party/blink/web_tests/external/wpt/css/css-conditional/js/001.html index 5907a492e..af97ac0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-conditional/js/001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-conditional/js/001.html
@@ -3,7 +3,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> -<meta name="flags" content=""> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-001.html index 649bf54..9d8e1e5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-layout-ifc-022-ref.html"> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-002.html index d18ba3c4..7468df7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-002.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-paint-ifc-011-ref.html"> <meta content="This test checks that a block element with 'contain: content' establishes a new block formatting context which is independent and separate from others. This causes margin collapsing to be ineffective among vertically-adjacent boxes. In this test, the top margin of parent boxes and top margin of their respective first in-flow child do not collapse. Also, in this test, the bottom margin of the last in-flow child of boxes and bottom margin of their respective parent boxes do not collapse." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-003.html index bb421c01..24d8777 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-003.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="This test checks that an element with 'contain: content' acts as containing block for its absolutely positioned descendants."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-004.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-004.html index 37b2daf..5276b4d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-004.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-layout-cell-001-ref.html"> <meta content="In this test, the td#contain should act as the containing block for div#abs-pos ." name="assert"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-011.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-011.html index 19c3c9cb..8bed8c4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-content-011.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property"> <link rel="match" href="reference/contain-content-011-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="'contain: content' turns on style containment. So, in this test, the counter of div.abspos child should not be reset and must not be reset."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-baseline-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-baseline-001.html index ed2471a..cf8e94f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-baseline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-baseline-001.html
@@ -6,7 +6,6 @@ <meta name=assert content="With contain:layout, for the purpose of the vertical-align property, the containing element is treated as having no baseline."> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-layout"> - <meta name="flags" content=""> <style> #red {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-breaks-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-breaks-002.html index fadb3c4..cf23ad7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-breaks-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-breaks-002.html
@@ -5,7 +5,6 @@ <title>CSS-contain test: layout containment and forced breaks</title> <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> - <meta content="" name="flags"> <meta content="forced breaks within layout containment do not propagate to the parent." name="assert"> <link href="reference/contain-layout-breaks-002-ref.html" rel="match">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-001.html index 25ee53ba29..6671006 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-001.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-layout-cell-001-ref.html"> <meta content="In this test, the div#contain should act as the containing block for div#abs-pos ." name="assert"> - <meta name="flags" content=""> <style> div#table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-002.html index 8c511e3..2c10eb21 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-cell-002.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-layout-cell-001-ref.html"> <meta content="In this test, the td#contain should act as the containing block for div#abs-pos ." name="assert"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-ifc-022.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-ifc-022.html index 3e4f3daf..1b66fe3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-ifc-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-ifc-022.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-layout-ifc-022-ref.html"> <meta content="This test checks that an element with 'contain: layout' will make such element create its own formatting context. In this test, the element with 'contain: layout' acts as if it has its own formatting context independent from div#floated-left element. In other words, the div#with-contain-layout is no longer required to flow its content around the div#floated-left element and current line boxes next to the float are no longer shortened to make room for the margin box of the float." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-size-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-size-003.html index 1abbe267..50b5f0b6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-size-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-layout-size-003.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-layout-size-003-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-022.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-022.html index 2fc9d24..91b3884 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-022.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-paint-022-ref.html"> <meta content="This test checks that paint containment applies to atomic inline elements and then they act as containing block for absolutely positioned descendants." name="assert"> - <meta name="flags" content=""> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-023.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-023.html index 28674ce..695dc4e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-023.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-023.html
@@ -9,7 +9,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that paint containment applies to atomic inline elements so that they can act as containing block for absolutely positioned descendants." name="assert"> - <meta name="flags" content=""> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-024.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-024.html index 79ef8a7..ea92aeb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-024.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-024.html
@@ -9,7 +9,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that paint containment does not apply to non-atomic inline elements so they do not act as containing block for absolutely positioned descendants." name="assert"> - <meta name="flags" content=""> <style> div#correct-containing-block
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-047.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-047.html index e4a0b284..7fdc4a8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-047.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-047.html
@@ -10,7 +10,6 @@ <meta content="This test checks that an element with 'contain: paint' that has its content overflowing will clip at padding edge." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-048.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-048.html index e48fcb6..870484e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-048.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-048.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/ref-if-there-is-no-red.xht"> <meta content="This test checks that an element with 'contain: paint' that has its content overflowing will clip at padding edge." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-baseline-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-baseline-001.html index 3f84a30..c44444d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-baseline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-baseline-001.html
@@ -6,7 +6,6 @@ <meta name=assert content="contain:paint does not suppress baseline alignment"> <link rel="match" href="reference/contain-baseline-ref.html"> <link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-paint"> - <meta name="flags" content=""> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-001.html index d66a1694..5a4a7a4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-001.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-paint-047-ref.html"> <meta content="This test checks that the paint containment applies to table-cell elements. Therefore the content of the table-cell element should be clipped to the padding edge of its principal box." name="assert"> - <meta name="flags" content=""> <style> div#table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-002.html index e486aa2..f6707003 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-cell-002.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-paint-047-ref.html"> <meta content="This test checks that the paint containment applies to table-cell elements. Therefore the content of the table-cell element should be clipped to the padding edge of its principal box." name="assert"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-011.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-011.html index 643133a4f..d9b9052 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-011.html
@@ -30,7 +30,6 @@ --> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-012.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-012.html index 7040d64..090aa15 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-012.html
@@ -30,7 +30,6 @@ --> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-013.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-013.html index e631130..7c539bf9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-013.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-013.html
@@ -30,7 +30,6 @@ --> - <meta name="flags" content=""> <style> div#red-overlapped-test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-014.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-014.html index 8fe10717..296187f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-014.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-014.html
@@ -30,7 +30,6 @@ --> - <meta name="flags" content=""> <style> div#red-overlapped-test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-015.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-015.html index b78f0d8..c9ff98a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-015.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-015.html
@@ -33,7 +33,6 @@ --> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-016.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-016.html index 8203eea..84b2f8e6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-016.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-016.html
@@ -33,7 +33,6 @@ --> - <meta name="flags" content=""> <style> div#red-container-circle
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-017.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-017.html index d8213a5..a6f4275 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-017.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-017.html
@@ -30,7 +30,6 @@ --> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-018.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-018.html index 17bcccd..5b36a06 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-018.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-018.html
@@ -30,7 +30,6 @@ --> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-019.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-019.html index bd761b8a5..34b1264 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-019.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-clip-019.html
@@ -10,7 +10,6 @@ <meta content="This test checks that the paint containment of an element clips contents. It should also prevent layout overflow from being propagated to ancestors." name="assert"> -<meta content="" name="flags"> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-ifc-011.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-ifc-011.html index b8a0393..992a037 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-ifc-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-ifc-011.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-paint-ifc-011-ref.html"> <meta content="This test checks that a block element with 'contain: paint' establishes a new block formatting context which is independent and separate from others. This causes margin collapsing to be ineffective among vertically-adjacent boxes. In this test, the top margin of parent boxes and top margin of their respective first in-flow child do not collapse. Also, in this test, the bottom margin of the last in-flow child of boxes and bottom margin of their respective parent boxes do not collapse." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-001.html index 930429b..2546b2b9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-paint-size-001-ref.html"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-002.html index 5af0d54ce..18d03e7f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-002.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-paint-size-001-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-003.html index 51459a5..2d21664 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-size-003.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-layout-size-003-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-001.html index 70caa57..0622a1cb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-001.html
@@ -10,7 +10,6 @@ <link rel="match" href="reference/contain-paint-047-ref.html"> <meta content="This test checks that paint containment applies to table elements. Therefore the content of the table element should be clipped to the padding edge of its principal box." name="assert"> - <meta name="flags" content=""> <style> div#table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-002.html index a6ce97e..2d51f91 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-paint-table-002.html
@@ -10,7 +10,6 @@ <link rel="match" href="reference/contain-paint-047-ref.html"> <meta content="This test checks that paint containment applies to table elements. Therefore the content of the table element (including its caption) should be clipped to the padding edge of its principal box." name="assert"> - <meta name="flags" content=""> <style> div#table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-021.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-021.html index 14bd811..199849e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-021.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-021.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-021-ref.html"> <meta content="This test checks that when laying out an inline-block element with 'contain: size', the inline-block element must be treated as if it would have no contents. In this test, the inline-block element has 1 image and no in-flow block descendant." name="assert"> - <meta name="flags" content=""> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-023.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-023.html index a549209..f83a10d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-023.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-023.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-023-ref.html"> <meta content="This test checks that when laying out an inline-block element with 'contain: size', the inline-block element must be treated as if it would have no contents. In this test, the inline-block element has text and no in-flow block descendant." name="assert"> - <meta name="flags" content=""> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-025.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-025.html index bb17fe2..3eb4b15 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-025.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-025.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-025-ref.html"> <meta content="This test checks that when laying out an inline-block element with 'contain: size', the inline-block element must be treated as if it would have no contents. In this test, the inline-block element has 2 in-flow block descendants made of images." name="assert"> - <meta name="flags" content=""> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-027.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-027.html index ed4bb24c..8dcff17 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-027.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-027.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-027-ref.html"> <meta content="This test checks that when laying out an inline-block element with 'contain: size', the inline-block element must be treated as if it would have no contents. In this test, the inline-block element has 2 in-flow block descendants made of text." name="assert"> - <meta name="flags" content=""> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-041.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-041.html index 333a2ce..93def48c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-041.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-041.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-025-ref.html"> <meta content="This test checks that when laying out an inline replaced element with 'contain: size', the inline replaced element must be treated as having an intrinsic width and height of 0." name="assert"> - <meta name="flags" content=""> <style> img#blue-test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-042.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-042.html index e1d6b3d..52c5281 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-042.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-042.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-size-022-ref.html"> <meta content="This test checks that when laying out an inline replaced element with 'contain: size', the inline replaced element must be treated as having an intrinsic width and height of 0." name="assert"> - <meta name="flags" content=""> <style> img#blue-test
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-051.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-051.html index d529df9f..d1eab89 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-051.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-051.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-051-ref.html"> - <meta name="flags" content=""> <style> td
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-052.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-052.html index d32d154..a4d1afd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-052.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-052.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-051-ref.html"> - <meta name="flags" content=""> <style> div#table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-056.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-056.html index fa0f98b..e8c140a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-056.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-056.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-056-ref.html"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-061.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-061.html index 2af24fc2..1738b7f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-061.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-061.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-061-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-062.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-062.html index 60cb194..10d7d48 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-062.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-062.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-062-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-063.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-063.html index 31a6015..9c843ab 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-063.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-063.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size"> <link rel="match" href="reference/contain-size-063-ref.html"> -<meta name="flags" content=""> <meta name="asserts" content="the intrinsic size of a size-contained element is treated as 0 in various scenarios involving intrinsic sizing."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-baseline-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-baseline-001.html index 0ffed1b..d8436c45 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-baseline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-baseline-001.html
@@ -6,7 +6,6 @@ <meta name=assert content="contain:size does not suppress baseline alignment"> <link rel="match" href="reference/contain-baseline-ref.html"> <link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-size"> - <meta name="flags" content=""> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-monolithic-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-monolithic-001.html index 30f19b6..42e82164 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-monolithic-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-size-monolithic-001.html
@@ -10,7 +10,6 @@ <link rel="match" href="reference/contain-size-monolithic-001-ref.html"> <meta content="This test checks that an element with size containment becomes monolithic. In this test, the only way to break the content of such monolithic element is to break (or slice) the content at each pair of characters. Since column rules are only drawn between two columns that both have content and since the test expects only 1 column filled with content, therefore the column rule should not be painted, thus the 'no red' test success condition." name="assert"> - <meta name="flags" content=""> <style> div#multi-column
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-001.html index 142730c..e5451e2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-paint-size-001-ref.html"> - <meta name="flags" content=""> <style> table
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-002.html index 369275e..5985fc8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-002.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-paint-size-001-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-003.html index 792710cd..903df078 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-003.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#contain-property"> <link rel="match" href="reference/contain-layout-size-003-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-011.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-011.html index a6d7ca2..3e1256b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-strict-011.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property"> <link rel="match" href="reference/contain-strict-011-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="'contain: strict' turns on style containment. So, in this test, the counter of spans should not be reset and must not be reset."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-baseline-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-baseline-001.html index f05d209..f13b1e8e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-baseline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-baseline-001.html
@@ -6,7 +6,6 @@ <meta name=assert content="contain:style does not suppress baseline alignment"> <link rel="match" href="reference/contain-baseline-ref.html"> <link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-style"> - <meta name="flags" content=""> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-001.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-001.html index 30a29d7..bd480858 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-001.html
@@ -8,7 +8,6 @@ <link rel="match" href="reference/contain-style-counters-001-ref.html"> <meta content="This test checks that when an element has 'contain: style', then counters which may be affecting its subtree are reset to 0 for such scope." name="assert"> - <meta name="flags" content=""> <style> div#create-counter
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-002.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-002.html index eeaac6a..d585674 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-002.html
@@ -8,7 +8,6 @@ <link rel="match" href="reference/contain-style-counters-001-ref.html"> <meta content="This test checks that when an element has 'contain: style', then counters which may be affecting its subtree are reset to 0 for such scope. In this test, the div#test does not generate a principal box because of 'display: contents'. Despite that particular condition, 'contain: style' will have an effect on div#test." name="assert"> - <meta name="flags" content=""> <style> div#create-counter
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-003.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-003.html index b550f11..3e3e1b9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-003.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-style"> <link rel="match" href="reference/contain-style-counters-003-ref.html"> - <meta name="flags" content=""> <style> body
diff --git a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-004.html b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-004.html index 4a366e3..40d68b4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-contain/contain-style-counters-004.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-style"> <link rel="match" href="reference/contain-style-counters-004-ref.html"> - <meta name="flags" content=""> <style> body
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-001.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-001.html index b6f9d18..5eb88f7b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-001-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Fonts that do not include the U+0020 character are not considered the first available font (used to determine the ex unit), even when at the start of the font list."> <style> /* Two arbitrary fonts with different metrics */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-002.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-002.html index 36437b69..df47df8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-002.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-002-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Fonts that do not include the U+0020 character are not considered the first available font (used to determine the ch unit), even when at the start of the font list."> <style> /* Two arbitrary fonts with different metrics */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-003.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-003.html index 74a850e2..d6b1b26 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-003.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-003-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The strut, which impacts the line height, is taken from the primary font, which is the first font to include the U+0020 character."> <style> /* Two arbitrary fonts with different metrics */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-004.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-004.html index c7ae1cb..05ae07d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-004.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-003-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The strut, which impacts the line height, is taken from the primary font, which is the first font to include the U+0020 character. The fact that that font is used somewhere else in the page makes no difference."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-005.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-005.html index 8f6f66b..3a6b8871 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-005.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-005-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The position of the baseline in an inline-level box whose height is determined by a non-normal value of line-height does depend on the primary font, which is the first that contains U+0020."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-006.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-006.html index fb50b9b..3766fd1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-006.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-005-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The position of the baseline in an inline-level box whose height is determined by a non-normal value of line-height does depend on the primary font, which is the first that contains U+0020."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-007.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-007.html index fce9c99..0efbb349 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/first-available-font-007.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-fonts-3/#first-available-font"> <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#first-available-font"> <link rel="match" href="first-available-font-005-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The height of the content area of an inline-level depends only on the first available font, which is the first one to include U+0020."> <style> /* Two Arbitrary fonts with different metrics. One has a taller ascender, the other a deeper descender. */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range-2.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range-2.html index 427aa61..e94c1b2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range-2.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range-2.html
@@ -4,7 +4,6 @@ <link rel="author" title="Chris Lilley" href="chris@w3.org"> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#unicode-range-desc"> <link rel="match" href="font-face-unicode-range-2-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Check that font-face unicode-range restrics use of glyphs outside that range"> <style> @font-face {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range.html index a552313..f3cd9f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-face-unicode-range.html
@@ -3,7 +3,6 @@ <title>CSS Test: font-face unicode-range</title> <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#unicode-range-desc"> -<meta name="flags" content=""> <meta name="assert" content="Check if the font-face unicode-range value impacts the content style"> <style> @font-face {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-1.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-1.html index d53eb4c..a01d05e0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-1.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop"/> <link rel="match" href="font-features-across-space-1-ref.html"/> <link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" /> -<meta name="flags" content=""/> <meta name="assert" content="Ligature features should be handled across spaces with font-feature-settings"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-2.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-2.html index 769cf6b..2aaeb24 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-2.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-2.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop"/> <link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" /> <link rel="match" href="font-features-across-space-1-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Ligature features should be handled across spaces with font-variant-ligatures"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-3.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-3.html index f475954d..751f2cc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-3.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-features-across-space-3.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop"/> <link rel="match" href="font-features-across-space-1-ref.html"/> <link rel="reviewer" title="Chris Lilley" href="mailto:chris@w3.org" /> -<meta name="flags" content=""/> <meta name="assert" content="Ligature features should be handled across spaces with interacting font feature properties"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-1.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-1.html index ea1e574..a34a38b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-1.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-fonts/#font-size-adjust-prop"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins"> <link rel="match" href="font-size-zero-2-ref.html"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-2.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-2.html index 0fadcd45..3126f745 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-2.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-adjust-zero-2.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-fonts/#font-size-adjust-prop"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins"> <link rel="match" href="font-size-zero-2-ref.html"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-notref.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-notref.html index 9e95ca66..c24e3d91 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-notref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-notref.html
@@ -2,7 +2,6 @@ <title>CSS Test Reference</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-ref.html index f3bdd53d..b468121 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1-ref.html
@@ -3,7 +3,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="mismatch" href="font-size-zero-1-notref.html"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1.html index 9b7b3e6..85369593 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-1.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-fonts/#font-size-prop"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins"> <link rel="match" href="font-size-zero-1-ref.html"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2-ref.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2-ref.html index 2aea76d..6b5f7e9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2-ref.html
@@ -2,7 +2,6 @@ <title>CSS Test Reference</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2.html index 5b5aaa5..d669698 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-size-zero-2.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-fonts/#font-size-prop"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins"> <link rel="match" href="font-size-zero-2-ref.html"> -<meta name="flags" content=""> <style> /* spec ambiguous whether font-size-adjust influences line-height: normal */ body { line-height: 1.2 }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-caps.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-caps.html index 61619b7..7d89802f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-caps.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-caps.html
@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-caps-prop"/> <link rel="match" href="font-variant-caps-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-caps should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-debug.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-debug.html index bfbb861..827557a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-debug.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-debug.html
@@ -6,7 +6,6 @@ <head> <title>CSS Test: debug font-variant value tests</title> <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> -<meta name="flags" content=""/> <meta name="assert" content="Each font-variant property value should enable specific features and not others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-east-asian.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-east-asian.html index a2fdb63..3fbb43e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-east-asian.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-east-asian.html
@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-east-asian-prop"/> <link rel="match" href="font-variant-east-asian-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-east-asian should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-ligatures.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-ligatures.html index 0178fc8..ff217e2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-ligatures.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-ligatures.html
@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-ligatures-prop"/> <link rel="match" href="font-variant-ligatures-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-ligatures should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-numeric.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-numeric.html index b059b6a..a2a6c328 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-numeric.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-numeric.html
@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-numeric-prop"/> <link rel="match" href="font-variant-numeric-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-numeric should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-position.html b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-position.html index b4d6d654..8570624 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-position.html +++ b/third_party/blink/web_tests/external/wpt/css/css-fonts/font-variant-position.html
@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:jdaggett@mozilla.com"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-position-prop"/> <link rel="match" href="font-variant-position-ref.html"/> -<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-position should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-002.xht b/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-002.xht index fa7b47d..9b318b1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-002.xht
@@ -7,7 +7,6 @@ <link rel='reviewer' title='Elika J. Etemad' href='http://fantasai.inkedblade.net/contact' /> <link rel='help' href='http://www.w3.org/TR/CSS21/generate.html#list-style' /> <link rel='alternate' href='http://www.w3.org/International/tests/tests-html-css/tests-list-style-type/generate?test=2' /> -<meta name='flags' content='' /> <meta name="assert" content="Setting list-style-type to armenian will cause list numbering to format numbers up to 9,999 in the way described in CSS3 Lists module." /> <style type='text/css'> .armenian { list-style-type: armenian; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-003.xht b/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-003.xht index 422be23..cb915b8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-003.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-lists/list-style-type-armenian-003.xht
@@ -7,7 +7,6 @@ <link rel='reviewer' title='Elika J. Etemad' href='http://fantasai.inkedblade.net/contact' /> <link rel='help' href='http://www.w3.org/TR/CSS21/generate.html#list-style' /> <link rel='alternate' href='http://www.w3.org/International/tests/tests-html-css/tests-list-style-type/generate?test=3' /> -<meta name='flags' content='' /> <meta name="assert" content="Setting list-style-type to armenian will cause list numbering to format numbers above 9,999 in the way described in the CSS3 Lists module." /> <style type='text/css'> .armenian { list-style-type: armenian; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-logical/cascading-001.html b/third_party/blink/web_tests/external/wpt/css/css-logical/cascading-001.html index 6539255..61399a83 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-logical/cascading-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-logical/cascading-001.html
@@ -6,7 +6,6 @@ <link rel="author" title="Manish Goregaokar" href="mailto:manishearth@gmail.com"> <link rel="help" href="https://drafts.csswg.org/css-logical-props-1/#logical-box-props"> <link rel="match" href="cascading-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Physical property declarations with higher specificity should override logical ones and vice versa."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-001.html b/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-001.html index 6949652..bc76caa5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-001.html
@@ -17,7 +17,6 @@ <link rel="help" href="https://www.w3.org/TR/css-multicol-1/#cf" title="7.1 column-fill"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta content="This test verifies how content is distributed among columns when the height of a multi-column container is constrained and when 'column-fill' is set to 'auto'. In this test, the line box height is exactly 25px. So, content should fill 4 lines of the first column and should only fill up the first column. Since column rules are only drawn between two columns that both have content and since the test expects only 1 column filled with content, therefore the column rule should not be painted, thus the 'no red' test success condition." name="assert"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-002.html b/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-002.html index 8a6bd95..ae2e81d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/columnfill-auto-max-height-002.html
@@ -17,7 +17,6 @@ <link rel="help" href="https://www.w3.org/TR/css-multicol-1/#cf" title="7.1 column-fill"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta content="This test verifies how content is distributed among columns when the height of a multi-column container is constrained and when 'column-fill' is set to 'auto'. In this test, the line box height is exactly 25px. So, content should fill 4 lines of the first column and should only fill up the first column. Since column rules are only drawn between two columns that both have content and since the test expects only 1 column filled with content, therefore the column rule should not be painted, thus the 'no red' test success condition." name="assert"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht index d3f2c9ec..49e28fa8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#column-breaks"/> <link rel="match" href="../reference/ref-filled-green-200px-square.html"/> -<meta name="flags" content=""/> <style type="text/css"><![CDATA[ .multicol { column-count: 2;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-001.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-001.xht index 535447d7..864080a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-001.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#filling-columns"/> <link rel="match" href="multicol-fill-auto-block-children-ref.xht"/> -<meta name="flags" content=""/> <style type="text/css"><![CDATA[ html { background: white;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002-ref.xht index 3cec0f5..63015a46 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-16 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body {margin:0; margin-top:8px;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002.xht index d79fa95..2399da2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-fill-auto-block-children-002.xht
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#pagination-and-overflow-outside-multicol" title="8.2. Pagination and overflow outside multicol elements" /> <link rel="match" href="multicol-fill-auto-block-children-002-ref.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="This test checks that if 'column-fill' is set to 'auto' and a multicolumn element content is solely made of block container boxes, then it should fill column boxes sequentially with such content and, in this test, it should overflow outside of it. This test relies on the idea that a 'column-span: all' element will occupy more space in a multi-column element than a 'column-span: none' element, therefore reducing available space for content in column boxes." /> <style type="text/css"><![CDATA[ html {background-color: white;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-height-002-print.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-height-002-print.xht index ccc7880..03e0b22 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-height-002-print.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-height-002-print.xht
@@ -5,7 +5,6 @@ <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact" /> <link rel="help" href="http://www.w3.org/TR/css3-multicol/#the-multi-column-model" /> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-height-property"/> - <meta name="flags" content="" /> <meta name="assert" content="Percentage heights with a multi-column element are relative to the computed height of the multicolumn box, and this works even when the multi-column element is paginated." /> <link rel="match" href="multicol-height-002-print-ref.xht" /> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-list-item-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-list-item-001-ref.xht index 351696de..582b735 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-list-item-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-list-item-001-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-10 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-margin-child-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-margin-child-001-ref.xht index db9a49d..49f93d6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-margin-child-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-margin-child-001-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-10 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body > div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-002-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-002-ref.xht index e955c48..5aaa305 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-002-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-002-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-11 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body {margin: 0em;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-column-rule-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-column-rule-001-ref.xht index 413980b..b6c77b4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-column-rule-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-column-rule-001-ref.xht
@@ -5,7 +5,6 @@ <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-09 --> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> - <meta name="flags" content="" /> </head> <body> <div style="font: 1.25em/1 Ahem; width:8em; height:3em; margin-left:9em; border-left:1em solid blue; border-right:1em solid blue;"></div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-001-ref.xht index 043b6c6..83b832a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-001-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-11 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body {margin: 0em;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-002-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-002-ref.xht index b814e67..2818de0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-002-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-002-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-14 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body {margin: 0em;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-003-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-003-ref.xht index 7196051..b9e8064 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-003-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-003-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-14 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ div#rel-pos-wrapper {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-004-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-004-ref.xht index 937c603..9162656 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-004-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-nested-margin-004-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-14 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ div#rel-pos-wrapper {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-overflowing-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-overflowing-001-ref.xht index d3a6c6e..c1dc76f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-overflowing-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-overflowing-001-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-09 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ div#rel-pos-wrapper {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-rule-samelength-001-ref.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-rule-samelength-001-ref.xht index 9cc62722..4955db4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-rule-samelength-001-ref.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-rule-samelength-001-ref.xht
@@ -4,7 +4,6 @@ <title>CSS Reftest Reference</title> <link rel="author" title="Opera Software ASA" href="http://www.opera.com/" /> <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2013-08-15 --> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ body {margin: 8px;}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-width-ch-001.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-width-ch-001.xht index 8983e00ff..5774d353 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-width-ch-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-width-ch-001.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Opera Software ASA" href="http://www.opera.com/"/> <link rel="help" href="https://www.w3.org/TR/css-multicol-1/#the-number-and-width-of-columns"/> <link rel="match" href="multicol-width-ch-ref.xht"/> -<meta name="flags" content=""/> <meta name="assert" value="Test that the ch unit can be used as a value for column-width."/> <style type="text/css"><![CDATA[ .multicol {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-zero-height-001.xht b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-zero-height-001.xht index 4472bc20..57bfca96 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-zero-height-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-zero-height-001.xht
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-multicol/#cw" title="3.1. 'column-width'" /> <link rel="help" href="https://www.w3.org/TR/css-break-3/#breaking-rules" title="4. Rules for Breaking" /> <link rel="match" href="multicol-zero-height-001-ref.xht" /> - <meta name="flags" content="" /> <style type="text/css"><![CDATA[ div#multi-column {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-011.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-011.html index 7b51c97..bdee224 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-011.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="reference/active-selection-011-ref.html"> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-012.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-012.html index d1612ec..e949f686 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-012.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="reference/active-selection-012-ref.html"> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-016.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-016.html index 51ee402..82a77d7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-016.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-016.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="reference/active-selection-016-ref.html"> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-018.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-018.html index bf76e351..00826bb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-018.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-018.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="reference/active-selection-018-ref.html"> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-021.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-021.html index a03078c..767366b8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-021.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-021.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/active-selection-021-ref.html"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-025.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-025.html index c0a197f..fd861008 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-025.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-025.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="match" href="reference/active-selection-025-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, the div::selection selector has no 'color' declaration. The div::selection selector should use the 'color' declaration from the div rule and, for the first letter only, it should use the 'color' declaration from the ::first-letter pseudo-element. Therefore the first letter 'S' should be purple and the rest of the words should be green."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-027.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-027.html index f283231..899d23c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-027.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-027.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="match" href="reference/active-selection-027-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, the div::selection selector has no 'color' declaration. The div::selection selector should use the 'color' declaration from the div rule and, for the first line only, it should use the 'color' declaration from the ::first-line pseudo-element. Therefore the '1st selected text' should be purple and the '2nd selected text' should be green."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-031.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-031.html index bd6fe62..c7d79c8a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-031.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-031.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="reference/active-selection-031-ref.html"> - <meta content="" name="flags"> <link rel="stylesheet" href="support/highlights.css"> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-043.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-043.html index f760dee..944bf55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-043.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-043.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-bounds"> <link rel="match" href="../reference/ref-nothing-below.xht"> - <meta content="" name="flags"> <meta name="assert" content="In this test, a filled red image has a padding belt painted red and a red border. This test checks that the associated overlay for an image must not leak outside the image's border box."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-045.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-045.html index 415aa60..59cdcc2d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-045.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-045.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="../reference/ref-nothing-below.xht"> - <meta content="" name="flags"> <meta name="assert" content="This test checks that the associated overlay for image must not cover (or leak) outside the image's content box."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-056.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-056.html index c8c5e0e..aa147f3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-056.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-056.html
@@ -16,7 +16,6 @@ --> - <meta content="" name="flags"> <meta name="assert" content="The <br> element is an empty element. Its background color can be painted but specifying its color should generate no rendering effect of any kind. Since the 'background-color' has been specified as 'transparent', then nothing should be painted or viewable in this test."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-057.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-057.html index 4a40d1f..34afda4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-057.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-057.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="match" href="../reference/ref-nothing-below.xht"> - <meta content="" name="flags"> <meta name="assert" content="The <div id="subtest1"> element and the <hr> element in this test are empty elements. Their background color can be painted but specifying their 'color' should generate no rendering effect of any kind. Since the 'background-color' has not been specified in the ::selection pseudo-element, then it defaults to 'transparent'. The <div id="subtest3"> element is also an empty element since the 2 &NewLine; character references are line break control characters. Their background color can not be painted. Therefore, in this test, nothing should be painted or viewable. The fact that lines break at preserved newline characters thanks to 'white-space: pre' does not change that."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-063.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-063.html index 2a70a3b..0c151cf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-063.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/active-selection-063.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> - <meta content="" name="flags"> <meta name="assert" content="In this test, tab characters are preserved and converted into 4 consecutive blank spaces. The background of such blank spaces can be painted. The lines are broken after each tab character since 'white-space: pre' preserves line breaks."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-001.html index 6f38624..6068a076f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-001.html
@@ -13,7 +13,6 @@ https://www.w3.org/TR/css-pseudo-4/#example-c35bf49a --> - <meta content="" name="flags"> <meta name="assert" content="This test is an adaptation (or modified version) of Example 11 (#example-c35bf49a). The 'div > span::selection' selector has an higher specificity than the 'span::selection' selector."> <link rel="stylesheet" href="support/highlights.css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-002.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-002.html index 98846fd..50be805 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-002.html
@@ -13,7 +13,6 @@ https://www.w3.org/TR/css-pseudo-4/#example-97480f68 --> - <meta content="" name="flags"> <meta name="assert" content="This test is an adaptation (or modified version) of Example 12 (#example-97480f68). In this test, <span> element's ::selection matches the ::selection { background-color: green; } rule and not the div#test::selection rule because '*' is implied when a tag selector is missing."> <link rel="stylesheet" href="support/highlights.css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-004.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-004.html index 772d334..56abba71 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-004.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade"> <link rel="match" href="cascade-highlight-004-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, 'color' and 'background-color' have not been given a value for the span element. Since its parent element has an highlight pseudo-element, then these values should be inherited. Therefore the span element should be green on a yellow background and should not use the OS default selection highlight color values."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-005.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-005.html index 8887eda..2c6ba602 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/cascade-highlight-005.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade"> <link rel="match" href="reference/cascade-highlight-005-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, 'background-color' has not been specified a value for the highlight pseudo-element of the span element. Since the span's parent element has an highlight pseudo-element also, then the span's background color for its highlight pseudo-element should be inherited from its parent highlight pseudo-element. Therefore the span element should have a green background color."> <!--
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-001.html index afe1f9b6..b1dc5860 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-001.html
@@ -6,7 +6,6 @@ <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net"> <link rel="match" href="first-letter-001-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that a floated ::first-letter follows the usual formating rules for floats."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-002.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-002.html index 02cc920..4ee1476 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-002.html
@@ -6,7 +6,6 @@ <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net"> <link rel="match" href="first-letter-001-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-003.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-003.html index 9c6f87a..95b2471 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-003.html
@@ -6,7 +6,6 @@ <link rel="author" title="Florian Rivoal" href="mailto:florian@rivoal.net"> <link rel="match" href="first-letter-001-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-styling"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that a floated ::first-letter is formatted identically to a floated non-pseudo element with the same content."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-004.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-004.html index 9079126d..33c14fe 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-004.html
@@ -6,7 +6,6 @@ <link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com"> <link rel="match" href="first-letter-004-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-pseudo"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that punctuation and letters with combining characters still have proper ::first-letter styling."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-punctuation-and-space.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-punctuation-and-space.html index 9898c20d..2e5a353 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-punctuation-and-space.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/first-letter-punctuation-and-space.html
@@ -6,7 +6,6 @@ <link rel="author" title="Johannes Odland" href="mailto:johannes.odland@gmail.com"> <link rel="match" href="first-letter-punctuation-and-space-ref.html"> <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#first-letter-pseudo"> - <meta name="flags" content=""> <meta name="assert" content="Test checks that punctuation, intervening space separators and letters still have proper ::first-letter styling."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-001.html index 3fe34ae..b7eaa6b2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-001.html
@@ -11,7 +11,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="grammar-error-001-ref.html"> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-002-manual.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-002-manual.html index 3cec3df..baba5cd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-002-manual.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-002-manual.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> - <meta content="" name="flags"> <style> input
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-003-manual.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-003-manual.html index 876a7d55..4946033e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-003-manual.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-error-003-manual.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> - <meta content="" name="flags"> <style> textarea
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-001.html index f97d898e..66df551 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-001.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="reference/grammar-spelling-errors-001-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, we postulate that the word 'dificultly' represents both a grammar error and a spelling error. In such editorial scenario, then the pseudo-element ::spelling-error's background color (yellow) is supposed to be drawn over the pseudo-element ::grammar-error's background color (red). The color should remain green as the pseudo-element ::spelling-error's 'color' is unspecified."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-002.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-002.html index 242a3af9..3a89e54 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/grammar-spelling-errors-002.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="reference/grammar-spelling-errors-002-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, we postulate that the word 'wolks' represents both a grammar error and a spelling error. In such such editorial scenario, then the pseudo-element ::spelling-error's 'color' (green) is supposed to be drawn over the pseudo-element ::grammar-error's 'color' (red). The background color should remain yellow as ::spelling-error's 'background-color' is unspecified, therefore defaulting to 'transparent'."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-001.html index f81d25c..45b83ae8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="highlight-z-index-001-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="This test checks that the ::selection pseudo-element must be drawn below a relatively positioned element. In this test, such relatively positioned element is a preceding sibling element."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-002.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-002.html index 692984d8..26c96508 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/highlight-z-index-002.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="highlight-z-index-002-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="This test checks that the ::selection pseudo-element must be drawn below an absolutely positioned element. In this test, such absolutely positioned element is a preceding sibling element."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-contenteditable-011.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-contenteditable-011.html index 5203edb..bbefe09 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-contenteditable-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-contenteditable-011.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/selection-contenteditable-011-ref.html"> <!-- Allow different antialiased pixels on the focus ring. --> <meta name="fuzzy" content="0-5;0-255"> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-input-011.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-input-011.html index 56ea2a0..e5d1858b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-input-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-input-011.html
@@ -9,7 +9,6 @@ <link rel="match" href="reference/selection-input-011-ref.html"> <!-- Allow different antialiased pixels on the focus ring. --> <meta name="fuzzy" content="0-5;0-255"> - <meta content="" name="flags"> <style> input
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-grammar-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-grammar-001.html index 0ccc176..19768c73 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-grammar-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-grammar-001.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="reference/selection-overlay-and-grammar-001-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, the div::selection pseudo-element must be drawn over the div::grammar-error overlay."> <link rel="stylesheet" href="support/highlights.css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-spelling-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-spelling-001.html index b4c6f186..13f9a2c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-spelling-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-overlay-and-spelling-001.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting"> <link rel="match" href="reference/selection-overlay-and-spelling-001-ref.html"> - <meta content="" name="flags"> <meta name="assert" content="In this test, the div::selection pseudo-element must be drawn over the div::spelling-error overlay."> <link rel="stylesheet" href="support/highlights.css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-textarea-011.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-textarea-011.html index 4a925ba..0152b957 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-textarea-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/selection-textarea-011.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="match" href="reference/selection-textarea-011-ref.html"> - <meta content="" name="flags"> <style> textarea
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-001.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-001.html index a71d6f0..1654611 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-001.html
@@ -11,7 +11,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> <link rel="match" href="spelling-error-001-ref.html"> - <meta content="" name="flags"> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-002-manual.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-002-manual.html index 88fa970..18c0c9d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-002-manual.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-002-manual.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> - <meta content="" name="flags"> <style> input
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-003-manual.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-003-manual.html index 559a4fe0..95c564c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-003-manual.html +++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/spelling-error-003-manual.html
@@ -10,7 +10,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors"> <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling"> - <meta content="" name="flags"> <style> textarea
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ruby/improperly-contained-annotation-001.html b/third_party/blink/web_tests/external/wpt/css/css-ruby/improperly-contained-annotation-001.html index 6231dce..3790ba0b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ruby/improperly-contained-annotation-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ruby/improperly-contained-annotation-001.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-ruby-1/#box-fixup"> <link rel="match" href="reference/improperly-contained-annotation-001-ref.html"> - <meta content="" name="flags"> <meta content="This test checks that an improperly-contained ruby annotation is wrapped in an anonymous ruby container."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ruby/rb-display-001.html b/third_party/blink/web_tests/external/wpt/css/css-ruby/rb-display-001.html index d734bc02..5149eb3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ruby/rb-display-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ruby/rb-display-001.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-ruby-1/#base-annotation-pairing"> <link rel="match" href="reference/rb-display-001-ref.html"> - <meta content="" name="flags"> <style> ruby
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ruby/rbc-rtc-basic-001.html b/third_party/blink/web_tests/external/wpt/css/css-ruby/rbc-rtc-basic-001.html index e086181a..8da4a04 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ruby/rbc-rtc-basic-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ruby/rbc-rtc-basic-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="https://www.w3.org/TR/css-ruby-1/#box-fixup"> - <meta content="" name="flags"> <style> body
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ruby/rt-display-001.html b/third_party/blink/web_tests/external/wpt/css/css-ruby/rt-display-001.html index 14b0bca..a83ce24 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ruby/rt-display-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ruby/rt-display-001.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-ruby-1/#base-annotation-pairing"> <link rel="match" href="reference/rb-display-001-ref.html"> - <meta content="" name="flags"> <style> ruby
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-circle.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-circle.html index d8077c6..fe0b82a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-circle.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-circle.html
@@ -5,7 +5,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/"> <link rel="match" href="reference/float-retry-push-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test that a too-wide inline block is pushed in the block direction along a shape-outside circle until it fits."> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-image.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-image.html index 7087797..aed064d9c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-image.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-image.html
@@ -5,7 +5,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/"> <link rel="match" href="reference/float-retry-push-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test that a too-wide inline block is pushed in the block direction along a shape-outside image until it fits."> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-inset.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-inset.html index f24a0e6..ba339e6d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-inset.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-inset.html
@@ -5,7 +5,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/"> <link rel="match" href="reference/float-retry-push-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test that a too-wide inline block is pushed in the block direction along a shape-outside inset until it fits."> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-polygon.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-polygon.html index 3471d1b..9fc0330 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-polygon.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/assorted/float-retry-push-polygon.html
@@ -5,7 +5,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/"> <link rel="match" href="reference/float-retry-push-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test that a too-wide inline block is pushed in the block direction along a shape-outside polygon until it fits."> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html index a033c71..9bcadb1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-002.html index a4b2cbe..de942dc6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-001.html index 2ede1bb..863e3c0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-002.html index 2ee704a7..5b28371 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-003.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-003.html index bce4ee5..ff0960f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-003.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-003-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-004.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-004.html index 0e8cf24f..0a7dee8c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-004.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-004-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-005.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-005.html index c76bc98a..8bd2113 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-005.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-005-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-bottom-right-radius value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-006.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-006.html index 7303cb1..4afe1d42 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-006.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-006-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-top-right-radius value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-007.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-007.html index 0ece2a05..4a55ad0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-007.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-007-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-bottom-right-radius value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-008.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-008.html index 4dfe5173..de0c5d5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-008.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-008-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-top-right-radius value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-009.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-009.html index cfee546..27119bf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-009.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-bottom-right-radius value under sideways-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-010.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-010.html index 2ddb37b..dcb60fc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-010.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-010-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-top-right-radius value under sideways-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-011.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-011.html index acc188d..c604857 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-011.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-011-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box and border-top-right-radius value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-012.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-012.html index ccacd49..70b16559 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-border-radius-012.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-border-radius-012-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the border-box and border-bottom-right-radius value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-001.html index 76a3098c..a6558ae 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-content-box-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the content-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-002.html index bacb7ad0..f2045778 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-002.html
@@ -8,7 +8,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-content-box-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the content-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-001.html index a467bccf..90bc2d3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-content-box-border-radius-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the content-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-002.html index 9be47d5..aeae55c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-content-box-border-radius-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-content-box-border-radius-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the content-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-001.html index 8f6555d..b8977a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the margin-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-002.html index 6f9cdc02..09d4e57 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the margin-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-001.html index 2fbe5d2..c2a21fc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the margin-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-002.html index 6023e6e..96b162e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the margin-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-003.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-003.html index 56209027..f1b7f55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-003.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-003-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the margin-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-004.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-004.html index 33269ae1..26f000fc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-004.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-004-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the margin-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-005.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-005.html index cb7e707b..39d2a87e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-005.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-005-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the margin-box and border-top-right-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-006.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-006.html index 4a5beee..8cce6f18 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-006.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-006-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the margin-box and border-bottom-right-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-007.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-007.html index b1871ed3..61143a8f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-007.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-007-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape in rtl container defined by the margin-box and border-top-right-radius value."> <style> .bfc {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-008.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-008.html index 70df0bb..ddae6453 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-margin-box-border-radius-008.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-margin-box-border-radius-008-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape in ltr container defined by the margin-box and border-top-left-radius value."> <style> .bfc {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-001.html index 74d6227..0eee6fb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-padding-box-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the padding-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-002.html index a22978f..eb298de 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-002.html
@@ -8,7 +8,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-padding-box-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the padding-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-001.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-001.html index 66df1ac5..8b775c15 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-001.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-padding-box-border-radius-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the padding-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-002.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-002.html index 8ebb7df..ba603db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/shape-box/shape-outside-padding-box-border-radius-002.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-padding-box-border-radius-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the padding-box and border-radius value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html index a9f4048..74e6fff 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-032.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-032-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle(50% at left top) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-033.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-033.html index 9d2b0d8..5e02e167 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-033.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-033.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-033-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle(50% at right bottom) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-034.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-034.html index c9e978a..60fac07 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-034.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-034.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-034-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle(50% at right top) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-035.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-035.html index 348cdd31..ed92294 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-035.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-035.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-035-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle(50% at left bottom) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-036.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-036.html index 876d2fd..62e334079 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-036.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-036.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-036-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle() value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-037.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-037.html index 5cb146b5..53d8a5a7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-037.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-037.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-036-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle(closest-side at center) border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-038.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-038.html index be540c7..0c4adbf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-038.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-038.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-036-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle(farthest-side at center) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-041.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-041.html index 9b7ae67f7..faeb4cd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-041.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-041.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-041-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape circle(100%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-042.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-042.html index 8e2ee35..4c0625ac 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-042.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-042.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-042-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle() value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-043.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-043.html index 3393a16..06960c09 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-043.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-043.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-042-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle(closest-side at center) border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-044.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-044.html index ce0f667c..918c178 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-044.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-044.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-042-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle(farthest-side at center) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-047.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-047.html index a909c15..8dbc4758 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-047.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-047.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-047-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape circle(100%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-048.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-048.html index d6f3e89..38f5dd3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-048.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-048.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-048-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by circle(50% at left 40px top 40px) value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-049.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-049.html index 8f51a7ce..d9c5c9ff8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-049.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-049.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-049-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by circle(50% at left 40px bottom 40px) value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-050.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-050.html index 784f70ec..22e85d5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-050.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-050.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-050-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px top 40px) value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-051.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-051.html index d487af8..ebb46d5a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-051.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-051.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-051-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px bottom 40px) value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-052.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-052.html index ad908cf6..d8c462a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-052.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-052.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-052-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by circle(50% at right 40px bottom 40px) value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-053.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-053.html index 8e6532d..4ee2f88 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-053.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-053.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-053-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px top 40px) value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-054.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-054.html index 4f96f2d..5894a80 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-054.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-054.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-054-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by circle(50% at left 40px bottom 40px) value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-055.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-055.html index 611984b2..6e159ecd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-055.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-055.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-circle-055-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px bottom 40px) value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-032.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-032.html index 0917d096..22f4a87 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-032.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-032.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-032-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(40px 60px at left top) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-033.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-033.html index d761a48f..50b2f44 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-033.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-033.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-033-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(40px 60px at right bottom) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-034.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-034.html index f3274701..bedebc9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-034.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-034.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-034-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(40px 60px at right top)"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-035.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-035.html index c98eb06..ac560614 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-035.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-035.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-035-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(40px 60px at left bottom) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-036.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-036.html index dd2194ea..11d0b39 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-036.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-036.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-036-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse() value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-037.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-037.html index 70c9a03..6cb2fb2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-037.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-037.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-037-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-038.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-038.html index 190ae66..40d43c7e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-038.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-038.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-038-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse() value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-039.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-039.html index 5a76fbd7..852631b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-039.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-039.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-039-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closest-side farthest-side at right 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-040.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-040.html index 70db3c0..f650fa1e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-040.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-040.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-040-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the left float shape defines an empty float area by the basic shape ellipse(0% 0%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-041.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-041.html index 304382e..8929a7eb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-041.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-041.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-040-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the left float shape defines an empty float area by the basic shape ellipse(0% 0closest-side closest-side at top left) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-042.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-042.html index 4056a86..e534eb2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-042.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-042.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-042-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the right float shape defines an empty float area by the basic shape ellipse(0% 0%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-043.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-043.html index 3cd8896..ede60f8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-043.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-043.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-042-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the right float shape defines an empty float area by the basic shape ellipse(0% 0closest-side closest-side at top right) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-044.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-044.html index 4e5cb54..2d93a65d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-044.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-044.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-044-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(100% 100%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-045.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-045.html index 0c56b74..99b5faf7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-045.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-045.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-045-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(100% 100%) value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-046.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-046.html index cb53152..f8ff1ae6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-046.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-046.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-046-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closest-side farthest-side at top 40px right 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-047.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-047.html index 85f8ee4..3a019cf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-047.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-047.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-047-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closest-side farthest-side at top 40px right 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html index 5d993266..5a6cc90e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-048-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-049.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-049.html index 612ba93..bdb98d9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-049.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-049.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-049-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-050.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-050.html index 8437163..1889007 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-050.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-050.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-050-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-051.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-051.html index cca37cf..764406a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-051.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-051.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-051-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-016.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-016.html index ecf4a9d..d4ab82d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-016.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-016.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-016-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the inset(20px) border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-017.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-017.html index 7e0f232..cf19cc2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-017.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-017.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-017-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the inset(20px) border-box value."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-020.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-020.html index 204e4d4..d08b91e3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-020.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-020.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-020-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the inset(10px round 0 40px/ 0 60px) border-box value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-021.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-021.html index 218f59c..e1d48bff 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-021.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-021.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-021-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the inset(10px round 0 40px/ 0 60px) border-box value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-022.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-022.html index 69a2d485..5c51dc1a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-022.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-022-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-023.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-023.html index f4d8bd09..6e01d0f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-023.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-023.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-023-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-024.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-024.html index d1cfcfbd..ec02241 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-024.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-024.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-024-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-025.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-025.html index 40c0194..c843e0f7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-025.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-025.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-025-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-026.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-026.html index 6bacd729..354ddaf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-026.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-026.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-026-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-027.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-027.html index ca7893c..69fb1e7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-027.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-027.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-inset-027-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) border-box value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-018.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-018.html index 4509c1cb..832f960 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-018.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-018.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-018-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-019.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-019.html index 46bb1bf..62e2f0a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-019.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-019.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-019-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under horizontal-tb writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-020.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-020.html index 127c80a..4c5ef55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-020.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-020.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-020-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-021.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-021.html index 7698d4ea..321214b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-021.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-021.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-021-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under vertical-rl writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-022.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-022.html index 2d8a7e1..896e74b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-022.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-022-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-023.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-023.html index 452d1de..56f14811 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-023.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-023.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-023-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under vertical-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-024.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-024.html index 97e4dfa1..9e794492 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-024.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-024.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-024-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-025.html b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-025.html index 318e8cf..5e158f92 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-025.html +++ b/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-025.html
@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-polygon-025-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) border-box value under sideways-lr writing-mode."> <style> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-sizing/ortho-writing-mode-001.html b/third_party/blink/web_tests/external/wpt/css/css-sizing/ortho-writing-mode-001.html index 9342802..ca34be73 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-sizing/ortho-writing-mode-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-sizing/ortho-writing-mode-001.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-sizing-3/#intrinsic-sizes" title="first paragraph"> <link rel="help" href="https://www.w3.org/TR/css-writing-modes-4/#orthogonal-auto"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content="" /> <meta name="assert" content="The intrinsic size of an orthogonal child is its shrink to fit size after layout" /> <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-001.xht b/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-001.xht index aadd926..ff818d8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-001.xht
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#specificity" /> <link rel="match" href="reference/ref-green-on-green.xht" /> <meta http-equiv="Content-Style-Type" content="text/css" /> - <meta name="flags" content="" /> <meta name="assert" content="The style attribute has a higher specificity than any other selector." /> <style type="text/css"> #p1, .p1, p, p[style]
diff --git a/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-002.xht b/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-002.xht index 90f8b2b..1f7bb62871 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-style-attr/style-attr-specificity-002.xht
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#specificity" /> <link rel="match" href="reference/ref-green-on-green.xht" /> <meta http-equiv="Content-Style-Type" content="text/css" /> - <meta name="flags" content="" /> <meta name="assert" content="The style attribute has a higher specificity than all selectors, including ID selectors no matter how many." /> <style type="text/css"> /* 101 ID selectors to identify if selector matching is additive */
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-001.html index dd401c2..55a8f00 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Anders Ruud" href="mailto:andruud@chromium.org"> <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#the-width-property" title="See Note in <percentage>"> -<meta name="flags" content="" /> <meta name="assert" content="percent lengths of an abspos table are resolved against the padding box of the parent" /> <style> main div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-002.html index a72e2f17..74d956ba 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-002.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#used-width-of-table"> -<meta name="flags" content="" /> <meta name="assert" content="When sizing and positioning abspos tables, the intrinsic width is obeyed when the intrinsic width is larger than specified width" /> <style> .cb {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-003.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-003.html index a4f945e..a670819 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-003.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#used-width-of-table"> -<meta name="flags" content="" /> <meta name="assert" content="When sizing and positioning abspos tables, the specified width is obeyed when the intrinsic width is smaller" /> <style> .cb {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-004.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-004.html index a74d7dfb..a998d57 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-004.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#computing-the-table-height"> -<meta name="flags" content="" /> <meta name="assert" content="When sizing and positioning abspos tables, the intrinsic height is obeyed when the intrinsic height is larger than specified height" /> <style> .cb {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-005.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-005.html index 24444d3b..4935e25 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-005.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#computing-the-table-height"> -<meta name="flags" content="" /> <meta name="assert" content="When sizing and positioning abspos tables, the specified height is obeyed when the intrinsic height is smaller" /> <style> .cb {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-006.html b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-006.html index 91439a6..d5d2265 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/absolute-tables-006.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://www.w3.org/TR/css-position-3/#def-cb"> <link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> <link rel="bookmark" href="https://crbug.com/977507" /> -<meta name="flags" content="" /> <meta name="assert" content="Abspos table works when it is dynamically added" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html index b4caf5f0..dcda11f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/background-clip-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#the-background-clip"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/1008400" /> -<meta name="flags" content="" /> <meta name="assert" content="background-clip on a cell with collapsed borders is calculated correctly" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/border-spacing-included-in-sizes-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/border-spacing-included-in-sizes-001.html index 3f08023..be7d264 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/border-spacing-included-in-sizes-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/border-spacing-included-in-sizes-001.html
@@ -6,7 +6,6 @@ <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsetheight"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#bounding-box-assignment"> <link rel="bookmark" href="https://crbug.com/613753" /> -<meta name="flags" content="" /> <meta name="assert" content="border-spacing occurring outside rows and sections is not included in their height and width" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/box-shadow-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/box-shadow-001.html index cc699d99..9a9fb06 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/box-shadow-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/box-shadow-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#box-shadow"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/1006241" /> -<meta name="flags" content="" /> <meta name="assert" content="box-shadow size and location on a cell with collapsed borders are calculated correctly" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-001.html index 835a5116..70db1259 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-001.html
@@ -3,7 +3,6 @@ <script src='/resources/testharnessreport.js'></script> <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows"> -<meta name="flags" content="" /> <meta name="assert" content="caption margins are resolved against table's height when table has vertical flow" /> <style> x-table {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-002.html index 8a2b6086..35de4f76 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/caption-writing-mode-002.html
@@ -3,7 +3,6 @@ <script src='/resources/testharnessreport.js'></script> <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows"> -<meta name="flags" content="" /> <style> x-table { display: table;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006b.xht b/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006b.xht index 78ec3dc4..664edbd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006b.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006b.xht
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats" /> <link rel="match" href="floats-wrap-bfc-006b-ref.xht"/> <meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself." /> - <meta name="flags" content="" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006c.xht b/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006c.xht index 618931c0..8859346 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006c.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/floats/floats-wrap-bfc-006c.xht
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#floats" /> <link rel="match" href="floats-wrap-bfc-006c-ref.xht"/> <meta name="assert" content="The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with 'overflow' other than 'visible') must not overlap any floats in the same block formatting context as the element itself." /> - <meta name="flags" content="" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html index 81698a19..387bfaf 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-001.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#height-distribution-algorithm"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=708345" /> -<meta name="flags" content="" /> <meta name="assert" content="height of rows in thead are increased to match table height" /> <title> all row groups receive extra height distribution
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html index 0bf8a894..6a0589d3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-002.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#height-distribution-algorithm"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=708345" /> -<meta name="flags" content="" /> <meta name="assert" content="height of rows in tbody are increased to match table height" /> <title> all row groups receive extra height distribution
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html index 285017b..7970f95d0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-003.html
@@ -6,7 +6,6 @@ <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-tables-3/#height-distribution-algorithm"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=708345" /> -<meta name="flags" content="" /> <meta name="assert" content="All rows of equal intrinsic height should be increased the same amount, regardless of which group they are in, tbody+tbody case" /> <title> all row groups receive extra height distribution
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html index 0fcd48e..8ca86957 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-004.html
@@ -6,7 +6,6 @@ <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-tables-3/#height-distribution-algorithm"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=708345" /> -<meta name="flags" content="" /> <meta name="assert" content="All rows of equal intrinsic height should be increased the same amount, regardless of which group they are in, thead+tbody case" /> <title> all row groups receive extra height distribution
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html index 8d0411b0..381d775e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/extra-height-given-to-all-row-groups-005.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#height-distribution-algorithm"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=708345" /> -<meta name="flags" content="" /> <meta name="assert" content="height of rows in tfoot are increased to match table height" /> <title> all row groups receive extra height distribution
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html index 0a8a8e5..1198e6f6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-003.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#row-layout"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/982312" /> -<meta name="flags" content="" /> <meta name="assert" content="min-height is honored on a %height child of a table cell with an unresolvable %height and when the descendant has overflow:auto" /> <title>table cell percent height descendant with overflow:auto</title>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html index f08fed6..ffbb4b0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-004.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#row-layout"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/982312" /> -<meta name="flags" content="" /> <meta name="assert" content="%height child of a table cell with a fixed height is positioned correctly when the min-height is greater than the cell's fixed height and when the descendant has overflow:auto." /> <title>table cell percent height descendant with overflow:auto</title>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html index 9726540e..0a0e658 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-005.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#row-layout"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/982312" /> -<meta name="flags" content="" /> <meta name="assert" content="intrinsic height of a table cell descendant is honored when the descendant and cell both have unresolvable percentage heights and when the descendant has overflow:auto" /> <title>table cell percent height descendant with overflow:auto</title>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html index 2104e4b..de3ac01 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-006.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#row-layout"> <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://crbug.com/982312" /> -<meta name="flags" content="" /> <meta name="assert" content="table cell descendant retains its min-height when the descendant and cell both have unresolvable percentage heights and the descendant has overflow:auto, and the cell's sibling has a fixed height greater than the descendant's min-height." /> <title>table cell percent height descendant with overflow:auto</title>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/internal-containing-block-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/internal-containing-block-001.html index a874548..9e859f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/internal-containing-block-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/internal-containing-block-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://www.w3.org/TR/css-position-3/#valdef-position-absolute"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=798164" /> -<meta name="flags" content="" /> <meta name="assert" content="A table-row with position:relative establishes a containing block for a position:absolute descendent of a table-cell, and the descendent is positioned correctly." />
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-001.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-001.tentative.html index 214eee71..5cdb0ea 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-001.tentative.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-001.tentative.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3336"> -<meta name="flags" content="" /> <meta name="assert" content="A cell's percent width is ignored when its table is nested in another cell" /> No red should show. Yellow and blue rectangles are in proportion to their contents' intrinsic widths, not affected by yellow's percent-width bloating the
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-002.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-002.tentative.html index 97f6f4904..e18913f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-002.tentative.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-002.tentative.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3336"> -<meta name="flags" content="" /> <meta name="assert" content="Should cell's percent width be ignored when its table is nested in a shrink to fit block?" /> <p>Edge 44.17763 and Chrome 70 make this 300px wide. FF makes it 150px wide.</p> <div id="stf" style="position:absolute; background:blue;" data-expected-width=300>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-003.tentative.html b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-003.tentative.html index 3df8548ce..c2282f3c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-003.tentative.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/percent-width-ignored-003.tentative.html
@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/3336"> -<meta name="flags" content="" /> <meta name="assert" content="A cell's percent width is ignored when its table is nested in another cell, even if there's an intermediate block." /> Engines render this same as without the intermediate background:blue block -- yellow 1% width is ignored. <table id="outerTable" style="width: 300px" cellspacing="0" cellpadding="0">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-001.html index a71f5cc..a74e7a10 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-001.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606"> <link rel="match" href="subpixel-collapsed-borders-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-002.html index 8f8292cd..e074e21 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-002.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606"> <link rel="match" href="subpixel-collapsed-borders-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins even when the cell border is merely 0.01 pixels narrower" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-003.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-003.html index 358562c..e22df9e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-collapsed-borders-003.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm"> <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606"> <link rel="match" href="subpixel-collapsed-borders-003-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins even when the floored table border is the same size as the cell's." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-height-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-height-001.html index 581efa0..58f8377 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-height-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-height-001.html
@@ -2,7 +2,6 @@ <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://drafts.csswg.org/css-values-3/#calc-notation"> <link rel="match" href="subpixel-table-cell-height-001-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When a cell has a specified calc height and a block box has the same specified calc height, their actual heights should match." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-001.html index 2174fbec..22bb1f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-001.html
@@ -2,7 +2,6 @@ <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/CSS21/cascade.html#value-stages"> <link rel="match" href="subpixel-table-cell-width-001-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When a cell has a specified fractional fixed width and a block has the same specified fractional width, their actual widths should match." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-002.html index f47938f..5ddc9f67 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-cell-width-002.html
@@ -2,7 +2,6 @@ <link rel="author" title="David Grogan" href="dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/CSS21/cascade.html#value-stages"> <link rel="match" href="subpixel-table-cell-width-001-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="When a cell has a specified percent width that results in a fractional used width, the cell's actual width should match that of a block whose specified fixed width is the cell's used width" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-width-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-width-001.html index 153282f..67b1b7d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-width-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/subpixel-table-width-001.html
@@ -2,7 +2,6 @@ <link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org"> <link rel="help" href="https://www.w3.org/TR/CSS22/syndata.html#value-def-percentage"> <link rel="match" href="subpixel-table-width-001-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="A table with width:100% has same actual width as its parent's actual width." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-001.html index e3cddd12..570065c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-001.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#mapping"> <link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=598134" /> -<meta name="flags" content="" /> <meta name="assert" content="default box-sizing for <table> is border-box" /> <title> UA stylesheet, <table>, box-sizing
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-002.html b/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-002.html index 910eb61..bd78f30 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/table-has-box-sizing-border-box-002.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://drafts.csswg.org/css-tables-3/#mapping"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=598134" /> -<meta name="flags" content="" /> <meta name="assert" content="default <table> box-sizing:border-box is not applied to non-table elements that have display:table" /> <title> UA stylesheet, <table>, box-sizing
diff --git a/third_party/blink/web_tests/external/wpt/css/css-tables/toggle-row-display-property-001.html b/third_party/blink/web_tests/external/wpt/css/css-tables/toggle-row-display-property-001.html index 08e6635..8755cd0 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-tables/toggle-row-display-property-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-tables/toggle-row-display-property-001.html
@@ -3,7 +3,6 @@ <link rel="help" href="https://www.w3.org/TR/CSS2/visuren.html#display-prop"> <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=764031"> <link rel="match" href="toggle-row-display-property-001-ref.html"> -<meta name="flags" content="" /> <meta name="assert" content="After setting display:table-row on tr elements with display:none, the table should look same as if display:none were never used." /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-001.xht index 1451ae9..8bfcb7c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-001.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:underline - visibility:hidden 1</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-002.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-002.xht index e0d03a4..43b93b03 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-002.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-002.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:underline - visibility:hidden 2</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-003.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-003.xht index e8477be5..b27d419 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-003.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-003.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:underline - visibility:hidden 3</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-004.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-004.xht index 7e810ac..494bdc09 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-004.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-004.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:underline - visibility:hidden 4</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-005.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-005.xht index e49dcc8..c78bc781 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-005.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-005.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:overline - visibility:hidden 5</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-006.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-006.xht index 7ebecdd..3447fc3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-006.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-006.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:overline - visibility:hidden 6</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-007.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-007.xht index e95c85e..ef866aa 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-007.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-007.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:overline - visibility:hidden 7</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-008.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-008.xht index afb39460..23a3d34 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-008.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-008.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:overline - visibility:hidden 8</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-009.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-009.xht index 6ad4988a..c309a2b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-009.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-009.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:line-through - visibility:hidden 9</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-010.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-010.xht index 6adec80a..2a073a8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-010.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-010.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:line-through - visibility:hidden 10</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-011.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-011.xht index 13164729..55dbddb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-011.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-011.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:line-through - visibility:hidden 11</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-012.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-012.xht index 904460a..daeab98 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-012.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-decoration-visibility-012.xht
@@ -5,7 +5,6 @@ <title>CSS Test: text-decoration:line-through - visibility:hidden 12</title> <link rel="author" title="James Hopkins" href="http://idreamincode.co.uk/css21testsuite"/> <link rel="help" href="https://drafts.csswg.org/css-text-decor/#line-decoration"/> - <meta name="flags" content=""/> <meta name="assert" content="Inline element with 'visibility:hidden' must not prevent a text-decoration value being applied to the line box"/> <style type="text/css"> #test{
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-color-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-color-001.xht index b393c03..344200f2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-color-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-color-001.xht
@@ -7,7 +7,6 @@ <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com" /> <link rel="help" href="https://drafts.csswg.org/css-text-decor-3/#text-emphasis-color-property" /> <link rel="match" href="reference/text-emphasis-color-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property describes the foreground color of the emphasis marks." /> <style type="text/css"><![CDATA[ .emphasis
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-filled-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-filled-001.xht index 07b93210..63cf4f4c8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-filled-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-filled-001.xht
@@ -7,7 +7,6 @@ <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com" /> <link rel="help" title="CSS Text Level 3: 11.2.1. Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" /> <link rel="match" href="reference/text-emphasis-style-filled-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property applies emphasis marks to the element's text. " /> <style type="text/css"><![CDATA[ .parent
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-none-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-none-001.xht index d57c9b5..17686a55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-none-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-none-001.xht
@@ -6,7 +6,6 @@ <link rel="author" title="Makoto Kikuchi" href="mailto:kikuchi@est.co.jp" /> <link rel="help" title="CSS Text Level 3: 11.2.1. Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" /> <link rel="match" href="reference/text-emphasis-style-none-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property applies emphasis marks to the element's text. " /> <style type="text/css"><![CDATA[ .parent
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-open-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-open-001.xht index 8650fb5..fb16558 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-open-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-open-001.xht
@@ -7,7 +7,6 @@ <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com" /> <link rel="help" title="CSS Text Level 3: 11.2.1. Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" /> <link rel="match" href="reference/text-emphasis-style-open-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property applies emphasis marks to the element's text. " /> <style type="text/css"><![CDATA[ .parent
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-shape-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-shape-001.xht index dd9b71e..ef6220d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-shape-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-shape-001.xht
@@ -7,7 +7,6 @@ <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com" /> <link rel="help" title="CSS Text Level 3: 11.2.1. Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" /> <link rel="match" href="reference/text-emphasis-style-shape-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property applies emphasis marks to the element's text. " /> <style type="text/css"><![CDATA[ .parent
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-string-001.xht b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-string-001.xht index e4bcfaf..8cb320d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-string-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-text-decor/text-emphasis-style-string-001.xht
@@ -7,7 +7,6 @@ <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com" /> <link rel="help" title="CSS Text Level 3: 11.2.1. Emphasis Mark Style: the ‘text-emphasis-style’ property" href="http://www.w3.org/TR/css-text-decor-3/#text-emphasis-style-property" /> <link rel="match" href="reference/text-emphasis-style-string-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="This property applies emphasis marks to the element's text. " /> <style type="text/css"><![CDATA[ .parent
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html b/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html new file mode 100644 index 0000000..47349ea8 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/letter-spacing-bengali-yaphala-001.html
@@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html lang="en"> +<meta charset="utf-8"> +<title>CSS Text test: letter-spacing and Bengali ya-phala (yo-pholo)</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="match" href="reference/letter-spacing-bengali-yaphala-001-ref.html"> +<meta name="assert" content="Letter-spacing does not separate yaphala from the preceding letter."> +<link rel="help" href="https://drafts.csswg.org/css-text/#letter-spacing-property"> +<link rel="help" href="https://github.com/w3c/line_paragraph_tests/issues/81"> + +<style> +/* We try various "likely" font names, as well as generics; those not available + on the platform will simply fall back to a default. */ +.outer.a { + font-family: sans-serif; +} +.outer.b { + font-family: serif; +} +.outer.c { + font-family: Bangla MN, serif; +} +.outer.d { + font-family: Bangla Sangam MN, sans-serif; +} +.outer.e { + font-family: Nirmala UI, Vrinda, sans-serif; +} +.outer.f { + font-family: Noto Sans Bengali, sans-serif; +} +.inner { + position: relative; + margin: 1em; + height: 2em; +} +.test { + padding: 0.25em; + color: red; + letter-spacing: 1em; + position: absolute; +} +.mask { + padding: 0.25em; + color: green; + background: green; + position: absolute; +} +span { + display: inline-block; +} +</style> + +<p>Test passes if the red Bengali text is entirely hidden by the green blocks.</p> + +<div class="outer a"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer b"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer c"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer d"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer e"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer f"> + <div class="inner" lang="bn"> + <div class="test">অ্যান্টিগুয়া</div><!-- there should be 3 letter-spacing opportunities in this word --> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="test">এ্যাডভোকেট</div><!-- there should be 4 letter-spacing opportunities in this word --> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/reference/letter-spacing-bengali-yaphala-001-ref.html b/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/reference/letter-spacing-bengali-yaphala-001-ref.html new file mode 100644 index 0000000..a1ff2e0 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-text/letter-spacing/reference/letter-spacing-bengali-yaphala-001-ref.html
@@ -0,0 +1,98 @@ +<!DOCTYPE html> +<html lang="en"> +<meta charset="utf-8"> +<title>CSS Text reference: letter-spacing and Bengali ya-phala (yo-pholo)</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> + +<style> +/* We try various "likely" font names, as well as generics; those not available + on the platform will simply fall back to a default. */ +.outer.a { + font-family: sans-serif; +} +.outer.b { + font-family: serif; +} +.outer.c { + font-family: Bangla MN, serif; +} +.outer.d { + font-family: Bangla Sangam MN, sans-serif; +} +.outer.e { + font-family: Nirmala UI, Vrinda, sans-serif; +} +.outer.f { + font-family: Noto Sans Bengali, sans-serif; +} +.inner { + position: relative; + margin: 1em; + height: 2em; +} +.mask { + padding: 0.25em; + color: green; + background: green; + position: absolute; +} +span { + display: inline-block; +} +</style> + +<p>Test passes if the red Bengali text is entirely hidden by the green blocks.</p> + +<div class="outer a"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer b"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer c"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer d"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer e"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div> + +<div class="outer f"> + <div class="inner" lang="bn"> + <div class="mask">অ্যান্টিগুয়া<span style="width:3em"></span></div> + </div> + <div class="inner" lang="bn"> + <div class="mask">এ্যাডভোকেট<span style="width:4em"></span></div> + </div> +</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-001.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-001.html index 108dd64..5210a68 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'center' computes to 50% for the vertical position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-002.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-002.html index 26a4108..869c327 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'center' computes to 50% for the horizontal position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-003.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-003.html index 0d867df..109f806 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-003.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-004.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-004.html index caf23874..562e0bb8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-004.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'top' computes to 0% for the vertical position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-005.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-005.html index 08b91a2..e71d6df 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-005.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'left' computes to 0% for the horizontal position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-006.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-006.html index d0892fd3..6bbb6fb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/perspective-origin-006.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="11. The 'perspective-origin' Property" href="http://www.w3.org/TR/css-transforms-2/#propdef-perspective-origin"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'perspective-origin' property set 'right' computes to 100% for the horizontal position."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_45deg.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_45deg.html index a4876acd3..3c9b741 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_45deg.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_45deg.html
@@ -6,7 +6,6 @@ <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-rotate"/> <link rel="match" href="rotate_45deg-ref.html"/> <meta name="fuzzy" content="maxDifference=159-255;totalPixels=50-200"> - <meta name="flags" content="" /> <meta name="assert" content="Rotate 45 degree in y axis"/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_x_45deg.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_x_45deg.html index 04a584a..5d66279 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_x_45deg.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_x_45deg.html
@@ -6,7 +6,6 @@ <link rel="help" href="http://www.w3.org/TR/css-transforms-2/#3d-transform-rendering"/> <link rel="match" href="rotate_x_45deg-ref.html"/> <meta name="fuzzy" content="maxDifference=159-255;totalPixels=50-200"> - <meta name="flags" content="" /> <meta name="assert" content="Rotate 45 degree in y axis"/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_y_45deg.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_y_45deg.html index e3c0652..a7c5946 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_y_45deg.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotate_y_45deg.html
@@ -6,7 +6,6 @@ <link rel="help" href="http://www.w3.org/TR/css-transforms-2/#3d-transform-rendering"/> <link rel="match" href="rotate_y_45deg-ref.html"/> <meta name="fuzzy" content="maxDifference=159-255;totalPixels=50-200"> - <meta name="flags" content="" /> <meta name="assert" content="Rotate 45 degree in y axis"/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/scalex.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/scalex.html index a26c2a9..9669dc8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/scalex.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/scalex.html
@@ -5,7 +5,6 @@ <link rel="author" title="Ebay Inc." href="mailto:xiatian@ebay.com"/> <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-scalex"/> <link rel="match" href="scalex-ref.html"/> - <meta name="flags" content="" /> <meta name="assert" content="scale x 2"/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/scaley.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/scaley.html index 4137e8ffb..293855c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/scaley.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/scaley.html
@@ -4,7 +4,6 @@ <link rel="author" title="Ebay Inc." href="mailto:xiatian@ebay.com"/> <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-scaley"/> <link rel="match" href="scaley-ref.html"/> - <meta name="flags" content="" /> <meta name="assert" content="scale y 2"/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-above-001.xht b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-above-001.xht index 9a3aac8..ce03b4f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-above-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-above-001.xht
@@ -5,7 +5,6 @@ <link rel="author" title="Apple Inc." href="http://www.apple.com/"/> <link rel="help" href="http://www.w3.org/TR/css-transforms-2/#3d-transform-rendering"/> <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid."/> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-below-001.xht b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-below-001.xht index 25c171fc..9282f24 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-below-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-3d-rotateY-stair-below-001.xht
@@ -6,7 +6,6 @@ <link rel="help" href="http://www.w3.org/TR/css-transforms-2/#3d-transform-rendering"/> <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht"/> <meta name="fuzzy" content="maxDifference=0-3;totalPixels=0-80" /> - <meta name="flags" content="" /> <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid."/> <style type="text/css"><![CDATA[
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-applies-to-001.xht b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-applies-to-001.xht index 09bb196d..c491604 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-applies-to-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-applies-to-001.xht
@@ -5,7 +5,6 @@ <link rel="author" title="Apple Inc." href="http://www.apple.com/"/> <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property"/> <link rel="match" href="reference/transform-applies-to-001-ref.xht"/> - <meta name="flags" content="" /> <meta name="assert" content="The 'transform' property applies to elements with 'display' set to 'block'."/> <style type="text/css"><![CDATA[ div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-007.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-007.html index ff6b698..074fd96 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-007.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-007.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'bottom' computes to 100% for the vertical position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-008.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-008.html index 75a2f5f4..1103ecb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-008.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-009.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-009.html index 8da416aa..00b78e4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-009.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-010.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-010.html index 85f3d8e..7f343e5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-010.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'left' computes to 0% for the horizontal position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-011.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-011.html index c694475..a8056b1c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-011.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'right' computes to 100% for the horizontal position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-012.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-012.html index f7aa466..220d4db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/transform-origin-012.html
@@ -5,7 +5,6 @@ <link rel="author" title="Jieqiong Cui" href="mailto:jieqiongx.cui@intel.com"> <link rel="help" title="8. The 'transform-origin' Property" href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property"> <link rel="match" href="transform-origin-007-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="The 'transform-origin' property set 'top' computes to 0% for the vertical position."> <style> .div1 {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/translate.html b/third_party/blink/web_tests/external/wpt/css/css-transforms/translate.html index 34e9316..1c1f42e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-transforms/translate.html +++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/translate.html
@@ -5,7 +5,6 @@ <link rel="author" title="Ebay Inc." href="mailto:xiatian@ebay.com"/> <link rel="help" href="https://www.w3.org/TR/css-transforms-1/#funcdef-transform-translate"/> <link rel="match" href="translate-ref.html"/> - <meta name="flags" content="" /> <meta name="assert" content="translate x, y "/> <style type="text/css"> .container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-001.html b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-001.html index 545403f..870f486 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-001.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing"> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth"> -<meta name="flags" content=""> <link rel="match" href="reference/box-sizing-001-ref.html"> <meta name="assert" content="When box-sizing is border-box, the content width, rather than the computed value of the width property, is considered when checking whether a block is larger than its containing block.">
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-003.html b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-003.html index 089406f..4aefec6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-003.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing"> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width"> -<meta name="flags" content=""> <link rel="match" href="reference/box-sizing-001-ref.html"> <meta name="assert" content="When box-sizing is border-box, the content width, rather than the computed value of the width property, should be used in the the constraint that determines the used values of sizing and positioning properties
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-005.html b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-005.html index 232a89c..64267da8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-005.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing"> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height"> -<meta name="flags" content=""> <link rel="match" href="reference/box-sizing-001-ref.html"> <meta name="assert" content="When box-sizing is border-box, the content height, rather than the computed value of the height property, should be used in the the constraint that determines the used values of sizing and positioning properties
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-026.html b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-026.html index 424b764a..399c049 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-026.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/box-sizing-026.html
@@ -3,7 +3,6 @@ <title>CSS Basic User Interface Test: box-sizing:border-box floors to 0</title> <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing"> -<meta name="flags" content=""> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="Floor width and height computation to 0 as they cannot be negative."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-001.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-001.html index e24b68c4..e669e23 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="7.1. 'outline' property" href="http://www.w3.org/TR/css3-ui/#outline"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline property creates outlines around visual objects and makes them stand out"> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-002.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-002.html index f64fb177..7d8253d454 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="7.1. 'outline' property" href="http://www.w3.org/TR/css3-ui/#outline"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline property inherits the parent's value when outline set inherit"> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-022.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-022.html index e800f90..5da54969 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-022.html
@@ -3,7 +3,6 @@ <link rel="author" href="mailto:atotic@google.com"> <link rel="help" href="https://drafts.csswg.org/css-ui/#outline-props"> <link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> -<meta name="flags" content=""> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> body {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-color-001.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-color-001.html index 4245b2c..82824e4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-color-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-color-001.html
@@ -5,7 +5,6 @@ <link rel="help" title="7.4. 'outline-color' property" href="http://www.w3.org/TR/css3-ui/#outline-color"> <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the color of sub element outline is same as the color of parent element outline when outline-color set inherit"> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-offset-001.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-offset-001.html index a131e96..8f82eb64 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-offset-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-offset-001.html
@@ -5,7 +5,6 @@ <link rel="help" title="7.5. 'outline-offset' property" href="http://www.w3.org/TR/css3-ui/#outline-offset"> <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline-offset keeps spacing between outline and element content"> <style> #container {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-011.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-011.html index 36ef27a..a4981ed 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-011.html
@@ -6,7 +6,6 @@ <link rel="help" title="7.3. 'outline-style' property" href="http://www.w3.org/TR/css3-ui/#outline-style"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#value-def-border-style"> <link rel="match" href="reference/outline-style-011-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline style is dotted when outline-style set dotted"> <style> #test {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-012.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-012.html index df44c67b..30b7f955 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-012.html
@@ -6,7 +6,6 @@ <link rel="help" title="7.3. 'outline-style' property" href="http://www.w3.org/TR/css3-ui/#outline-style"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#value-def-border-style"> <link rel="match" href="reference/outline-style-012-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the sub element outline style is same as parent element outline style when outline-style set inherit"> <style> #parent {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-013.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-013.html index ea03a3e..3df338f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-013.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-013.html
@@ -6,7 +6,6 @@ <link rel="help" title="7.3. 'outline-style' property" href="http://www.w3.org/TR/css3-ui/#outline-style"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#value-def-border-style"> <link rel="match" href="reference/outline-style-013-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline style is dashed when outline-style set dashed"> <style> #test {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-014.html b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-014.html index b6ac104c..52440db 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-014.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/outline-style-014.html
@@ -6,7 +6,6 @@ <link rel="help" title="7.3. 'outline-style' property" href="http://www.w3.org/TR/css3-ui/#outline-style"> <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#value-def-border-style"> <link rel="match" href="reference/outline-style-014-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the outline style is two solid lines when outline-style set double"> <style> #test {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-001.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-001.html index 375c5c1..ae90299 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="8.2. Overflow Ellipsis: the 'text-overflow' property" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-001-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that the inline content that overflows will be clipped. Characters may be only partially rendered when text-overflow set clip"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-002.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-002.html index f90b2c97..d8a9529 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="8.2. Overflow Ellipsis: the 'text-overflow' property" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-002-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that an ellipsis (...) is shown instead of overflowing textual content"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-003.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-003.html index aaa95fd1..ea958ef3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-003.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="8.2. Overflow Ellipsis: the 'text-overflow' property" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-001-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that text-overflow inherits the parent' clip value when text-overflow set inherit"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-004.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-004.html index 5fe412b..1cc11e8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-004.html
@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:shiyoux.tan@intel.com"> <link rel="help" title="8.2. Overflow Ellipsis: the 'text-overflow' property" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-002-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Test checks that text-overflow inherits the parent' ellipsis value when text-overflow set inherit"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-006.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-006.html index f978f62..8fd149a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-006.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-006.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-006-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Checks that the elipsis is applied at the edge of the line box, not the end of the block container, when these are different."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-009.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-009.html index e7a4e03..384f820 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-009.html
@@ -4,7 +4,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The first atomic inline on a line must be clipped rather than ellipsed."> <style> body > div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-022.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-022.html index 5a3a7e4..e1ada9d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-022.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-022.html
@@ -5,7 +5,6 @@ <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-022-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="Implementations must hide characters, i.e. entire garpheme clusters, not part of them, to make room for the ellipsis"> <style> #sizer {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-027.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-027.html index fcb01040..6e7686c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-027.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-027.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css-ui-3/#text-overflow"> <link rel="help" href="http://www.w3.org/TR/css-ui-4/#text-overflow"> <link rel="match" href="reference/text-overflow-027-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="text-overflow is a visual operation that occurs after layout, and therfore ellides text from the visual end of the line, even in bidi situations"> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-028.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-028.html index af906e1..68b47cc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-028.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-028.html
@@ -5,7 +5,6 @@ <link rel="help" href="http://www.w3.org/TR/css-ui-3/#text-overflow"> <link rel="help" href="http://www.w3.org/TR/css-ui-4/#text-overflow"> <link rel="match" href="reference/text-overflow-028-ref.html"> -<meta name="flags" content=""> <meta name="assert" content="text-overflow is a visual operation that occurs after layout, and therfore ellides text from the visual end of the line, even in bidi situations"> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-029.html b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-029.html index f178011..07ba4471 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-029.html +++ b/third_party/blink/web_tests/external/wpt/css/css-ui/text-overflow-029.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css-ui-4/#text-overflow"> <link rel="match" href="reference/text-overflow-029-ref.html"> <meta name="assert" content="When there's content of mixed directionality, text-overflow ellides the characters at the physical end of the line."> -<meta name="flags" content=""> <style> div { font: 20px monospace;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-002.html b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-002.html index ff9cdca1..08b6fbd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-002.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'deg' angle unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-003.html b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-003.html index 786d5fa..ace23be3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-003.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'grad' angle unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-004.html b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-004.html index 34722a3..3a92b2a 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-004.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'rad' angle unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-005.html b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-005.html index 625952a..786e33c7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-005.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/angle-units-005.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'turn' angle unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1-ref.html index 3fefef2..d4b529b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for calc() on background-image gradients</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1.html index b2c0289..f7d39be 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-image-gradient-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-background-image-gradient-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1-ref.html index 5c8a604..ce415e7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1-ref.html
@@ -2,7 +2,6 @@ <head> <title>CSS Reference: Support calc() on gradient stop positions</title> <link rel="author" title="Yu-Sian (Thomasy) Liu" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594935"> - <meta name="flags" content=""> <style type="text/css"> div { width:100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1.html index 6d60e8dd..77250831 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-linear-gradient-1.html
@@ -4,7 +4,6 @@ <link rel="author" title="Yu-Sian (Thomasy) Liu" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594935"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-background-linear-gradient-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> div { width:100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-002.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-002.html index c1dad2eb..249cdc3 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-002.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="https://www.w3.org/TR/css-values-3/#calc-computed-value"> - <meta name="flags" content=""> <meta content="This test verifies how 6 calc() functions are computed for 'background-position'." name="assert"> <script src="/resources/testharness.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-003.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-003.html index 61ba0a4..a3f5e84 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-003.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="https://www.w3.org/TR/css-values-4/#calc-serialize"> - <meta name="flags" content=""> <meta content="This test verifies how 6 calc() functions are serialized for 'background-position'." name="assert"> <script src="/resources/testharness.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1-ref.html index b64aa46bf..37c9c68c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for calc() on background-position</title> <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1.html index 68351ae..8d3fde5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-position-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-background-position-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1-ref.html index 5385c46..4469f15 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for calc() on background-size</title> <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1.html index f52ceee..081ae483 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-background-size-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-background-size-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1-ref.html index 24681d0..b5b4997 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: test for border-radius: calc()</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1.html index ad36d36..05e9850 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-border-radius-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-border-radius-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> p {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1-ref.html index be75d5d6..ffdf9ec 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for height:calc() or min-height:calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; width: 1px; background: blue; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1.html index 9525c87d..88ad94e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-height-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 1px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1-ref.html index d936f69e..5f8ebbe 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test that height:calc() with no percentages has an effect on inner table elements</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> tbody, tr, td { height: 500px;
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1.html index 64b7b5dc..faea8dd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-height-table-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-height-table-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> tbody, tr, td { height: calc(500px);
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1-ref.html index acfc0889..954187d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test of margin-*: calc()</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> div { border: medium solid green; width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1.html index 7372bd2a..5b4e061 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-margin-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-margin-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> div { border: medium solid green; width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1-ref.html index 9907c99..10719ca 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for max-height:calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; width: 1px; background: blue; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1.html index d0f978a..48ea8b57 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-height-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-max-height-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 1px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-1.html index c6a31d2..9802653 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1-ref.html index 8cb6931..6aea315 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: intrinsic width of max-width: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1.html index 433c195..4aefc48 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-max-width-block-intrinsic-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-max-width-block-intrinsic-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { font-size: 10px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height-block-1.html index ed60d9a0..60ce599af 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-height-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 1px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height.html index a3cfa4721..dd15e70 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-height.html
@@ -21,7 +21,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#calc-notation"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="This test checks how 'min-height' with calc(percentage) and 'box-sizing' are handled. The percentage in the calc() is calculated on the content box height of div#container."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-1.html index 8195f68..d4de255 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1-ref.html index 82fae97..3801928 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: intrinsic width of min-width: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1.html index edc5643..a054c68 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-min-width-block-intrinsic-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-min-width-block-intrinsic-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { font-size: 10px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-bottom-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-bottom-1.html index b3bf1ccb..8cdb6b2 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-bottom-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-bottom-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-absolute-top-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; margin-top: -90px; height: 100px; margin-bottom: 90px; width: 3px; position: relative }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-left-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-left-1.html index 8ee19c7..84cc9e4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-left-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-left-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-left-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 100px; width: 200px } body > div { height: 3px; position: relative }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-right-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-right-1.html index 3fcdba05..200ef014c 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-right-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-right-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-left-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0; width: 200px } body > div { height: 3px; position: relative }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1-ref.html index 5c6c063..4806218 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for top:calc() on absolutely positioned elements</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1.html index 7ac2dfe..70a6cd8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-absolute-top-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-absolute-top-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 3px; position: relative }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-bottom-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-bottom-1.html index 1f121ac..afa74a46 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-bottom-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-bottom-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-top-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1-ref.html index 82ab51df0..b9a2a4b 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for left:calc() on relatively positioned elements</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 100px; width: 100px } div[style] { background: blue; position: relative; height: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1.html index b091ca5..99fcdd9 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-left-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-left-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 100px; width: 100px } div[style] { background: blue; position: relative; height: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-right-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-right-1.html index 28e15477..1f28cf18 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-right-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-right-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-left-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 100px; width: 100px } div[style] { background: blue; position: relative; height: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1-ref.html index db6785b..d461523 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for top:calc() on relatively positioned elements</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1.html index f2e9e4d9..938616b8 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-offsets-relative-top-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-offsets-relative-top-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 0 } body > div { float: left; height: 100px; width: 3px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1-ref.html index ca472b3..400e5b10 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test of padding-*: calc()</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1.html index 97dbaeb2..c1bb97e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-padding-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-padding-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-positive-fraction-001.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-positive-fraction-001.html index 383b4af5..89d1798 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-positive-fraction-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-positive-fraction-001.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="https://www.w3.org/TR/css-values-4/#combine-integers"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1-ref.html index 4631c00..71c0b48d 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: text-indent: calc()</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1.html index dec795b..f1480f4 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-text-indent-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1-ref.html index fa221c0..6409ecc 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: intrinsic width of text-indent: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1.html index b60a7e9..fcae468 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-text-indent-intrinsic-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-text-indent-intrinsic-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { font-size: 10px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1-ref.html index d27da3ef..36f8f19 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for calc() on transform-origin</title> <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 100px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1.html index bbe7074..d381786 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-transform-origin-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-transform-origin-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { margin: 100px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1-ref.html index 8e6d42425..95d9d9ad 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for vertical-align:calc()</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <div style="line-height: 100px; margin-top: 100px"> <span>x</span>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1.html index f612b96..8e87ee7 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-vertical-align-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-vertical-align-1-ref.html"> - <meta name="flags" content=""> <div style="line-height: 100px; margin-top: 100px"> <span>x</span>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1-ref.html index d62da1a..6ab4035 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: width: calc() and min-width: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1.html index d261d03..053b980 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-block-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { width: 500px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1-ref.html index e381bba..2bc3a5f 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: intrinsic width of width: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1.html index 0c80b960..3d5c6d6 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-block-intrinsic-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-block-intrinsic-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> body { font-size: 10px }
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1-ref.html index d161ecc..d5a129dd 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: width: calc() on table-layout: auto tables</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <table border> <tr> <td style="width: 500px">x</td>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1.html index c3d147c0..f556773 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-auto-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-table-auto-1-ref.html"> - <meta name="flags" content=""> <table border> <tr> <td style="width: calc(500px)">x</td>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1-ref.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1-ref.html index 9ae2d34..f28ffcb 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1-ref.html
@@ -3,7 +3,6 @@ <head> <title>CSS Reference: width: calc() on table-layout: auto tables</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> - <meta name="flags" content=""> <style type="text/css"> table { table-layout: fixed; width: 500px; border-spacing: 0 } </style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1.html index 808a612..1d1e976 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-width-table-fixed-1.html
@@ -5,7 +5,6 @@ <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="calc-width-table-fixed-1-ref.html"> - <meta name="flags" content=""> <style type="text/css"> table { table-layout: fixed; width: 500px; border-spacing: 0 } </style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/calc-z-index-fractions-001.html b/third_party/blink/web_tests/external/wpt/css/css-values/calc-z-index-fractions-001.html index 6b8ed24..eef8032 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/calc-z-index-fractions-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/calc-z-index-fractions-001.html
@@ -7,7 +7,6 @@ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <link rel="help" href="https://www.w3.org/TR/css-values-4/#calc-range"> - <meta name="flags" content=""> <meta content="This test verifies how 2 calc() functions are computed for 'z-index' when involved expressions end up being numbers halfway between adjacent integers." name="assert"> <script src="/resources/testharness.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-001.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-001.html index 83374e7..dc89b84 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-001.html
@@ -3,7 +3,6 @@ <title>CSS Values and Units Test: support for the ch unit</title> <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths"> -<meta name="flags" content=""> <link rel="match" href="reference/ch-unit-001-ref.html"> <meta name="assert" content="The ch unit is equal to the used advance measure of the 0 (ZERO, U+0030) glyph found in the font used to render it."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-003.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-003.html index ee1e7cc0..a41a168 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-003.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-003.html
@@ -3,7 +3,6 @@ <title>CSS Values and Units Test: support for the ch unit</title> <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths"> -<meta name="flags" content=""> <link rel="match" href="reference/ch-unit-001-ref.html"> <meta name="assert" content="In vertical mixed, The ch unit is equal to the used horizontal advance measure of the 0 (ZERO, U+0030) glyph found in the font used to render it."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-004.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-004.html index 914cec9f..1c2f818 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-004.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-004.html
@@ -3,7 +3,6 @@ <title>CSS Values and Units Test: support for the ch unit</title> <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-values-3/#font-relative-lengths"> -<meta name="flags" content=""> <link rel="match" href="reference/ch-unit-001-ref.html"> <meta name="assert" content="In vertical sideways, The ch unit is equal to the used horizontal advance measure of the 0 (ZERO, U+0030) glyph found in the font used to render it."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-008.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-008.html index 67fe0754..0af7a6e 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-008.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-008-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-009.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-009.html index c6f5671..24d6451 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-009.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-009-ref.html"> - <meta name="flags" content=""> <style> div
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-010.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-010.html index bc3fdbc..935dc76 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-010.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ch unit is the advance width measure of the 0 (ZERO, U+0030) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-011.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-011.html index c486f0c4..6d39d55 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-011.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-011-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ch unit is the advance height measure of the 0 (ZERO, U+0030) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-012.html b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-012.html index b844d9b..4f04eb5 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ch-unit-012.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ch unit is the advance width measure of the 0 (ZERO, U+0030) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-008.html b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-008.html index 9003c5f..f58c6b1 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-008.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-008.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths"> <link rel="match" href="reference/ic-unit-008-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ic unit is the advance width measure of the 水 (CJK water ideograph, U+6C34) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-009.html b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-009.html index 901f1c9..ba7cbee 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-009.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-009.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths"> <link rel="match" href="reference/ic-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ic unit is the advance height measure of the 水 (CJK water ideograph, U+6C34) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-010.html b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-010.html index e066465..548f998 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-010.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-010.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths"> <link rel="match" href="reference/ic-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ic unit is the advance height measure of the 水 (CJK water ideograph, U+6C34) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-011.html b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-011.html index edeaee6..849dbac 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-011.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths"> <link rel="match" href="reference/ic-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ic unit is the advance height measure of the 水 (CJK water ideograph, U+6C34) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-012.html b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-012.html index badb199..e8603570 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-012.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/ic-unit-012.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-4/#font-relative-lengths"> <link rel="match" href="reference/ic-unit-009-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="In this test, the ic unit is the advance width measure of the 水 (CJK water ideograph, U+6C34) glyph."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-001.html b/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-001.html index b4a08aa..6fb5487 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-001.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-001.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'Q' unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div#test-overlapping-green
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-002.html b/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-002.html index 328fcbd..e0eb5239 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-002.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/q-unit-case-insensitivity-002.html
@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'Q' unit is case-insensitive." name="assert"> - <meta name="flags" content=""> <style> div#test-overlapping-green
diff --git a/third_party/blink/web_tests/external/wpt/css/css-values/rgba-011.html b/third_party/blink/web_tests/external/wpt/css/css-values/rgba-011.html index 84c3170..393f2a29 100644 --- a/third_party/blink/web_tests/external/wpt/css/css-values/rgba-011.html +++ b/third_party/blink/web_tests/external/wpt/css/css-values/rgba-011.html
@@ -9,7 +9,6 @@ <link rel="help" href="https://www.w3.org/TR/css-color-4/#rgb-functions"> <link rel="help" href="https://www.w3.org/TR/css-values-4/#combine-integers"> - <meta name="flags" content=""> <meta name="assert" content="This test checks the syntax allowed by rgba() function. White space characters, instead of commas, are allowed between numerical values. <alpha-value> can be omitted for rgba() function, in which case it must defaults to 100%. Finally, rgba() function can take real numbers but their computed values will be rounded to the nearest integer, with values halfway between adjacent integers rounded towards positive infinity."> <script src="/resources/testharness.js"></script>
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/fecolormatrix-type.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/fecolormatrix-type.html index 5d003f7..990225d0 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/fecolormatrix-type.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/fecolormatrix-type.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#feColorMatrixElement"> <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#element-attrdef-fecolormatrix-type"> <link rel="match" href="fecolormatrix-type-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="If the test runs, you should see a auqamarine colored rectangle."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001-ref.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001-ref.html index b4beae8..d092a40 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001-ref.html
@@ -3,7 +3,6 @@ <title>CSS Filter: Establishing containing block for absolutely-positioned elements, on an inline element</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/"> -<meta name="flags" content=""> <style> #cb {
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001.html index 6f99c48..34d0373 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-001.html
@@ -6,7 +6,6 @@ <link rel="match" href="filter-cb-abspos-inline-001-ref.html"> <link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#FilterProperty"> <link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#supported-filter-functions"> -<meta name="flags" content=""> <meta name="assert" content="A value other than none for the filter property results in the creation of a containing block for absolute and fixed positioned descendants unless the element it applies to is a document root element in the current browsing context."> <meta name="assert" content="A value of 100% leaves the input unchanged."> <style>
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-003-ref.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-003-ref.html index 8b000d9..7536951a 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-003-ref.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-cb-abspos-inline-003-ref.html
@@ -3,7 +3,6 @@ <title>CSS Filter: Establishing containing block for absolutely-positioned elements, on an inline element</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/"> <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/"> -<meta name="flags" content=""> <style> #abspos {
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-001.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-001.html index 3f2281fc..b88954f 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-001.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-001.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-contrast"> <link rel="match" href="filter-contrast-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="CSS contrast filter will apply a component transfer to the div element to adjust the contrast of the colors. Since contrast is 100%, it will leave unchanged."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-002.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-002.html index e2827ea..e337bce 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-002.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-contrast"> <link rel="match" href="filter-contrast-002-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="CSS contrast filter will apply a component transfer to the div element to adjust the contrast of the colors. Since contrast is 0%, it must be the completely gray."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-003.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-003.html index 77793d7..3f799f3 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-003.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-contrast-003.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-contrast"> <link rel="match" href="filter-contrast-003-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="CSS contrast filter will apply a component transfer to the div element to adjust the contrast of the colors. Since contrast is 200%, it will be less contrast."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-hue_rotate-001-test.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-hue_rotate-001-test.html index 7d2a83e..9b7eb98 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-hue_rotate-001-test.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-hue_rotate-001-test.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-hue-rotate"> <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#huerotateEquivalent"> <link rel="match" href="filter-hue_rotate-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="CSS hue rotate filter will apply a matrix to rotate the hue. Since angle is 0, it has no affect on the rectangle."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-saturate-001-test.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-saturate-001-test.html index 52182de..0342cf0 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-saturate-001-test.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filter-saturate-001-test.html
@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-saturate"> <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#saturateEquivalent"> <link rel="match" href="filter-saturate-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="the test passes if you see gray box."> <style type="text/css"> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-drop-shadow-001.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-drop-shadow-001.html index 81fa0cb2..9a36b7ff 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-drop-shadow-001.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-drop-shadow-001.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-drop-shadow"> <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#dropshadowEquivalent"> <link rel="match" href="reference/filters-drop-shadow-001-ref.html"> - <meta name="flags" content=""> <meta name="assert" content="This test verifies that the drop-shadow shorthand works. Green box with green shadow. The shadows appear 10px down and 20px right under the Green box. The red box must not appear under the Green box."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-001.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-001.html index bee2b911..0ea903f7 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-001.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-001.html
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-brightness"> <link rel="match" href="filters-ref-brightness-001.html"> - <meta name="flags" content=""> <meta name="assert" content="This test verifies that the brightness shorthand works. Green rectangle must shown, when brightness set to 100%."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-002.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-002.html index 6658913..8be04304 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-002.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-brightness"> <link rel="match" href="filters-ref-brightness-002.html"> - <meta name="flags" content=""> <meta name="assert" content="This test verifies that the brightness shorthand works. Black rectangle must shown, when brightness set 0%."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-003.html b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-003.html index 07a45ce..6f4b3dbb 100644 --- a/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-003.html +++ b/third_party/blink/web_tests/external/wpt/css/filter-effects/filters-test-brightness-003.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#FilterProperty"> <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-brightness"> <link rel="match" href="filters-ref-brightness-003.html"> - <meta name="flags" content=""> <meta name="assert" content="This test verifies that the brightness shorthand works. Green rectangle must shown, when brightness is not set."> <style type="text/css">
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-001.html index 0987806..9307b9a 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-001.html
@@ -5,7 +5,6 @@ <link name="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '59/79' means that the minimum of ratio is '59/79', only and only if the value of the 'width' to the value of the 'height' is greater than value of 'min-aspect-ratio', the style sheet will be applied. The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695).">
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-002.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-002.html index 78eee374..3b34de92 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-002.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-002.html
@@ -5,7 +5,6 @@ <link name="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'min-aspect-ratio' will not be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-003.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-003.html index 1486810..4212e81 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-003.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-003.html
@@ -5,7 +5,6 @@ <link name="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '1280/720' means that the maximum of ratio is '1280/720', only and only if the value of the 'width' to the value of the 'height' is lower than value of 'max-aspect-ratio', the style sheet will be applied. The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-004.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-004.html index cc7afda3..bf2d261 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-004.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-004.html
@@ -5,7 +5,6 @@ <link name="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'max-aspect-ratio' will be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-005.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-005.html index 2c9d9ed..12c9a08 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-005.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-005.html
@@ -4,7 +4,6 @@ <link rel="author" title="Joel Olsson" href="mailto:joel_1st@hotmail.com"> <link rel="help" title="aspect-ratio" href="https://drafts.csswg.org/mediaqueries-4/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'max' set 1280.1/720.01. Only and only if the value of the 'width' to the value of the 'height' is lower than value of 'max-aspect-ratio', the style sheet will be applied. The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-006.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-006.html index 188a65b..59901b1 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-006.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/aspect-ratio-006.html
@@ -4,7 +4,6 @@ <link rel="author" title="Joel Olsson" href="mailto:joel_1st@hotmail.com"> <link rel="help" title="aspect-ratio" href="https://drafts.csswg.org/mediaqueries-4/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0.7' means that the minimum of ratio is '0.7', only and only if the value of the 'width' to the value of the 'height' is greater than value of 'min-aspect-ratio', the style sheet will be applied. The test runner will run this test in a 800/600 viewport (https://github.com/web-platform-tests/wpt/pull/12695)">
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-001.html index 60f49b9b..8fe99c2 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property with prefix 'max' set '1281/1024' means that the maximum of ratio is '1281/1024', only and only if the device value of 'width' to value of 'height' is lower than value of 'max-device-aspect-ratio', the style sheet will be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-002.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-002.html index 5acc4c30..dd0f0a1 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-002.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property with prefix 'max' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'max-device-aspect-ratio' will be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-003.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-003.html index 5d979ba7..23014f5 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-003.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-003.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property with prefix 'min' set '1279/1024' means that the minimum of ratio is '1279/1024', only and only if the device value of 'width' to value of 'height' is greater than value of 'min-device-aspect-ratio', the style sheet will be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-004.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-004.html index adca53c..42e3c069 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-004.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-004.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property with prefix 'min' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'min-device-aspect-ratio' will not be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-005.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-005.html index 9190fc4f..5a310bb 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-005.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-005.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property set '1280/1024' means that the ratio is '1280/1024', only and only if the device value of 'width' to value of 'height' is equals with value of 'device-aspect-ratio', the style sheet will be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-006.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-006.html index 403829d..6815583 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-006.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/device-aspect-ratio-006.html
@@ -5,7 +5,6 @@ <link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com"> <link rel="help" title="4.7. device-aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#device-aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> -<meta name="flags" content=""> <meta name="assert" content="The 'device-aspect-ratio' property set '0/0' is invalid that means the style sheet specified by 'device-aspect-ratio' will not be applied."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/min-width-001.xht b/third_party/blink/web_tests/external/wpt/css/mediaqueries/min-width-001.xht index 649273c..9dc01c6 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/min-width-001.xht +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/min-width-001.xht
@@ -8,7 +8,6 @@ <link rel="help" href="http://www.w3.org/TR/mediaqueries-4/#width" /> <link rel="help" href="http://www.w3.org/TR/css3-values/#length-value" /> <link rel="match" href="../reference/ref-filled-green-100px-square.xht" /> - <meta name="flags" content="" /> <meta name="assert" content="min-width length values that are too large to be supported must be clamped, rounded to infinity, or approximated, but not overflowed to a small or negative value." /> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-001.html index 9a39663..a4e4d4d9 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-001.html
@@ -6,7 +6,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="calc can be used in Media Queries"> - <meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-002.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-002.html index f6f2fc1..9c04b181 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-002.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="The size in pixels of the 'em' unit used in calc inside a media query does not depend on declarations and use the initial value."> - <meta name="flags" content=""> <style> :root { font-size: 30000px; } p { font-size: 16px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-003.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-003.html index cadc448..a60adcf 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-003.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-003.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="The size in pixels of the 'ex' unit used in calc inside a media query does not depend on declarations and use the initial value."> - <meta name="flags" content=""> <style> :root { font-size: 30000px; } p { font-size: 16px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-004.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-004.html index 63190347..428a34c 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-004.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-004.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="The size in pixels of the 'ch' unit used in calc inside a media query does not depend on declarations and use the initial value."> - <meta name="flags" content=""> <style> :root { font-size: 30000px; } p { font-size: 16px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-005.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-005.html index df7409b..dc33f1e8 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-005.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-calc-005.html
@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="The size in pixels of the 'rem' unit used in calc inside a media query does not depend on declarations and use the initial value."> - <meta name="flags" content=""> <style> :root { font-size: 30000px; } p { font-size: 16px; }
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-deprecated-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-deprecated-001.html index 0aa0666..cb02c3f3 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-deprecated-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-deprecated-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#ref-for-media-type%E2%91%A0%E2%91%A6"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="deprecated media types must not match"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-001.html index b049619..9e98236 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-001.html
@@ -4,7 +4,6 @@ <link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#color-gamut"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="the srgb color-gamut is syntactically supported"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-002.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-002.html index a63399e..abc3ac4 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-002.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-002.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/276"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="the p3 color-gamut is syntactically supported"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-003.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-003.html index 29bde56e..c0980a93 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-003.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-003.html
@@ -6,7 +6,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/276"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="the dci-p3 (old name for p3) color-gamut is not syntactically supported"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-004.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-004.html index fe2855647..3cc1c757 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-004.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-004.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4535"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="the rec2020 color-gamut is syntactically supported"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-005.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-005.html index a1fe4d9e..aa5db52a 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-005.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-gamut-005.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/4535"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="the rec-2020 (old name for rec2020) color-gamut is not syntactically supported"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-negative-range-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-negative-range-001.html index eb1030a8..f3114638 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-negative-range-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-negative-range-001.html
@@ -6,7 +6,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1454"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="features that are 'false in the negative range' should still parse with negative values"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-range-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-range-001.html index f54917ad..0aacc17 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-range-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/mq-range-001.html
@@ -5,7 +5,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2790"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="range syntax without operator isn't valid syntax, unlike what some earlier iteration of the spec claimed"> -<meta name="flags" content=""> <style> div { width: 100px;
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-001.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-001.html index fac94d7..4e526fb 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-001.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-001.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#units"> <link rel="match" href="reference/ref-green-body.xht"> - <meta name="flags" content=""> <meta name="assert" content="Font-relative length units (such as 'rem') in media queries should be calculated based on the initial value of 'font-size', not based on author style declarations, such as: html { font-size: 200%; }"> <style> :root {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-002.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-002.html index 310e18f5..b0b533f 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-002.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-002.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#units"> <link rel="match" href="reference/ref-green-body.xht"> - <meta name="flags" content=""> <meta name="assert" content="Font-relative length units (such as 'em') in media queries should be calculated based on the initial value of 'font-size', not based on author style declarations, such as: html { font-size: 200%; }"> <style> :root {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-003.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-003.html index 461db324..bfb3b79 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-003.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-003.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#units"> <link rel="match" href="reference/ref-green-body.xht"> - <meta name="flags" content=""> <meta name="assert" content="Font-relative length units (such as 'ex') in media queries should be calculated based on the initial value of 'font-size', not based on author style declarations, such as: html { font-size: 200%; }"> <style> :root {
diff --git a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-004.html b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-004.html index b0f3765..99b1fa6f 100644 --- a/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-004.html +++ b/third_party/blink/web_tests/external/wpt/css/mediaqueries/relative-units-004.html
@@ -7,7 +7,6 @@ <link rel="help" href="https://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="help" href="https://www.w3.org/TR/mediaqueries-4/#units"> <link rel="match" href="reference/ref-green-body.xht"> - <meta name="flags" content=""> <meta name="assert" content="Font-relative length units (such as 'ch') in media queries should be calculated based on the initial value of 'font-size', not based on author style declarations, such as: html { font-size: 200%; }"> <style> :root {
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-001.html b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-001.html index 7283e4ed..9a61e98 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-001.html +++ b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Takeshi Kurosawa" href="mailto:taken.spc@gmail.com"> <link rel="help" href="http://www.w3.org/TR/selectors4/#dir-pseudo"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="The :dir(ltr) pseudo-class matches an element that has a directionality of (ltr). Since the div element has dir=ltr, the selector matches."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-002.html b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-002.html index 8d512883..988ae3f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-002.html +++ b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-002.html
@@ -5,7 +5,6 @@ <link rel="author" title="Miyoung Shin" href="mailto:myid.shin@igalia.com"> <link rel="help" href="http://www.w3.org/TR/selectors4/#dir-pseudo"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="The invalid identifier of :dir(ltrr) pseudo-class doesn't match an element that has a directionality of (ltr). Even if the div element has dir=ltr, the selector should not match."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-003.html b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-003.html index 4bb14cc8..8f8bd1c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-003.html +++ b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-ltr-003.html
@@ -5,7 +5,6 @@ <link rel="author" title="Miyoung Shin" href="mailto:myid.shin@igalia.com"> <link rel="help" href="http://www.w3.org/TR/selectors4/#dir-pseudo"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="The multiple identifiers of :dir(ltr, rtl) pseudo-class don't match an element that has a directionality of (ltr). Even if the div element has dir=ltr, the selector should not match."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-rtl-001.html b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-rtl-001.html index f656ccd..50bc066 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-rtl-001.html +++ b/third_party/blink/web_tests/external/wpt/css/selectors/dir-selector-rtl-001.html
@@ -5,7 +5,6 @@ <link rel="author" title="Takeshi Kurosawa" href="mailto:taken.spc@gmail.com"> <link rel="help" href="http://www.w3.org/TR/selectors4/#dir-pseudo"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> - <meta name="flags" content=""> <meta name="assert" content="The :dir(rtl) pseudo-class matches an elment that has a directionality of right-to-left (rtl). Since the div element has dir=rtl, the selector matches."> <style> div {
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-1.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-1.xml index 0ce55a4..0fb46f0 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-1.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-1.xml
@@ -5,7 +5,6 @@ <style type="text/css"><![CDATA[li,p { background-color : lime }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-10.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-10.xml index bb2f40f..404fa65 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-10.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-10.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p title="foobar">This paragraph should have a green background because
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-11.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-11.xml index 5e4d827..b1c85397 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-11.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-11.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p title="foobarufoo">This paragraph should have a green background because
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-13.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-13.xml index 826e576..600426e 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-13.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-13.xml
@@ -8,7 +8,6 @@ .t3 { background-color : red }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14.xml index 5074fe0..29a6f20 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14.xml
@@ -14,7 +14,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-144.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-144.xml index 7efde11..cbc7d4c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-144.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-144.xml
@@ -6,7 +6,6 @@ p { background : red;}]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-148.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-148.xml index 217ba53..51f9858a 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-148.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-148.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149.xml index 98fce81..7b10e6296 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background-offset.xht"/> - <meta name="flags" content="" /> </head> <body> <address></address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149b.xml index 98fce81..7b10e6296 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-149b.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background-offset.xht"/> - <meta name="flags" content="" /> </head> <body> <address></address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14b.xml index 0be061e..816a13b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14b.xml
@@ -14,7 +14,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="t1">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14c.xml index 0384f33..9f92f79 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14c.xml
@@ -12,7 +12,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="t1 t2">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14d.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14d.xml index 37e057b5..411e3cc 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14d.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14d.xml
@@ -11,7 +11,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="t1 t2">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14e.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14e.xml index a8f8d75..4538de38 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14e.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-14e.xml
@@ -12,7 +12,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="t1 t2">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15.xml index f3aa372..73b340e 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-150.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-150.xml index b9fdca48..49a7807b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-150.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-150.xml
@@ -9,7 +9,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <address><!-- --><?test random PI?></address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-151.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-151.xml index a4bb1dd..46c25dc 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-151.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-151.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background-offset.xht"/> - <meta name="flags" content="" /> </head> <body> <address> </address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-152.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-152.xml index b39d573..680a0a9 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-152.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-152.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background-offset.xht"/> - <meta name="flags" content="" /> </head> <body> <address><span></span></address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-154.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-154.xml index f5f0295..951f107 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-154.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-154.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155.xml index 961374d..b79e92a5 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="5cm">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155a.xml index 1fca191..3b3d43c8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="5cm">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155b.xml index 168f865..d0f663c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155b.xml
@@ -14,7 +14,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="two words">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155c.xml index 4fd0b48..85973ec 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155c.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="one.word">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155d.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155d.xml index 0c21d5f1..ca6ba51 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155d.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-155d.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="one.word">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156.xml index fa0483e..f52b98f8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156b.xml index 59d9f3b..2f8ed88 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156c.xml index 2b9d445..3a15c82 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-156c.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-157.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-157.xml index 6a7e1d8..0376827 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-157.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-157.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="test">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-158.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-158.xml index 9595b90..5bb541db 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-158.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-158.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="test">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15b.xml index b7e4205..b22397ef 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-15b.xml
@@ -13,7 +13,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p id="test">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-160.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-160.xml index ec1de24c..f73a0ddd 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-160.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-160.xml
@@ -11,7 +11,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166.xml index 5d4e31f..f1d258dc 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>The first letter of this paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166a.xml index 55d36bb..3ab4942 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-166a.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>The first letter of this paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167.xml index 0fa9e6cd..2d86aaf 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>The first line of this paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167a.xml index 6dd9d8f..d312fc2 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-167a.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>The first line of this paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168.xml index 431a41b..a0291aba 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-test-has-passed-desc.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This test has <span></span>.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168a.xml index d5ddad4..7c008b02 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-168a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-test-has-passed-desc.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This test has <span></span>.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169.xml index eee2bef..ae6433c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-test-has-passed-desc.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This test has <span></span>.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169a.xml index 6254a520..1e2721c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-169a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-test-has-passed-desc.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This test has <span></span>.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170.xml index c56ae2ac..94eab69 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p><span>This line should be green.</span></p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170a.xml index 1cde707..f6a3b84 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="span">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170b.xml index 50b4fc0..49915dc8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="span">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170c.xml index 9e5cf37..4c9e105 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170c.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170d.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170d.xml index 371945a..12c6a222 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170d.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-170d.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p>This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175a.xml index ca91d681..ea4009e8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="13">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175b.xml index 135b8410..52ff656 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="13">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175c.xml index 7a93313e..96134732 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-175c.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="13">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-176.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-176.xml index 31482f08..66c85b4 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-176.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-176.xml
@@ -15,7 +15,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p id="id" class="class test">This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-177b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-177b.xml index 12056199..ecba2cde4 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-177b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-177b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-178.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-178.xml index 00f25827..b3d59b6 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-178.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-178.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179.xml index d58cbe9..d63153c8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-green-color.xht"/> - <meta name="flags" content="" /> </head> <body> <p><span>This line should be green.</span></p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179a.xml index 1843657..a1783fbc 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-179a.xml
@@ -9,7 +9,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p><br></br>This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-180a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-180a.xml index 3661eb9..d4bf31c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-180a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-180a.xml
@@ -9,7 +9,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p><br></br>This line should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-181.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-181.xml index 62465e4..97fde125 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-181.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-181.xml
@@ -18,7 +18,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-183.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-183.xml index 97412dd..022df8f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-183.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-183.xml
@@ -10,7 +10,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="test">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184a.xml index 9777db1..427fca4 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184b.xml index 2ea9ad98..eafd50f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184c.xml index 4e94550..75ce2fd 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184c.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184d.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184d.xml index 7340238..5115ddf 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184d.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184d.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184e.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184e.xml index 418169b..bb455da 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184e.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184e.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184f.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184f.xml index c28b61d..7c939c3 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184f.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-184f.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Lachlan Hunt" href="http://lachy.id.au/about/contact"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="css3-modsel-184-ref.xht"/> - <meta name="flags" content="" /> </head> <body> <p class="">This text should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-2.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-2.xml index 09f84d6..895fea3 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-2.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-2.xml
@@ -6,7 +6,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <address>This address element should have a green background.</address>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21b.xml index d97181d..3274ade 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21b.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21c.xml index e45074c..18b5cf19 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-21c.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This page should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-22.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-22.xml index 098679c..bc81351 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-22.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-22.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-25.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-25.xml index ef1875fc..450e4bd3 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-25.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-25.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27.xml index e202277..38813e1 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27.xml
@@ -6,7 +6,6 @@ *:root { background-color: lime }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>The background of the document should be green</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27a.xml index 42736a3..ac5655b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27a.xml
@@ -20,7 +20,6 @@ p { color: green; }]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This line should be green (there should be no red on this page).</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27b.xml index 8bfb356..1f40e3c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-27b.xml
@@ -7,7 +7,6 @@ p { color: green; }]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This line should be green (there should be no red on this page).</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28.xml index f73184d..c98caaa7 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28.xml
@@ -9,7 +9,6 @@ table.t2 td:nth-child(3n+1) { background-color : lime }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28b.xml index dd3944a9..f1af5fd 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-28b.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29.xml index cfa23b5..372dbfa 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29b.xml index 39227d2..0d88b4c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-29b.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-30.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-30.xml index facd83b..61194a0 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-30.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-30.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph is here only to fill space in the DOM</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-31.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-31.xml index dbf672b..da51455 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-31.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-31.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="red">This paragraph should have green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-32.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-32.xml index a5551b33..3ccffc6 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-32.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-32.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-33.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-33.xml index c3fc2731..f93992be 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-33.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-33.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-34.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-34.xml index 6ea08bba..1323ec7b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-34.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-34.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>This div contains 3 addresses:
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-35.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-35.xml index ac53300..7d0437d 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-35.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-35.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-36.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-36.xml index 393073a4..7790d0a 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-36.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-36.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph should have normal background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-37.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-37.xml index 2c80549..5684926 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-37.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-37.xml
@@ -7,7 +7,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="t1">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-38.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-38.xml index ff60e429..f44abe1 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-38.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-38.xml
@@ -6,7 +6,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This very long paragraph should have a
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39.xml index bd0207a..20cbcfd 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39.xml
@@ -6,7 +6,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39a.xml index 70746c1..13a73863 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39a.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39b.xml index 95b85d5e..30fce57 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39b.xml
@@ -6,7 +6,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39c.xml index 4401b78f..8f61f5c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-39c.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-3a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-3a.xml index 8ee5d04a..7c2acd2 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-3a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-3a.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-4.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-4.xml index 4d38e6c..1e096db 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-4.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-4.xml
@@ -6,7 +6,6 @@ p { background-color : red }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p id="foo">This paragraph should have a green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41.xml index 8d0caef..b8e031f9 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41.xml
@@ -6,7 +6,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>You should see before this paragraph the words GENERATED CONTENT over green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41a.xml index a010e28..653cfc8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-41a.xml
@@ -6,7 +6,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>You should see before this paragraph the words GENERATED CONTENT over green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42.xml index 32617ae..4221b1a 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42.xml
@@ -6,7 +6,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>You should see after this paragraph the words GENERATED CONTENT over green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42a.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42a.xml index 600e681..5499b3f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42a.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-42a.xml
@@ -6,7 +6,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>You should see after this paragraph the words GENERATED CONTENT over green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43.xml index 312c185..62075b3 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="t1">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43b.xml index 386b5994..e47f816 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-43b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="t1">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44.xml index 3ba816e..2706b95 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44b.xml index cdbf452..fa4549b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44c.xml index 9f5c8d25..b147a74 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44c.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div> This should be unstyled. </div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44d.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44d.xml index 8f448aba..9f0fa3a 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44d.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-44d.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div> This should be unstyled. </div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45.xml index 7d29eea..e5f97e6 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45b.xml index 7aa209e..ac7f81d 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45c.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45c.xml index 4e13944..cd1aa71 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45c.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-45c.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div> This should be unstyled. </div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46.xml index c826cc9..08919fdc 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46b.xml index 35b47b8..c22a74e7 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-46b.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-5.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-5.xml index cd55950..5ef9f998 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-5.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-5.xml
@@ -6,7 +6,6 @@ p[title] { background-color : lime }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p title="title">This paragraph should have a green background because its TITLE
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-54.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-54.xml index 6e5327a..5ab7c84 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-54.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-54.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/three-paragraph-lime-characters.xht"/> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-55.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-55.xml index acc6dcd..c4d5a130 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-55.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-55.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/three-paragraph-lime-characters.xht"/> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-56.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-56.xml index 27ae88d..cdcc923 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-56.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-56.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/three-paragraph-lime-characters.xht"/> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-59.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-59.xml index 543123e..e394adb 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-59.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-59.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/three-paragraph-lime-characters.xht"/> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-6.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-6.xml index 98c8722..7533d3f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-6.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-6.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <address title="foo">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-60.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-60.xml index eec66ac..de4a23d 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-60.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-60.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/three-paragraph-lime-characters.xht"/> - <meta name="flags" content="" /> </head> <body> <div class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-66b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-66b.xml index 91fc0d324..d23c74c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-66b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-66b.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph should be green.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-67.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-67.xml index 4fbffc2..b341517f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-67.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-67.xml
@@ -6,7 +6,6 @@ div.stub *:not(:lang(fr)) { background-color : green }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div lang="en" class="stub">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7.xml index a464ccd..c6ac94f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7.xml
@@ -9,7 +9,6 @@ span[class~="b"] { background-color : red }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="a b c">This paragraph should have green background because CLASS
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-70.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-70.xml index 1c18a1e95..acfe666 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-70.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-70.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72.xml index 72bf8bc..d62a2aa 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72b.xml index ce912f0b..7e25a21 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-72b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73.xml index 84954c8..659b2d69 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73.xml
@@ -10,7 +10,6 @@ table.t1 td, table.t2 td { border : thin black solid }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73b.xml index d7e476c..38f69ee 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-73b.xml
@@ -11,7 +11,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74.xml index aff2e9b..94f61de 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74.xml
@@ -11,7 +11,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74b.xml index 82cf0051..ddc7c9b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-74b.xml
@@ -12,7 +12,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <ul>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75.xml index 2351834..de6c1c9 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="red">This paragraph should have green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75b.xml index 6d6345e..35bc2a7 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-75b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="green">This paragraph should have green background</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76.xml index d1181a4..5937f0e 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph should be unstyled.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76b.xml index 7ba99cc2c..3b3048be 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-76b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p>This paragraph should be unstyled.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77.xml index c99fa70..e78ddcf1 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77b.xml index 0735790..8225cd2 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-77b.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78.xml index 8e26520..415722bb 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78b.xml index 2983d0e..207609b 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-78b.xml
@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-79.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-79.xml index 4edac8d..fef9ea2c 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-79.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-79.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>This div contains 3 addresses :
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7b.xml index e1ad8d7..a5df860a 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-7b.xml
@@ -13,7 +13,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/this-line-lime-background.xht"/> - <meta name="flags" content="" /> </head> <body> <p title="hello world">This line should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-8.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-8.xml index ce5a68ff..67daa49 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-8.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-8.xml
@@ -9,7 +9,6 @@ span[lang|="fr"] { background-color : red }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p lang="en-gb">This paragraph should have green background because its language is "en-gb"</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-80.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-80.xml index b7c08e5..e8731bb 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-80.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-80.xml
@@ -8,7 +8,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81.xml index d27e316..73c5779 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="red">This paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81b.xml index 305cf9b..6b084f00 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-81b.xml
@@ -9,7 +9,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p class="green">This paragraph should have a green background.</p>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82.xml index 5b22026..21fe0f8 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="t1">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82b.xml index 1aafc549..9f8893f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-82b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <div class="t1">
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-86.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-86.xml index 5d2355f..96507ad6 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-86.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-86.xml
@@ -7,7 +7,6 @@ ]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87.xml index da5adca..29e95de3 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/bq-u-u-u-green.xht"/> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87b.xml index efdcb01..5867fc9d 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-87b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/bq-u-u-u-green.xht"/> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88.xml index f354cf2..a6dc75ba 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88b.xml index 2c10a61..6c038ed 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-88b.xml
@@ -7,7 +7,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-89.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-89.xml index 22ac828..c9f3f25f 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-89.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-89.xml
@@ -6,7 +6,6 @@ blockquote div > p { color: green; }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-9.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-9.xml index e7eeba38..3974899e 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-9.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-9.xml
@@ -6,7 +6,6 @@ p[title^="foo"] { background-color : lime }]]></style> <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> - <meta name="flags" content="" /> </head> <body> <p title="foobar">This paragraph should have a green background<br></br>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90.xml index 03973b90..1fc84e7 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/bq-u-u-u-green.xht"/> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90b.xml b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90b.xml index 15e06bc..33fd9d711 100644 --- a/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90b.xml +++ b/third_party/blink/web_tests/external/wpt/css/selectors/old-tests/css3-modsel-90b.xml
@@ -8,7 +8,6 @@ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found --> <link rel="match" href="reference/bq-u-u-u-green.xht"/> - <meta name="flags" content="" /> </head> <body> <blockquote><div>This text should be unstyled.</div></blockquote>
diff --git a/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html b/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html new file mode 100644 index 0000000..03760e79 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <title>Sockets test: Can be disabled by permissions policy</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + </head> + <body> + <script> + 'use strict'; + + promise_test(async t => { + await promise_rejects_dom(t, "NotAllowedError", navigator.openTCPSocket({ remotePort: 53 })); + }, "direct sockets (TCP) can be disabled by feature policy"); + + promise_test(async t => { + await promise_rejects_dom(t, "NotAllowedError", navigator.openUDPSocket({ remotePort: 53 })); + }, "direct sockets (UDP) can be disabled by feature policy"); + </script> + </body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html.headers b/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html.headers new file mode 100644 index 0000000..ba6f09f5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/direct-sockets/direct-sockets-disabled-by-permissions-policy.https.sub.html.headers
@@ -0,0 +1,3 @@ +Cross-Origin-Opener-Policy: same-origin +Cross-Origin-Embedder-Policy: require-corp +Permissions-Policy: direct-sockets=() \ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved-expected.txt b/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved-expected.txt new file mode 100644 index 0000000..dcff58a --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Event.prototype should not have this property: assert_false: expected false got true +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved.html b/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved.html new file mode 100644 index 0000000..7a69539 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/dom/eventPathRemoved.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<title>Event.path must be removed</title> +<!-- Note that this duplicates a test in historical.html for the purposes of + using in the Interop-2022 metric --> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> +test(() => { + const name = "path"; + assert_false(name in Event.prototype) + assert_equals(Event.prototype[name], undefined) + assert_false(name in new Event("test")) + assert_equals((new Event("test"))[name], undefined) + }, "Event.prototype should not have this property: " + name) +</script>
diff --git a/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.https.window-expected.txt new file mode 100644 index 0000000..c7cd66da --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.https.window-expected.txt
@@ -0,0 +1,8 @@ +This is a testharness.js-based test. +FAIL treat-as-public to local: failed preflight. assert_equals: worker error expected (string) "unknown error" but got (undefined) undefined +FAIL treat-as-public to local: success. assert_equals: worker error expected (undefined) undefined but got (string) "unknown error" +FAIL treat-as-public to private: failed preflight. assert_equals: worker error expected (string) "unknown error" but got (undefined) undefined +FAIL treat-as-public to private: success. assert_equals: worker error expected (undefined) undefined but got (string) "unknown error" +PASS public to public: success. +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.window-expected.txt b/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.window-expected.txt new file mode 100644 index 0000000..8718ffde --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/fetch/private-network-access/worker.window-expected.txt
@@ -0,0 +1,6 @@ +This is a testharness.js-based test. +FAIL treat-as-public to local: failure. assert_equals: worker error expected (string) "unknown error" but got (undefined) undefined +FAIL treat-as-public to private: failure. assert_equals: worker error expected (string) "unknown error" but got (undefined) undefined +PASS public to public: success. +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/same-hash.html b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/same-hash.html new file mode 100644 index 0000000..430a5766 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/same-hash.html
@@ -0,0 +1,101 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Using the location interface to navigate to the same hash as the current one</title> +<link rel="help" href="https://github.com/whatwg/html/issues/7386"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<iframe id="i" srcdoc="<div style='height: 200vh'></div><div id='te<st'></div>"></iframe> + +<script type="module"> +setup({ explicit_done: true }); +await new Promise(r => window.onload = r); + +for (const value of ["#te<st", "te<st", "#te%3Cst", "te%3Cst"]) { + promise_test(async t => { + t.add_cleanup(() => { i.contentWindow.location.hash = ""; }); + assert_equals(i.contentWindow.scrollY, 0, "Setup: iframe starts at top"); + + i.contentWindow.location.hash = "te<st"; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "First hash assignment scrolls the iframe"); + + i.contentWindow.scroll({ top: 0, behavior: "instant" }); + assert_equals(i.contentWindow.scrollY, 0, "Resetting the scroll position must work"); + + i.contentWindow.location.hash = value; + await delayForFragmentNavigationScrolling(t); + + assert_equals(i.contentWindow.scrollY, 0, "Reassigning the same hash must not change the scroll position"); + }, `Using location.hash = "${value}" must not reset scroll position`); +} + +// These don't canonicalize to the current value of location.hash; the post-parsing version of +// "te<st" is "te%3Cst", uppercase. +for (const value of ["#te%3cst", "te%3cst"]) { + promise_test(async t => { + t.add_cleanup(() => { i.contentWindow.location.hash = ""; }); + assert_equals(i.contentWindow.scrollY, 0, "Setup: iframe starts at top"); + + i.contentWindow.location.hash = "te<st"; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "First hash assignment scrolls the iframe"); + + i.contentWindow.scroll({ top: 0, behavior: "instant" }); + assert_equals(i.contentWindow.scrollY, 0, "Resetting the scroll position must work"); + + i.contentWindow.location.hash = value; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "Reassigning the same-ish hash scrolls the iframe"); + }, `Using location.hash = "${value}" must reset scroll position`); +} + +for (const value of ["about:srcdoc#te<st", "about:srcdoc#te%3cst", "about:srcdoc#te%3Cst"]) { + promise_test(async t => { + t.add_cleanup(() => { i.contentWindow.location.hash = ""; }); + assert_equals(i.contentWindow.scrollY, 0, "Setup: iframe starts at top"); + + i.contentWindow.location.hash = "te<st"; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "First hash assignment scrolls the iframe"); + + i.contentWindow.scroll({ top: 0, behavior: "instant" }); + assert_equals(i.contentWindow.scrollY, 0, "Resetting the scroll position must work"); + + i.contentWindow.location.href = value; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "Setting href must scroll the iframe"); + }, `Using location.href = "${value}" must reset scroll position`); + + promise_test(async t => { + t.add_cleanup(() => { i.contentWindow.location.hash = ""; }); + assert_equals(i.contentWindow.scrollY, 0, "Setup: iframe starts at top"); + + i.contentWindow.location.hash = "te<st"; + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "First hash assignment scrolls the iframe"); + + i.contentWindow.scroll({ top: 0, behavior: "instant" }); + assert_equals(i.contentWindow.scrollY, 0, "Resetting the scroll position must work"); + + i.contentWindow.location.assign(value); + await delayForFragmentNavigationScrolling(t); + + assert_greater_than(i.contentWindow.scrollY, i.contentWindow.innerHeight, "Setting href must scroll the iframe"); + }, `Using location.assign("${value}") must reset scroll position`); +} + +function delayForFragmentNavigationScrolling(t) { + // Scroll behavior for fragment navigation is set to "auto" in the spec, so we can't guarantee it's instant. + // In practice 10 milliseconds seems to be enough. + return new Promise(r => t.step_timeout(r, 10)); +} + +done(); +</script>
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/broadcast-channel.tentative.window.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/broadcast-channel.tentative.window.js new file mode 100644 index 0000000..255a71920 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/broadcast-channel.tentative.window.js
@@ -0,0 +1,56 @@ +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/common/dispatcher/dispatcher.js +// META: script=../credentialless/resources/common.js +// META: script=./resources/common.js + +// A script listening using a BroadcastChannel. +const listen_script = (key, done, onmessage) => ` + const bc = new BroadcastChannel("${key}"); + bc.onmessage = event => send("${onmessage}", event.data); + send("${done}", "registered"); +`; + +const emit_script = (key, message) => ` + const bc = new BroadcastChannel("${key}"); + bc.postMessage("${message}"); +`; + +promise_test(async test => { + const origin = get_host_info().HTTPS_REMOTE_ORIGIN; + const key_1 = token(); + const key_2 = token(); + + // 2 actors: An anonymous iframe and a normal one. + const iframe_anonymous = newAnonymousIframe(origin); + const iframe_normal = newIframe(origin); + const queue_1 = token(); + const queue_2 = token(); + const unexpected_queue = token(); + + // Listen using the two keys from both sides: + send(iframe_anonymous , listen_script(key_1, queue_1, queue_1)); + send(iframe_anonymous , listen_script(key_2, queue_1, unexpected_queue)); + send(iframe_normal, listen_script(key_2, queue_2, queue_2)); + send(iframe_normal, listen_script(key_1, queue_2, unexpected_queue)); + assert_equals(await receive(queue_1), "registered"); + assert_equals(await receive(queue_1), "registered"); + assert_equals(await receive(queue_2), "registered"); + assert_equals(await receive(queue_2), "registered"); + + // Emit from both sides. It must work, and work without crossing the + // anonymous/non-anonymous border. + receive(unexpected_queue).then(test.unreached_func( + "BroadcastChannel shouldn't cross the anonymous/normal border")); + send(iframe_anonymous , emit_script(key_1, "msg_1")); + send(iframe_normal, emit_script(key_2, "msg_2")); + assert_equals(await receive(queue_1), "msg_1"); + assert_equals(await receive(queue_2), "msg_2"); + + // Wait a bit to let bad things the opportunity to show up. This is done by + // repeating the previous operation. + send(iframe_anonymous , emit_script(key_1, "msg_3")); + send(iframe_normal, emit_script(key_2, "msg_4")); + assert_equals(await receive(queue_1), "msg_3"); + assert_equals(await receive(queue_2), "msg_4"); +})
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/resources/common.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/resources/common.js index 86de148..e11e2307 100644 --- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/resources/common.js +++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/resources/common.js
@@ -8,3 +8,14 @@ document.body.appendChild(iframe); return sub_document_token; }; + +// Create a normal iframe. The new document will execute any scripts sent +// toward the token it returns. +const newIframe = (child_origin) => { + const sub_document_token = token(); + let iframe = document.createElement('iframe'); + iframe.src = child_origin + executor_path + `&uuid=${sub_document_token}`; + iframe.anonymous = false + document.body.appendChild(iframe); + return sub_document_token; +};
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/session-storage.tentative.https.window.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/session-storage.tentative.https.window.js new file mode 100644 index 0000000..418e17f --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/session-storage.tentative.https.window.js
@@ -0,0 +1,52 @@ +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/common/dispatcher/dispatcher.js +// META: script=../credentialless/resources/common.js +// META: script=./resources/common.js + +const same_origin = get_host_info().HTTPS_ORIGIN; +const cross_origin = get_host_info().HTTPS_REMOTE_ORIGIN; +const session_storage_key = "coep_credentialless_iframe_session_storage"; +const session_storage_same_origin = "same_origin"; +const session_storage_cross_origin = "cross_origin"; + +promise_test_parallel(async test => { + // Add an item in the sessionStorage on same_origin. + sessionStorage.setItem(session_storage_key, session_storage_same_origin); + + // Add an item in the sessionStorage on cross_origin. + { + const w_token = token(); + const w_url = cross_origin + executor_path + `&uuid=${w_token}`; + const w = window.open(w_url); + const reply_token = token(); + send(w_token, ` + sessionStorage.setItem("${session_storage_key}", + "${session_storage_cross_origin}"); + send("${reply_token}", "done"); + `); + assert_equals(await receive(reply_token), "done"); + w.close(); + } + + promise_test_parallel(async test => { + let iframe = newAnonymousIframe(same_origin); + let reply_token = token(); + send(iframe, ` + let value = sessionStorage.getItem("${session_storage_key}"); + send("${reply_token}", value); + `) + assert_equals(await receive(reply_token), "") + }, "same_origin anonymous iframe can't access the sessionStorage"); + + promise_test_parallel(async test => { + let iframe = newAnonymousIframe(cross_origin); + let reply_token = token(); + send(iframe, ` + let value = sessionStorage.getItem("${session_storage_key}"); + send("${reply_token}", value); + `) + assert_equals(await receive(reply_token), "") + }, "cross_origin anonymous iframe can't access the sessionStorage"); + +}, "Setup")
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/web-lock.tentative.https.window.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/web-lock.tentative.https.window.js new file mode 100644 index 0000000..fad21dfe --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/anonymous-iframe/web-lock.tentative.https.window.js
@@ -0,0 +1,75 @@ +// META: script=/common/get-host-info.sub.js +// META: script=/common/utils.js +// META: script=/common/dispatcher/dispatcher.js +// META: script=../credentialless/resources/common.js +// META: script=./resources/common.js + +// A script acquiring a lock. It can be released using window.releaseLocks +const acquire_script = (key, response) => ` + window.releaseLocks ||= []; + navigator.locks.request("${key}", async lock => { + send("${response}", "locked") + await new Promise(r => releaseLocks.push(r)); + send("${response}", "unlocked"); + }); +`; + +const release_script = (response) => ` + for (release of releaseLocks) + release(); +`; + +// Assert that |context| holds |expected_keys|. +const assertHeldKeys = async (context, expected_keys) => { + const queue = token(); + send(context, ` + const list = await navigator.locks.query(); + send("${queue}", JSON.stringify(list)); + `); + const state = JSON.parse(await receive(queue)); + const held = state.held.map(x => x.name); + assert_equals(held.length, expected_keys.length); + assert_array_equals(held.sort(), expected_keys.sort()); +} + +promise_test(async test => { + const origin = get_host_info().HTTPS_REMOTE_ORIGIN; + const key_1 = token(); + const key_2 = token(); + + // 2 actors: An anonymous iframe and a normal one. + const iframe_anonymous = newAnonymousIframe(origin); + const iframe_normal = newIframe(origin); + const response_queue_1 = token(); + const response_queue_2 = token(); + + // 1. Hold two different locks on both sides. + send(iframe_anonymous, acquire_script(key_1, response_queue_1)); + send(iframe_normal, acquire_script(key_2, response_queue_2)); + assert_equals(await receive(response_queue_1), "locked"); + assert_equals(await receive(response_queue_2), "locked"); + await assertHeldKeys(iframe_anonymous, [key_1]); + await assertHeldKeys(iframe_normal, [key_2]); + + // 2. Try to acquire the lock with the same key on the opposite side. It + // shouldn't block, because they are partitioned. + send(iframe_anonymous , acquire_script(key_2, response_queue_1)); + send(iframe_normal, acquire_script(key_1, response_queue_2)); + assert_equals(await receive(response_queue_1), "locked"); + assert_equals(await receive(response_queue_2), "locked"); + await assertHeldKeys(iframe_anonymous, [key_1, key_2]); + await assertHeldKeys(iframe_normal, [key_1, key_2]); + + // 3. Cleanup: release the 4 locks (2 on each sides). + send(iframe_anonymous, release_script(response_queue_1)); + assert_equals(await receive(response_queue_1), "unlocked"); + assert_equals(await receive(response_queue_1), "unlocked"); + await assertHeldKeys(iframe_anonymous, []); + await assertHeldKeys(iframe_normal, [key_1, key_2]); + + send(iframe_normal, release_script(response_queue_2)); + assert_equals(await receive(response_queue_2), "unlocked"); + assert_equals(await receive(response_queue_2), "unlocked"); + await assertHeldKeys(iframe_anonymous, []); + await assertHeldKeys(iframe_normal, []); +})
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window_dedicated_worker-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window_dedicated_worker-expected.txt deleted file mode 100644 index cfb3376f..0000000 --- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window_dedicated_worker-expected.txt +++ /dev/null
@@ -1,17 +0,0 @@ -This is a testharness.js-based test. -PASS [dedicated_worker] unsafe-none => unsafe-none -FAIL [dedicated_worker] unsafe-none => credentialless assert_equals: expected "error" but got "retrieved" -PASS [dedicated_worker] unsafe-none => credentialless (omit) -PASS [dedicated_worker] unsafe-none => credentialless + CORP -FAIL [dedicated_worker] unsafe-none => require-corp assert_equals: expected "error" but got "retrieved" -FAIL [dedicated_worker] unsafe-none => require-corp (omit) assert_equals: expected "error" but got "retrieved" -PASS [dedicated_worker] unsafe-none => require-corp + CORP -PASS [dedicated_worker] credentialless => unsafe-none -PASS [dedicated_worker] credentialless => credentialless -FAIL [dedicated_worker] credentialless => require-corp assert_equals: expected "error" but got "retrieved" -PASS [dedicated_worker] credentialless => require-corp + CORP -PASS [dedicated_worker] require_corp => unsafe-none -PASS [dedicated_worker] require_corp => credentialless -PASS [dedicated_worker] require_corp => require-corp -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window-expected.txt deleted file mode 100644 index 7ecbf9ce..0000000 --- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -This is a testharness.js-based test. -PASS dedicated-worker -PASS fetch same-origin + credentialless worker -PASS fetch same-origin -PASS fetch cross-origin -FAIL fetch cross-origin + credentialless worker assert_equals: coep:none => expected (undefined) undefined but got (string) "cross_origin" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker-cache-storage.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker-cache-storage.https-expected.txt deleted file mode 100644 index 88a4a82..0000000 --- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker-cache-storage.https-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -PASS coep-none coep-none corp-cross-origin -PASS coep-none coep-none corp-undefined -PASS coep-none coep-require-corp corp-cross-origin -FAIL coep-none coep-require-corp corp-undefined assert_equals: expected "failure" but got "success" -PASS coep-require-corp coep-none corp-cross-origin -PASS coep-require-corp coep-none corp-undefined -PASS coep-require-corp coep-require-corp corp-cross-origin -PASS coep-require-corp coep-require-corp corp-undefined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt deleted file mode 100644 index 883c29a..0000000 --- a/third_party/blink/web_tests/external/wpt/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -This is a testharness.js-based test. -PASS COEP: none worker in COEP: none frame -PASS COEP: none worker in COEP: require-corp frame -FAIL COEP: require-corp worker in COEP: none frame assert_equals: expected "FAILED" but got "LOADED" -PASS COEP: require-corp worker in COEP: require-corp frame -PASS COEP: none module worker in COEP: none frame -PASS COEP: none module worker in COEP: require-corp frame -FAIL COEP: require-corp module worker in COEP: none frame assert_equals: expected "FAILED" but got "LOADED" -PASS COEP: require-corp module worker in COEP: require-corp frame -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-input-element/input-untrusted-key-event.html b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-input-element/input-untrusted-key-event.html new file mode 100644 index 0000000..607b0c5 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-input-element/input-untrusted-key-event.html
@@ -0,0 +1,123 @@ +<!DOCTYPE HTML> +<html> +<head> +<title>Forms</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<div id="log"></div> +<form id="input_form"> + <input type="submit" value="submit"><br> +</form> +<script type="module"> +import inputTypes from "./input-types.js"; + +const form = document.querySelector("form"); +form.addEventListener("submit", (e) => { + e.preventDefault(); + assert_true(false, 'form should not be submitted'); +}); + +// Create and append input elements +for (const inputType of inputTypes) { + let input = document.createElement("input"); + input.type = inputType; + form.appendChild(input); +} + +const submit = document.querySelector("input[type=submit]"); +submit.addEventListener("click", function(e) { + assert_true(false, 'input submit should not be clicked'); +}); + +// Start tests +for (const inputType of inputTypes) { + let input = document.querySelector(`input[type=${inputType}]`); + input.addEventListener("click", function(e) { + assert_true(false, `input ${inputType} should not be clicked`); + }); + + test(() => { + // keyCode: Enter + input.dispatchEvent( + new KeyboardEvent("keypress", { + keyCode: 13, + }) + ); + + // key: Enter + input.dispatchEvent( + new KeyboardEvent("keypress", { + key: "Enter", + }) + ); + + // keyCode: Space + input.dispatchEvent( + new KeyboardEvent("keypress", { + keyCode: 32, + }) + ); + + // key: Space + input.dispatchEvent( + new KeyboardEvent("keypress", { + key: " ", + }) + ); + }, `Dipatching untrusted keypress events to input ${inputType} should not cause form submission or click event`); + + test(() => { + // keyCode: Enter + input.dispatchEvent( + new KeyboardEvent("keydown", { + keyCode: 13, + }) + ); + input.dispatchEvent( + new KeyboardEvent("keyup", { + keyCode: 13, + }) + ); + + // key: Enter + input.dispatchEvent( + new KeyboardEvent("keydown", { + key: "Enter", + }) + ); + input.dispatchEvent( + new KeyboardEvent("keyup", { + key: "Enter", + }) + ); + + // keyCode: Space + input.dispatchEvent( + new KeyboardEvent("keydown", { + keyCode: 32, + }) + ); + input.dispatchEvent( + new KeyboardEvent("keyup", { + keyCode: 32, + }) + ); + + // key: Space + input.dispatchEvent( + new KeyboardEvent("keydown", { + key: " ", + }) + ); + input.dispatchEvent( + new KeyboardEvent("keyup", { + key: " ", + }) + ); + }, `Dipatching untrusted keyup/keydown event to input ${inputType} should not cause form submission or click event`); +} +</script> +</body> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/lint.ignore b/third_party/blink/web_tests/external/wpt/lint.ignore index 8078f262..b997374 100644 --- a/third_party/blink/web_tests/external/wpt/lint.ignore +++ b/third_party/blink/web_tests/external/wpt/lint.ignore
@@ -722,6 +722,7 @@ MISSING DEPENDENCY: resources/chromium/fake-serial.js MISSING DEPENDENCY: resources/chromium/generic_sensor_mocks.js MISSING DEPENDENCY: resources/chromium/mock-barcodedetection.js +MISSING DEPENDENCY: resources/chromium/mock-direct-sockets.js MISSING DEPENDENCY: resources/chromium/mock-facedetection.js MISSING DEPENDENCY: resources/chromium/mock-idle-detection.js MISSING DEPENDENCY: resources/chromium/mock-imagecapture.js
diff --git a/third_party/blink/web_tests/external/wpt/permissions-policy/reporting/payment-report-only.https.html b/third_party/blink/web_tests/external/wpt/permissions-policy/reporting/payment-report-only.https.html index f5105c3..d4425f9f 100644 --- a/third_party/blink/web_tests/external/wpt/permissions-policy/reporting/payment-report-only.https.html +++ b/third_party/blink/web_tests/external/wpt/permissions-policy/reporting/payment-report-only.https.html
@@ -3,6 +3,8 @@ <head> <script src='/resources/testharness.js'></script> <script src='/resources/testharnessreport.js'></script> + <script src='/resources/testdriver.js'></script> + <script src='/resources/testdriver-vendor.js'></script> </head> <body> <script> @@ -19,6 +21,7 @@ {types: ['permissions-policy-violation']}).observe(); }); try { + await test_driver.bless(); const request = new PaymentRequest( [{ supportedMethods: 'basic-card' }], { total: { label: 'Total', amount: { currency: 'USD', value: 0 }}},
diff --git a/third_party/blink/web_tests/external/wpt/resources/chromium/mock-direct-sockets.js b/third_party/blink/web_tests/external/wpt/resources/chromium/mock-direct-sockets.js new file mode 100644 index 0000000..caab177 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/resources/chromium/mock-direct-sockets.js
@@ -0,0 +1,75 @@ +'use strict'; + +import {DirectSocketsService, DirectSocketsServiceReceiver} from '/gen/third_party/blink/public/mojom/direct_sockets/direct_sockets.mojom.m.js'; + +self.DirectSocketsServiceTest = (() => { + // Class that mocks DirectSocketsService interface defined in + // https://source.chromium.org/chromium/chromium/src/third_party/blink/public/mojom/direct_sockets/direct_sockets.mojom + class MockDirectSocketsService { + constructor() { + this.interceptor_ = new MojoInterfaceInterceptor(DirectSocketsService.$interfaceName); + this.receiver_ = new DirectSocketsServiceReceiver(this); + this.interceptor_.oninterfacerequest = e => + this.receiver_.$.bindHandle(e.handle); + this.interceptor_.start(); + } + + reset() { + this.receiver_.$.close(); + this.interceptor_.stop(); + } + + openTcpSocket( + options, + receiver, + observer) { + return Promise.resolve({ + // return result = net:Error::NOT_IMPLEMENTED (code -11) + result: -11 + }); + } + + openUdpSocket( + options, + receiver, + listener) { + return Promise.resolve({ + // return result = net:Error::NOT_IMPLEMENTED (code -11) + result: -11 + }); + } + } + + let testInternal = { + initialized: false, + mockDirectSocketsService: null + } + + class DirectSocketsServiceTestChromium { + constructor() { + Object.freeze(this); // Make it immutable. + } + + initialize() { + if (!testInternal.initialized) { + testInternal = { + mockDirectSocketsService: new MockDirectSocketsService(), + initialized: true + }; + } + } + + async reset() { + if (testInternal.initialized) { + testInternal.mockDirectSocketsService.reset(); + testInternal = { + mockDirectSocketsService: null, + initialized: false + }; + await new Promise(resolve => setTimeout(resolve, 0)); + } + } + } + + return DirectSocketsServiceTestChromium; +})();
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/client-url-of-blob-url-worker.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/client-url-of-blob-url-worker.https-expected.txt deleted file mode 100644 index bc07e04..0000000 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/client-url-of-blob-url-worker.https-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Client.url of a blob URL worker should be a blob URL. assert_not_equals: worker client should exist got disallowed value "one worker client should exist" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-get-client-types.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-get-client-types.https-expected.txt deleted file mode 100644 index 58bae30..0000000 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-get-client-types.https-expected.txt +++ /dev/null
@@ -1,4 +0,0 @@ -This is a testharness.js-based test. -FAIL Test Clients.get() with window and worker clients assert_not_equals: Worker(Started by main frame) client should not be undefined got disallowed value undefined -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-blob-url-worker.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-blob-url-worker.https-expected.txt deleted file mode 100644 index 0065aa4a..0000000 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-blob-url-worker.https-expected.txt +++ /dev/null
@@ -1,5 +0,0 @@ -This is a testharness.js-based test. -FAIL Test Clients.matchAll() with a blob URL worker client. assert_equals: expected 1 but got 0 -FAIL Test Clients.matchAll() with an uncontrolled blob URL worker client. assert_equals: expected 1 but got 0 -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-frozen.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-frozen.https-expected.txt new file mode 100644 index 0000000..05dc9954 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/clients-matchall-frozen.https-expected.txt
@@ -0,0 +1,3 @@ +This is a testharness.js-based test. +FAIL Test Clients.matchAll() assert_object_equals: property "url" expected "https://web-platform.test:8444/service-workers/service-worker/resources/clients-frame-freeze.html#1" got "https://web-platform.test:8444/service-workers/service-worker/resources/clients-frame-freeze.html#2" +Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/dedicated-worker-service-worker-interception.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/dedicated-worker-service-worker-interception.https-expected.txt deleted file mode 100644 index e6e6986..0000000 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/dedicated-worker-service-worker-interception.https-expected.txt +++ /dev/null
@@ -1,6 +0,0 @@ -This is a testharness.js-based test. -FAIL Top-level module loading should be intercepted by a service worker. assert_equals: expected "LOADED_FROM_SERVICE_WORKER" but got "LOADED_FROM_NETWORK" -FAIL Static import should be intercepted by a service worker. assert_equals: expected "LOADED_FROM_SERVICE_WORKER" but got "LOADED_FROM_NETWORK" -FAIL Dynamic import should be intercepted by a service worker. assert_equals: expected "LOADED_FROM_SERVICE_WORKER" but got "LOADED_FROM_NETWORK" -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/local-url-inherit-controller.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/local-url-inherit-controller.https-expected.txt index 5bbd21b..b3b4691 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/local-url-inherit-controller.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/local-url-inherit-controller.https-expected.txt
@@ -5,6 +5,6 @@ PASS Same-origin blob URL worker should intercept fetch(). PASS Data URL iframe should not intercept fetch(). FAIL Data URL worker should not inherit service worker controller. promise_test: Unhandled rejection with value: "Uncaught TypeError: Cannot read properties of undefined (reading 'controller')" -FAIL Data URL worker should not intercept fetch(). assert_equals: data URL worker should not intercept fetch expected "" but got "intercepted" +PASS Data URL worker should not intercept fetch(). Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception-redirect.https-expected.txt index 6ebfc05..06706c05 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception-redirect.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception-redirect.https-expected.txt
@@ -1,29 +1,29 @@ This is a testharness.js-based test. -Found 54 tests; 31 PASS, 23 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 66 tests; 40 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS initialize global state -PASS Case #1: network scope1->scope2 (classic DedicatedWorker) -PASS Case #1: network scope1->scope2 (module DedicatedWorker) +FAIL Case #1: network scope1->scope2 (classic DedicatedWorker) assert_equals: expected "the worker script was served from network" but got "sw2 saw the request for the worker script" +FAIL Case #1: network scope1->scope2 (module DedicatedWorker) assert_equals: expected "the worker script was served from network" but got "sw2 saw the request for the worker script" FAIL Case #1: network scope1->scope2 (classic SharedWorker) assert_equals: expected "the worker script was served from network" but got "sw2 saw the request for the worker script" FAIL Case #1: network scope1->scope2 (module SharedWorker) assert_equals: expected "the worker script was served from network" but got "sw2 saw the request for the worker script" PASS Case #2: network scope1->out-scope (classic DedicatedWorker) PASS Case #2: network scope1->out-scope (module DedicatedWorker) PASS Case #2: network scope1->out-scope (classic SharedWorker) PASS Case #2: network scope1->out-scope (module SharedWorker) -FAIL Case #3: sw scope1->scope2 (classic DedicatedWorker) assert_unreached: Worker error Reached unreachable code -FAIL Case #3: sw scope1->scope2 (module DedicatedWorker) assert_unreached: Worker error Reached unreachable code +PASS Case #3: sw scope1->scope2 (classic DedicatedWorker) +PASS Case #3: sw scope1->scope2 (module DedicatedWorker) PASS Case #3: sw scope1->scope2 (classic SharedWorker) PASS Case #3: sw scope1->scope2 (module SharedWorker) -FAIL Case #4: sw scope1->out-scope (classic DedicatedWorker) assert_unreached: Worker error Reached unreachable code -FAIL Case #4: sw scope1->out-scope (module DedicatedWorker) assert_unreached: Worker error Reached unreachable code +PASS Case #4: sw scope1->out-scope (classic DedicatedWorker) +PASS Case #4: sw scope1->out-scope (module DedicatedWorker) PASS Case #4: sw scope1->out-scope (classic SharedWorker) PASS Case #4: sw scope1->out-scope (module SharedWorker) PASS cleanup global state -FAIL Case #1: network scope1->scope2 (classic DedicatedWorker, importScripts()) assert_equals: expected "sw1 saw importScripts from the worker: /service-workers/service-worker/resources/scope2/import-scripts-echo.py" but got "importScripts: served from network (scope2/)" -FAIL Case #1: network scope1->scope2 (classic DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/scope2/simple.txt" but got "fetch(): a simple text file (scope2/)\n" -PASS Case #1: network scope1->scope2 (classic DedicatedWorker, location.href) +FAIL Case #1: network scope1->scope2 (classic DedicatedWorker, importScripts()) assert_equals: expected "sw1 saw importScripts from the worker: /service-workers/service-worker/resources/scope2/import-scripts-echo.py" but got "sw2 saw importScripts from the worker: /service-workers/service-worker/resources/subdir/import-scripts-echo.py" +FAIL Case #1: network scope1->scope2 (classic DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/scope2/simple.txt" but got "fetch(): sw2 saw the fetch from the worker: /service-workers/service-worker/resources/subdir/simple.txt" +FAIL Case #1: network scope1->scope2 (classic DedicatedWorker, location.href) assert_equals: location.href expected "https://web-platform.test:8444/service-workers/service-worker/resources/scope2/worker_interception_redirect_webworker.py" but got "https://web-platform.test:8444/service-workers/service-worker/resources/subdir/worker_interception_redirect_webworker.py?greeting=sw2%20saw%20the%20request%20for%20the%20worker%20script" PASS Case #1: network scope1->scope2 (module DedicatedWorker, importScripts()) -FAIL Case #1: network scope1->scope2 (module DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/scope2/simple.txt" but got "fetch(): a simple text file (scope2/)\n" -PASS Case #1: network scope1->scope2 (module DedicatedWorker, location.href) +FAIL Case #1: network scope1->scope2 (module DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/scope2/simple.txt" but got "fetch(): sw2 saw the fetch from the worker: /service-workers/service-worker/resources/subdir/simple.txt" +FAIL Case #1: network scope1->scope2 (module DedicatedWorker, location.href) assert_equals: location.href expected "https://web-platform.test:8444/service-workers/service-worker/resources/scope2/worker_interception_redirect_webworker.py" but got "https://web-platform.test:8444/service-workers/service-worker/resources/subdir/worker_interception_redirect_webworker.py?greeting=sw2%20saw%20the%20request%20for%20the%20worker%20script" FAIL Case #1: network scope1->scope2 (classic SharedWorker, importScripts()) assert_equals: expected "sw1 saw importScripts from the worker: /service-workers/service-worker/resources/scope2/import-scripts-echo.py" but got "sw2 saw importScripts from the worker: /service-workers/service-worker/resources/subdir/import-scripts-echo.py" FAIL Case #1: network scope1->scope2 (classic SharedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/scope2/simple.txt" but got "fetch(): sw2 saw the fetch from the worker: /service-workers/service-worker/resources/subdir/simple.txt" FAIL Case #1: network scope1->scope2 (classic SharedWorker, location.href) assert_equals: location.href expected "https://web-platform.test:8444/service-workers/service-worker/resources/scope2/worker_interception_redirect_webworker.py" but got "https://web-platform.test:8444/service-workers/service-worker/resources/subdir/worker_interception_redirect_webworker.py?greeting=sw2%20saw%20the%20request%20for%20the%20worker%20script" @@ -42,12 +42,24 @@ PASS Case #2: network scope1->out-scope (module SharedWorker, importScripts()) FAIL Case #2: network scope1->out-scope (module SharedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/simple.txt" but got "fetch(): a simple text file\n" PASS Case #2: network scope1->out-scope (module SharedWorker, location.href) +PASS Case #3: sw scope1->scope2 (classic DedicatedWorker, importScripts()) +PASS Case #3: sw scope1->scope2 (classic DedicatedWorker, fetch()) +PASS Case #3: sw scope1->scope2 (classic DedicatedWorker, location.href) +PASS Case #3: sw scope1->scope2 (module DedicatedWorker, importScripts()) +PASS Case #3: sw scope1->scope2 (module DedicatedWorker, fetch()) +PASS Case #3: sw scope1->scope2 (module DedicatedWorker, location.href) PASS Case #3: sw scope1->scope2 (classic SharedWorker, importScripts()) PASS Case #3: sw scope1->scope2 (classic SharedWorker, fetch()) PASS Case #3: sw scope1->scope2 (classic SharedWorker, location.href) PASS Case #3: sw scope1->scope2 (module SharedWorker, importScripts()) PASS Case #3: sw scope1->scope2 (module SharedWorker, fetch()) PASS Case #3: sw scope1->scope2 (module SharedWorker, location.href) +FAIL Case #4: sw scope1->out-scope (classic DedicatedWorker, importScripts()) assert_equals: expected "sw1 saw importScripts from the worker: /service-workers/service-worker/resources/import-scripts-echo.py" but got "importScripts: served from network" +FAIL Case #4: sw scope1->out-scope (classic DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/simple.txt" but got "fetch(): a simple text file\n" +PASS Case #4: sw scope1->out-scope (classic DedicatedWorker, location.href) +PASS Case #4: sw scope1->out-scope (module DedicatedWorker, importScripts()) +FAIL Case #4: sw scope1->out-scope (module DedicatedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/simple.txt" but got "fetch(): a simple text file\n" +PASS Case #4: sw scope1->out-scope (module DedicatedWorker, location.href) FAIL Case #4: sw scope1->out-scope (classic SharedWorker, importScripts()) assert_equals: expected "sw1 saw importScripts from the worker: /service-workers/service-worker/resources/import-scripts-echo.py" but got "importScripts: served from network" FAIL Case #4: sw scope1->out-scope (classic SharedWorker, fetch()) assert_equals: expected "fetch(): sw1 saw the fetch from the worker: /service-workers/service-worker/resources/simple.txt" but got "fetch(): a simple text file\n" PASS Case #4: sw scope1->out-scope (classic SharedWorker, location.href)
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt index dba3694a..41d45df 100644 --- a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt +++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt
@@ -1,17 +1,17 @@ This is a testharness.js-based test. -FAIL Verify a dedicated worker script request issued from a uncontrolled document is intercepted by worker's own service worker. promise_test: Unhandled rejection with value: undefined -FAIL Verify an out-of-scope dedicated worker script request issued from a controlled document should not be intercepted by document's service worker. assert_equals: expected "worker loading was not intercepted by service worker" but got "worker loading intercepted by service worker" +PASS Verify a dedicated worker script request issued from a uncontrolled document is intercepted by worker's own service worker. +PASS Verify an out-of-scope dedicated worker script request issued from a controlled document should not be intercepted by document's service worker. PASS Verify a shared worker script request issued from a uncontrolled document is intercepted by worker's own service worker. -FAIL Verify a same-origin worker script served by a service worker succeeds in starting a dedicated worker. promise_test: Unhandled rejection with value: undefined +PASS Verify a same-origin worker script served by a service worker succeeds in starting a dedicated worker. PASS Verify a same-origin worker script served by a service worker succeeds in starting a shared worker. PASS Verify a cors worker script served by a service worker fails dedicated worker start. PASS Verify a cors worker script served by a service worker fails shared worker start. PASS Verify a no-cors cross-origin worker script served by a service worker fails dedicated worker start. PASS Verify a no-cors cross-origin worker script served by a service worker fails shared worker start. PASS Register a service worker for worker subresource interception tests. -FAIL Requests on a dedicated worker controlled by a service worker. assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"code\": 404, \"message\": \"\"}}" +PASS Requests on a dedicated worker controlled by a service worker. PASS Requests on a shared worker controlled by a service worker. -FAIL Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"code\": 404, \"message\": \"\"}}" +PASS Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker FAIL Requests on a dedicated worker nested in a shared worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "Unexpected error! Worker is not defined" PASS Unregister a service worker for subresource interception tests. Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars-expected.html b/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars-expected.html index bb107395..9180f84 100644 --- a/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars-expected.html +++ b/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars-expected.html
@@ -29,11 +29,10 @@ </script> </head> <body> -<!-- -You should see first 2 green boxes with overlay scrollbars. +<p>You should see first 2 green boxes with overlay scrollbars. The second box should have a scrollbar on the left. Remaining 2 green boxes should appear without overlay scrollbars. ---> +</p> <div class="container"> <div class="scrollbar vertical" style="right: 4px; top: 4px;"></div>
diff --git a/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars.html b/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars.html index e1486f54..81feaa7 100644 --- a/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars.html +++ b/third_party/blink/web_tests/fast/scrolling/overlay-scrollbars.html
@@ -23,11 +23,10 @@ </style> </head> <body> -<!-- -You should see first 2 green boxes with overlay scrollbars. +<p>You should see first 2 green boxes with overlay scrollbars. The second box should have a scrollbar on the left. Remaining 2 green boxes should appear without overlay scrollbars. ---> +</p> <div class="container"><div class="box"></div></div> <div dir="rtl" class="container"><div class="box"></div></div>
diff --git a/third_party/blink/web_tests/fast/workers/sandbox-origin-setup-crash-expected.txt b/third_party/blink/web_tests/fast/workers/sandbox-origin-setup-crash-expected.txt index 34a6e047..0054d5a 100644 --- a/third_party/blink/web_tests/fast/workers/sandbox-origin-setup-crash-expected.txt +++ b/third_party/blink/web_tests/fast/workers/sandbox-origin-setup-crash-expected.txt
@@ -1,2 +1,3 @@ CONSOLE ERROR: The Content Security Policy directive 'sandbox' is ignored when delivered via a <meta> element. +CONSOLE ERROR: The Content Security Policy directive 'sandbox' is ignored when delivered via a <meta> element. PASS if no crash.
diff --git a/third_party/blink/web_tests/flag-specific/disable-layout-ng/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt b/third_party/blink/web_tests/flag-specific/disable-layout-ng/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt index 753407d..748dfa88 100644 --- a/third_party/blink/web_tests/flag-specific/disable-layout-ng/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt +++ b/third_party/blink/web_tests/flag-specific/disable-layout-ng/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
@@ -33,8 +33,10 @@ }, { "name": "Scroll corner of LayoutBlockFlow DIV class='scroller'", - "position": [8, 293], - "bounds": [300, 44] + "position": [285, 285], + "bounds": [15, 15], + "contentsOpaque": true, + "transform": 1 } ], "transforms": [
diff --git a/third_party/blink/web_tests/flag-specific/highdpi/external/wpt/dom/eventPathRemoved-expected.txt b/third_party/blink/web_tests/flag-specific/highdpi/external/wpt/dom/eventPathRemoved-expected.txt new file mode 100644 index 0000000..dcff58a --- /dev/null +++ b/third_party/blink/web_tests/flag-specific/highdpi/external/wpt/dom/eventPathRemoved-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Event.prototype should not have this property: assert_false: expected false got true +Harness: the test ran to completion. +
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-blocked-expected.txt b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-blocked-expected.txt index 995a7c8..1b578b2 100644 --- a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-blocked-expected.txt +++ b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-blocked-expected.txt
@@ -2,7 +2,7 @@ Fetch in worker result: FETCH_FAILED http://127.0.0.1:8000/devtools/network/resources/fetch-worker.js -resource.type: other +resource.type: script request.failed: false http://127.0.0.1:8000/devtools/network/resources/resource.php resource.type: fetch
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-expected.txt b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-expected.txt index 6e298957..cd20610d 100644 --- a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-expected.txt +++ b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-expected.txt
@@ -2,7 +2,7 @@ Fetch in worker result: Hello world http://127.0.0.1:8000/devtools/network/resources/fetch-worker.js -resource.type: other +resource.type: script request.failed: false http://127.0.0.1:8000/devtools/network/resources/resource.php resource.type: fetch
diff --git a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-parallel-expected.txt b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-parallel-expected.txt index ed8f2907..e4c7f080 100644 --- a/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-parallel-expected.txt +++ b/third_party/blink/web_tests/http/tests/devtools/network/network-worker-fetch-parallel-expected.txt
@@ -2,7 +2,7 @@ Parallel fetch in worker result: ["Hello world","Hello world"] http://127.0.0.1:8000/devtools/network/resources/fetch-parallel-worker.js -resource.type: other +resource.type: script request.failed: false http://127.0.0.1:8000/devtools/network/resources/resource.php?1 resource.type: fetch
diff --git a/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/dedicated-worker-reporting.html b/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/dedicated-worker-reporting.html deleted file mode 100644 index bdafb73..0000000 --- a/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/dedicated-worker-reporting.html +++ /dev/null
@@ -1,40 +0,0 @@ -<html> -<body> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/resources/get-host-info.js"></script> -<script> -const {HTTPS_REMOTE_ORIGIN} = get_host_info(); - -if (location.protocol == 'http') { - location.protocol = 'https'; -} else { - promise_test(async (t) => { - frame = document.createElement('frame'); - frame.src = 'resources/empty-coep.php'; - document.body.appendChild(frame); - await new Promise((r) => frame.onload = r); - const url = `${HTTPS_REMOTE_ORIGIN}/resources/dummy.txt`; - const script = ` - fetch('${url}', {mode: 'no-cors'}).catch(() => {}); - `; - const worker = new frame.contentWindow.Worker( - 'data:text/html,' + encodeURIComponent(script)); - - const reports = await new Promise((resolve) => { - const observer = new frame.contentWindow.ReportingObserver((reports) => { - resolve(reports.map(r => r.toJSON())); - }); - observer.observe(); - }); - - assert_equals(reports.length, 1); - assert_equals(reports[0].type, 'coep'); - assert_equals(reports[0].url, frame.src); - assert_equals(reports[0].body.type, 'corp'); - assert_equals(reports[0].body['blockedURL'], url); - }, 'COEP reports made by DedicatedWorker is reported to the owner document'); -} -</script> -</body> -</html>
diff --git a/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/resources/empty-coep.php b/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/resources/empty-coep.php deleted file mode 100644 index ea13fdb..0000000 --- a/third_party/blink/web_tests/http/tests/security/cross-origin-embedder-policy/resources/empty-coep.php +++ /dev/null
@@ -1,6 +0,0 @@ -<?php -header('cross-origin-embedder-policy: require-corp'); -header('content-type: text/html'); -?> -<!doctype html> -<html></html> \ No newline at end of file
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/dedicated-worker-service-worker-interception.html b/third_party/blink/web_tests/http/tests/serviceworker/dedicated-worker-service-worker-interception.html deleted file mode 100644 index d92c2b8..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/dedicated-worker-service-worker-interception.html +++ /dev/null
@@ -1,139 +0,0 @@ -<!DOCTYPE html> -<title>DedicatedWorker: ServiceWorker interception</title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/test-helpers.js"></script> -<script> - -// These tests should not be upstreamed to WPT because these check Chrome's -// spec-incompatible behavior (https://crbug.com/731599). These should be -// superseded by tests in WPT after the issue is fixed. See also -// external/wpt/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html - -const kServiceWorkerScriptURL = - 'resources/service-worker-interception-service-worker.js'; -const kWindowURL = 'resources/new-worker-window.html'; - -function openWindow(url) { - return new Promise(resolve => { - let win = window.open(url, '_blank'); - add_result_callback(() => win.close()); - window.onmessage = e => { - assert_equals(e.data, 'LOADED'); - resolve(win); - }; - }); -} - -// Tests that a dedicated worker should be served by the owner document's -// service worker. -// -// [Current document] registers a service worker for Window's URL. -// --(open)--> [Window] should be controlled by the service worker. -// --(new Worker)--> [Worker] should be served by the service worker. -promise_test(async t => { - const registration = await service_worker_unregister_and_register( - t, kServiceWorkerScriptURL + '?controlled', kWindowURL); - add_result_callback(() => registration.unregister()); - await wait_for_state(t, registration.installing, 'activated'); - - const win = await openWindow(kWindowURL); - assert_not_equals(win.navigator.serviceWorker.controller, null, - 'The document should be controlled.'); - - // |win| is controlled by the service worker, so a new dedicated worker - // created from |win| should also be controlled by the service worker. - const kWorkerScriptURL = 'service-worker-interception-network-worker.js'; - win.postMessage(kWorkerScriptURL, '*'); - const msg_event = await new Promise(resolve => window.onmessage = resolve); - assert_equals(msg_event.data, 'LOADED_FROM_SERVICE_WORKER'); -}, 'Module loading for new Worker() on a controlled document should be ' + - 'intercepted by a service worker.'); - -// Tests that a dedicated worker should not be served by a service worker other -// than the owner document's service worker. -// -// [Current document] registers a service worker for Worker's URL. -// --(open)--> [Window] should not be controlled by the service worker. -// --(new Worker)--> [Worker] should not be served by the service worker. -promise_test(async t => { - const kWorkerScriptURL = 'service-worker-interception-network-worker.js'; - const kScope = 'resources/' + kWorkerScriptURL; - - const registration = await service_worker_unregister_and_register( - t, kServiceWorkerScriptURL + '?non-controlled', kScope); - add_result_callback(() => registration.unregister()); - await wait_for_state(t, registration.installing, 'activated'); - - const win = await openWindow(kWindowURL); - assert_equals(win.navigator.serviceWorker.controller, null, - 'The document should not be controlled.'); - - // |win| is not controlled by the service worker, so a new dedicated worker - // created from |win| should not be controlled by the service worker even if - // the script URL of the dedicated worker is under the scope of the service - // worker. - win.postMessage(kWorkerScriptURL, '*'); - const msg_event = await new Promise(resolve => window.onmessage = resolve); - assert_equals(msg_event.data, 'LOADED_FROM_NETWORK'); -}, 'Module loading for new Worker() on a non-controlled document should not ' + - 'be intercepted by a service worker even if the script URL is under the ' + - 'scope.'); - -// Tests that static import should be served by the owner document's service -// worker. -// -// [Current document] registers a service worker for Window's URL. -// --(open)--> [Window] should be controlled by the service worker. -// --(new Worker)--> [Worker] should be controlled by the service worker. -// --(static import)--> [Script] should be served by the service worker. -promise_test(async t => { - const registration = await service_worker_unregister_and_register( - t, kServiceWorkerScriptURL + '?static', kWindowURL); - add_result_callback(() => registration.unregister()); - await wait_for_state(t, registration.installing, 'activated'); - - const win = await openWindow(kWindowURL); - assert_not_equals(win.navigator.serviceWorker.controller, null, - 'The document should be controlled.'); - - // |win| is controlled by the service worker, so a new dedicated worker - // created from |win| and static import from the dedicated worker should - // also be controlled by the service worker. - const kWorkerScriptURL = - 'service-worker-interception-static-import-worker.js'; - win.postMessage(kWorkerScriptURL, '*'); - const msg_event = await new Promise(resolve => window.onmessage = resolve); - assert_equals(msg_event.data, 'LOADED_FROM_SERVICE_WORKER'); -}, 'Static import on a controlled dedicated worker should be intercepted by ' + - 'a service worker.'); - -// Tests that dynamic import should be served by the owner document's service -// worker. -// -// [Current document] registers a service worker for Window's URL. -// --(open)--> [Window] should be controlled by the service worker. -// --(new Worker)--> [Worker] should be controlled by the service worker. -// --(dynamic import)--> [Script] should be served by the service worker. -promise_test(async t => { - const registration = await service_worker_unregister_and_register( - t, kServiceWorkerScriptURL + '?dynamic', kWindowURL); - add_result_callback(() => registration.unregister()); - await wait_for_state(t, registration.installing, 'activated'); - - const win = await openWindow(kWindowURL); - assert_not_equals(win.navigator.serviceWorker.controller, null, - 'The document should be controlled.'); - - // |win| is controlled by the service worker, so a new dedicated worker - // created from |win| and dynamic import from the dedicated worker should - // also be controlled by the service worker. - const kWorkerScriptURL = - 'service-worker-interception-dynamic-import-worker.js'; - win.postMessage(kWorkerScriptURL, '*'); - const msg_event = await new Promise(resolve => window.onmessage = resolve); - assert_equals(msg_event.data, 'LOADED_FROM_SERVICE_WORKER'); -}, 'Dynamic import on a controlled dedicated worker should be intercepted by ' + - 'a service worker.'); - -</script>
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/create-in-scope-worker.html b/third_party/blink/web_tests/http/tests/serviceworker/resources/create-in-scope-worker.html deleted file mode 100644 index f2558d1..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/create-in-scope-worker.html +++ /dev/null
@@ -1,5 +0,0 @@ -<!doctype html> -<script> -const workerUrl = './empty.js'; -const worker = new Worker(workerUrl); -</script>
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/create-out-of-scope-worker.html b/third_party/blink/web_tests/http/tests/serviceworker/resources/create-out-of-scope-worker.html deleted file mode 100644 index abfc8aa..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/create-out-of-scope-worker.html +++ /dev/null
@@ -1,5 +0,0 @@ -<!doctype html> -<script> -const workerUrl = '../../workers/resources/empty.js'; -const worker = new Worker(workerUrl); -</script>
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/new-worker-window.html b/third_party/blink/web_tests/http/tests/serviceworker/resources/new-worker-window.html deleted file mode 100644 index 65e1101..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/new-worker-window.html +++ /dev/null
@@ -1,16 +0,0 @@ -<!DOCTYPE html> -<title>DedicatedWorker: new Worker()</title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script> -let worker; - -// Creates a new dedicated worker for a given script url. -window.onmessage = e => { - worker = new Worker(e.data, { type: 'module' }); - worker.onmessage = msg => window.opener.postMessage(msg.data, '*'); - worker.onerror = () => window.opener.postMessage('FAILED', '*'); -}; - -window.opener.postMessage('LOADED', '*'); -</script>
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/scope1/create-out-of-scope-worker.html b/third_party/blink/web_tests/http/tests/serviceworker/resources/scope1/create-out-of-scope-worker.html deleted file mode 100644 index 94a2c28..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/scope1/create-out-of-scope-worker.html +++ /dev/null
@@ -1,5 +0,0 @@ -<!doctype html> -<script> -const workerUrl = '../scope2/empty.js'; -const worker = new Worker(workerUrl); -</script>
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/scope2/empty.js b/third_party/blink/web_tests/http/tests/serviceworker/resources/scope2/empty.js deleted file mode 100644 index 1f714ee..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/scope2/empty.js +++ /dev/null
@@ -1 +0,0 @@ -// Empty content.
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-dynamic-import-worker.js b/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-dynamic-import-worker.js deleted file mode 100644 index 680e07f..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-dynamic-import-worker.js +++ /dev/null
@@ -1 +0,0 @@ -import('./service-worker-interception-network-worker.js');
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-network-worker.js b/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-network-worker.js deleted file mode 100644 index 5ff39001..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-network-worker.js +++ /dev/null
@@ -1 +0,0 @@ -postMessage('LOADED_FROM_NETWORK');
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-service-worker.js b/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-service-worker.js deleted file mode 100644 index 6b43a37..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-service-worker.js +++ /dev/null
@@ -1,9 +0,0 @@ -const kURL = '/service-worker-interception-network-worker.js'; -const kScript = 'postMessage("LOADED_FROM_SERVICE_WORKER")'; -const kHeaders = [['content-type', 'text/javascript']]; - -self.addEventListener('fetch', e => { - // Serve a generated response for kURL. - if (e.request.url.indexOf(kURL) != -1) - e.respondWith(new Response(kScript, { headers: kHeaders })); -});
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-static-import-worker.js b/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-static-import-worker.js deleted file mode 100644 index e5709587..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/resources/service-worker-interception-static-import-worker.js +++ /dev/null
@@ -1 +0,0 @@ -import './service-worker-interception-network-worker.js';
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/use-counter-out-of-scope-worker.html b/third_party/blink/web_tests/http/tests/serviceworker/use-counter-out-of-scope-worker.html deleted file mode 100644 index 2e538151..0000000 --- a/third_party/blink/web_tests/http/tests/serviceworker/use-counter-out-of-scope-worker.html +++ /dev/null
@@ -1,144 +0,0 @@ -<!DOCTYPE html> -<title>Worker: Use Counter for out-of-scope worker</title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/test-helpers.js"></script> -<script> - -// From web_feature.mojom -const kWorkerControlledByServiceWorkerOutOfScope = 3859; -const kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope = 3872; -const kControlledWorkerWillBeUncontrolled = 3917; - -function isUseCounted(win, feature) { - return win.internals.isUseCounted(win.document, feature); -} - -function observeUseCounter(win, feature) { - return win.internals.observeUseCounter(win.document, feature); -} - -promise_test(async t => { - const frame1_url = 'resources/create-in-scope-worker.html'; - const frame2_url = 'resources/create-out-of-scope-worker.html'; - const service_worker_url = 'resources/empty.js'; - const scope = 'resources/'; - - const registration = await service_worker_unregister_and_register( - t, service_worker_url, scope); - t.add_cleanup(() => service_worker_unregister(t, scope)); - await wait_for_state(t, registration.installing, 'activated'); - - const frame1 = await with_iframe(frame1_url); - t.add_cleanup(_ => frame1.remove()); - - const frame2 = await with_iframe(frame2_url); - t.add_cleanup(_ => frame2.remove()); - - await observeUseCounter(frame2.contentWindow, - kWorkerControlledByServiceWorkerOutOfScope); - - // Only `frame2` should record kWorkerControlledByServiceWorkerOutOfScope. - assert_false(isUseCounted(frame1.contentWindow, - kWorkerControlledByServiceWorkerOutOfScope)); - assert_true(isUseCounted(frame2.contentWindow, - kWorkerControlledByServiceWorkerOutOfScope)); - assert_false(isUseCounted( - frame2.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope)); - assert_false(isUseCounted( - frame2.contentWindow, - kControlledWorkerWillBeUncontrolled)); -}, 'UseCounter for out-of-scope worker.'); - -promise_test(async t => { - const frame_url = 'resources/create-out-of-scope-worker.html'; - const service_worker_url = 'resources/respondwith-fetch-worker.php'; - const scope = 'resources/'; - - const registration = await service_worker_unregister_and_register( - t, service_worker_url, scope); - t.add_cleanup(() => service_worker_unregister(t, scope)); - await wait_for_state(t, registration.installing, 'activated'); - - const frame = await with_iframe(frame_url); - t.add_cleanup(_ => frame.remove()); - - await observeUseCounter( - frame.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope); - - assert_true(isUseCounted( - frame.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope)); -}, 'UseCounter for out-of-scope worker controlled by service worker with a ' + - 'fetch event handler.'); - -promise_test(async t => { - const frame_url = 'resources/create-out-of-scope-worker.html'; - const service_worker_url = 'resources/respondwith-fetch-worker.php'; - const scope1 = '/serviceworker/resources/'; - const scope2 = '/serviceworker/'; - - const registration1 = await service_worker_unregister_and_register( - t, service_worker_url, scope1); - t.add_cleanup(() => service_worker_unregister(t, scope1)); - await wait_for_state(t, registration1.installing, 'activated'); - - const registration2 = await service_worker_unregister_and_register( - t, service_worker_url, scope2); - t.add_cleanup(() => service_worker_unregister(t, scope2)); - await wait_for_state(t, registration2.installing, 'activated'); - - const frame = await with_iframe(frame_url); - t.add_cleanup(_ => frame.remove()); - - await observeUseCounter(frame.contentWindow, - kControlledWorkerWillBeUncontrolled); - - assert_true(isUseCounted( - frame.contentWindow, - kWorkerControlledByServiceWorkerOutOfScope)); - assert_true(isUseCounted( - frame.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope)); - assert_true(isUseCounted( - frame.contentWindow, - kControlledWorkerWillBeUncontrolled)); -}, 'UseCounter for a worker which is not controlled by any service workers.'); - -promise_test(async t => { - const frame_url = 'resources/scope1/create-out-of-scope-worker.html'; - const service_worker_url = 'resources/respondwith-fetch-worker.php'; - const scope1 = 'resources/scope1/'; - const scope2 = 'resources/scope2/'; - - const registration1 = await service_worker_unregister_and_register( - t, service_worker_url, scope1); - t.add_cleanup(() => service_worker_unregister(t, scope1)); - await wait_for_state(t, registration1.installing, 'activated'); - - const registration2 = await service_worker_unregister_and_register( - t, service_worker_url, scope2); - t.add_cleanup(() => service_worker_unregister(t, scope2)); - await wait_for_state(t, registration2.installing, 'activated'); - - const frame = await with_iframe(frame_url); - t.add_cleanup(_ => frame.remove()); - - await observeUseCounter( - frame.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope); - - assert_true(isUseCounted( - frame.contentWindow, - kWorkerControlledByServiceWorkerOutOfScope)); - assert_true(isUseCounted( - frame.contentWindow, - kWorkerControlledByServiceWorkerWithFetchEventHandlerOutOfScope)); - assert_false(isUseCounted( - frame.contentWindow, - kControlledWorkerWillBeUncontrolled)); -}, 'UseCounter for a worker which is controlled a different service worker.'); - -</script>
diff --git a/third_party/blink/web_tests/http/tests/workers/worker-redirect-expected.txt b/third_party/blink/web_tests/http/tests/workers/worker-redirect-expected.txt index 3120832..cd233a3 100644 --- a/third_party/blink/web_tests/http/tests/workers/worker-redirect-expected.txt +++ b/third_party/blink/web_tests/http/tests/workers/worker-redirect-expected.txt
@@ -1,5 +1,3 @@ -CONSOLE ERROR: Unsafe attempt to load URL http://localhost:8000/workers/resources/worker-redirect-target.js from frame with URL http://127.0.0.1:8000/workers/worker-redirect.html. Domains, protocols and ports must match. - Test that loading the worker's script does not allow a cross origin redirect (bug 26146) SUCCESS: threw exception (SecurityError: Failed to construct 'Worker': Script at 'http://localhost:8000/workers/resources/worker-target.js' cannot be accessed from origin 'http://127.0.0.1:8000'.) when attempting to cross origin while loading the worker script.
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-001-expected.png index be5fdd8..4e4c1b4 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-001-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-001-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-002-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-002-expected.png index be5fdd8..4e4c1b4 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-002-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-002-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-003-expected.png index 259bbfd6..5e4b359 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-003-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-003-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png index c78275f1..c0a2751 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-004-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-005-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-005-expected.png index 74e70c2b..edc5c7b 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-005-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-005-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-007-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-007-expected.png index 11e48f4..8ecd1b079 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-007-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-007-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-012-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-012-expected.png index be5fdd8..4e4c1b4 100644 --- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-012-expected.png +++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-012-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt b/third_party/blink/web_tests/platform/mac-mac10.13/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt similarity index 89% rename from third_party/blink/web_tests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt rename to third_party/blink/web_tests/platform/mac-mac10.13/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt index 1a71185..a8bbac82 100644 --- a/third_party/blink/web_tests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt +++ b/third_party/blink/web_tests/platform/mac-mac10.13/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
@@ -33,8 +33,10 @@ }, { "name": "Scroll corner of LayoutNGBlockFlow DIV class='scroller'", - "position": [8, 293], - "bounds": [300, 43] + "position": [285, 285], + "bounds": [15, 15], + "contentsOpaqueForText": true, + "transform": 1 } ], "transforms": [
diff --git a/third_party/blink/web_tests/platform/mac/compositing/overflow/overflow-overlay-with-touch-expected.txt b/third_party/blink/web_tests/platform/mac/compositing/overflow/overflow-overlay-with-touch-expected.txt index 1a71185..a8bbac82 100644 --- a/third_party/blink/web_tests/platform/mac/compositing/overflow/overflow-overlay-with-touch-expected.txt +++ b/third_party/blink/web_tests/platform/mac/compositing/overflow/overflow-overlay-with-touch-expected.txt
@@ -33,8 +33,10 @@ }, { "name": "Scroll corner of LayoutNGBlockFlow DIV class='scroller'", - "position": [8, 293], - "bounds": [300, 43] + "position": [285, 285], + "bounds": [15, 15], + "contentsOpaqueForText": true, + "transform": 1 } ], "transforms": [
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-001-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-001-expected.png index 7ded784..03be978 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-001-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-001-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-002-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-002-expected.png index 7ded784..03be978 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-002-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-002-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-003-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-003-expected.png index 27723a2..fe14b16 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-003-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-003-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-004-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-004-expected.png index fb9179e..28413d2e 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-004-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-004-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-005-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-005-expected.png index 77c26c4e8..0a63ae0e 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-005-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-005-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-007-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-007-expected.png index cd70d625..ae40a8dd 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-007-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-007-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-012-expected.png b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-012-expected.png index 7ded784..03be978 100644 --- a/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-012-expected.png +++ b/third_party/blink/web_tests/platform/mac/editing/caret/caret-color-012-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-001-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-001-expected.png index 98fe166..4774705 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-001-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-001-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-002-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-002-expected.png index 98fe166..4774705 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-002-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-002-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-003-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-003-expected.png index 01a375c..717500f 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-003-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-003-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png index 89cdcd85..6881980 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-004-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-005-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-005-expected.png index 24219d08..57f6c00f 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-005-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-005-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-007-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-007-expected.png index 35be74c..70b300f 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-007-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-007-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-012-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-012-expected.png index 98fe166..4774705 100644 --- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-012-expected.png +++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-012-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt index d2ab035..1eaba1bb 100644 --- a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt +++ b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
@@ -33,8 +33,10 @@ }, { "name": "Scroll corner of LayoutNGBlockFlow DIV class='scroller'", - "position": [8, 293], - "bounds": [300, 44] + "position": [285, 285], + "bounds": [15, 15], + "contentsOpaque": true, + "transform": 1 } ], "transforms": [
diff --git a/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent-expected.html b/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent-expected.html index 0c8a801..b22993a 100644 --- a/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent-expected.html +++ b/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent-expected.html
@@ -34,7 +34,7 @@ .spacer { margin: 50px; width: 20px; - height: 50%; + height: 150%; background-color: blue; } </style>
diff --git a/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent.html b/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent.html index e443628..20a736f 100644 --- a/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent.html +++ b/third_party/blink/web_tests/rootscroller/root-scroller-apply-filter-to-parent.html
@@ -1,4 +1,8 @@ <!DOCTYPE html> +<script> +if (window.internals) + internals.runtimeFlags.implicitRootScrollerEnabled = true; +</script> <style> ::-webkit-scrollbar { width: 0px; @@ -33,7 +37,7 @@ .spacer { margin: 50px; width: 20px; - height: 50%; + height: 150%; background-color: blue; } </style> @@ -52,8 +56,10 @@ var parent = document.querySelector('#parent'); var rootscroller = document.querySelector('#rootscroller'); - document.rootScroller = rootscroller; - parent.style.filter = "sepia(100)"; + if (window.internals && rootscroller == internals.effectiveRootScroller(document)) { + parent.style.filter = "sepia(100)"; + } else { + parent.innerHTML = "FAIL: #rootscroller is expected to be the effective rootScroller"; + } } - </script>
diff --git a/third_party/blink/web_tests/rootscroller/scroll-non-descendant-of-root-scroller.html b/third_party/blink/web_tests/rootscroller/scroll-non-descendant-of-root-scroller.html index 965fe82..8ef065a 100644 --- a/third_party/blink/web_tests/rootscroller/scroll-non-descendant-of-root-scroller.html +++ b/third_party/blink/web_tests/rootscroller/scroll-non-descendant-of-root-scroller.html
@@ -1,4 +1,8 @@ <!DOCTYPE html> +<script> +if (window.internals) + internals.runtimeFlags.implicitRootScrollerEnabled = true; +</script> <style> ::-webkit-scrollbar { width: 0px; @@ -67,14 +71,14 @@ var rootScroller = document.querySelector('#rootscroller'); var dialog = document.querySelector('#dialog'); - document.rootScroller = rootScroller; - var dialogRect = dialog.getBoundingClientRect(); var x = dialogRect.left + dialogRect.width / 2; var y = dialogRect.top + dialogRect.height / 2; promise_test(async () => { + if (window.internals) + assert_equals(rootScroller, internals.effectiveRootScroller(document), 'implicit root scroller'); // Sanity check - there should be no initial scroll. assert_equals(dialog.scrollLeft, 0);
diff --git a/third_party/blink/web_tests/virtual/change-service-worker-priority-when-client-foreground-state-change/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt b/third_party/blink/web_tests/virtual/change-service-worker-priority-when-client-foreground-state-change/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt deleted file mode 100644 index dba3694a..0000000 --- a/third_party/blink/web_tests/virtual/change-service-worker-priority-when-client-foreground-state-change/external/wpt/service-workers/service-worker/worker-interception.https-expected.txt +++ /dev/null
@@ -1,18 +0,0 @@ -This is a testharness.js-based test. -FAIL Verify a dedicated worker script request issued from a uncontrolled document is intercepted by worker's own service worker. promise_test: Unhandled rejection with value: undefined -FAIL Verify an out-of-scope dedicated worker script request issued from a controlled document should not be intercepted by document's service worker. assert_equals: expected "worker loading was not intercepted by service worker" but got "worker loading intercepted by service worker" -PASS Verify a shared worker script request issued from a uncontrolled document is intercepted by worker's own service worker. -FAIL Verify a same-origin worker script served by a service worker succeeds in starting a dedicated worker. promise_test: Unhandled rejection with value: undefined -PASS Verify a same-origin worker script served by a service worker succeeds in starting a shared worker. -PASS Verify a cors worker script served by a service worker fails dedicated worker start. -PASS Verify a cors worker script served by a service worker fails shared worker start. -PASS Verify a no-cors cross-origin worker script served by a service worker fails dedicated worker start. -PASS Verify a no-cors cross-origin worker script served by a service worker fails shared worker start. -PASS Register a service worker for worker subresource interception tests. -FAIL Requests on a dedicated worker controlled by a service worker. assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"code\": 404, \"message\": \"\"}}" -PASS Requests on a shared worker controlled by a service worker. -FAIL Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"code\": 404, \"message\": \"\"}}" -FAIL Requests on a dedicated worker nested in a shared worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "Unexpected error! Worker is not defined" -PASS Unregister a service worker for subresource interception tests. -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/virtual/direct-sockets/wpt_internal/direct-sockets/README.txt b/third_party/blink/web_tests/virtual/direct-sockets/wpt_internal/direct-sockets/README.txt new file mode 100644 index 0000000..3ccbe3a6 --- /dev/null +++ b/third_party/blink/web_tests/virtual/direct-sockets/wpt_internal/direct-sockets/README.txt
@@ -0,0 +1,2 @@ +# This suite runs wpt_internal/direct-sockets/ with +# --enable-features=DirectSockets.
diff --git a/third_party/blink/web_tests/virtual/fledge/http/tests/inspector-protocol/target/auto-attach-auction-worklet-expected.txt b/third_party/blink/web_tests/virtual/fledge/http/tests/inspector-protocol/target/auto-attach-auction-worklet-expected.txt index d497140..681aacdf 100644 --- a/third_party/blink/web_tests/virtual/fledge/http/tests/inspector-protocol/target/auto-attach-auction-worklet-expected.txt +++ b/third_party/blink/web_tests/virtual/fledge/http/tests/inspector-protocol/target/auto-attach-auction-worklet-expected.txt
@@ -16,10 +16,6 @@ Attached to auction_worklet target: https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php (title: FLEDGE bidder worklet for https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php) (waiting: false) -Attached to auction_worklet target: https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php - (title: FLEDGE bidder worklet for https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php) - (waiting: false) -Dettached: https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php Dettached: https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php Attached to auction_worklet target: https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php (title: FLEDGE bidder worklet for https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php)
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/DIR_METADATA b/third_party/blink/web_tests/wpt_internal/direct-sockets/DIR_METADATA new file mode 100644 index 0000000..b9d644b --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/DIR_METADATA
@@ -0,0 +1,4 @@ +monorail { + component: "Blink>Network" +} +
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/META.yml b/third_party/blink/web_tests/wpt_internal/direct-sockets/META.yml new file mode 100644 index 0000000..85c05e8c --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/META.yml
@@ -0,0 +1,5 @@ +spec: https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md +suggested_reviewers: + - ewilligers + - mgiuca + - phoglenix
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/OWNERS b/third_party/blink/web_tests/wpt_internal/direct-sockets/OWNERS new file mode 100644 index 0000000..73c81fa --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/OWNERS
@@ -0,0 +1,4 @@ +# This directory already inherits owner '*', so these owners are informational. +ericwilligers@chromium.org +glenrob@chromium.org +mgiuca@chromium.org
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/README.md b/third_party/blink/web_tests/wpt_internal/direct-sockets/README.md new file mode 100644 index 0000000..71a19de --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/README.md
@@ -0,0 +1,2 @@ +These tests are for the TCP and UDP sockets API proposed in +https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html b/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html new file mode 100644 index 0000000..8ed16c8 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html
@@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <title>Sockets test: can be enabled by default permissions policy (self)</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="resources/direct-sockets-helpers.js"></script> + </head> + <body> + <script> + 'use strict'; + + direct_sockets_test(async (t, mockDirectSocketsService) => { + await test_driver.bless("open socket"); + await promise_rejects_dom(t, "NetworkError", navigator.openTCPSocket({ remotePort: 53 })); + }, "direct sockets (TCP) do not get blocked on permissions policy direct-sockets=(self)"); + + direct_sockets_test(async (t, mockDirectSocketsService) => { + await test_driver.bless("open socket"); + await promise_rejects_dom(t, "NetworkError", navigator.openUDPSocket({ remotePort: 53 })); + }, "direct sockets (UDP) do not get blocked by permissions policy on direct-sockets=(self)"); + </script> + </body> +</html>
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html.headers b/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html.headers new file mode 100644 index 0000000..177feb1 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/direct-sockets-enabled-on-self-origin-by-permissions-policy.https.sub.html.headers
@@ -0,0 +1,3 @@ +Cross-Origin-Opener-Policy: same-origin +Cross-Origin-Embedder-Policy: require-corp +Permissions-Policy: direct-sockets=(self)
diff --git a/third_party/blink/web_tests/external/wpt/direct-sockets/open-consume-activation.https.html b/third_party/blink/web_tests/wpt_internal/direct-sockets/open-consume-activation.https.html similarity index 84% rename from third_party/blink/web_tests/external/wpt/direct-sockets/open-consume-activation.https.html rename to third_party/blink/web_tests/wpt_internal/direct-sockets/open-consume-activation.https.html index 6cbf017..fd6bcd0 100644 --- a/third_party/blink/web_tests/external/wpt/direct-sockets/open-consume-activation.https.html +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/open-consume-activation.https.html
@@ -7,6 +7,7 @@ <script src="/resources/testharnessreport.js"></script> <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> + <script src="resources/direct-sockets-helpers.js"></script> </head> <body> <script> @@ -14,7 +15,7 @@ const options = { remotePort: 53 }; - promise_test(async t => { + direct_sockets_test(async (t, mockDirectSocketsService) => { // Not activated by user gesture, so not allowed! await promise_rejects_dom(t, "NotAllowedError", navigator.openTCPSocket(options)); @@ -22,7 +23,7 @@ await test_driver.bless("open socket"); // We have a gesture, but remoteAddress is omitted - so not allowed! - await promise_rejects_dom(t, "NotAllowedError", + await promise_rejects_dom(t, "NetworkError", navigator.openTCPSocket(options)); // The activation has been consumed, so calling openTCPSocket() again @@ -31,7 +32,7 @@ navigator.openTCPSocket(options)); }, "Calling openTCPSocket consumes user activation"); - promise_test(async t => { + direct_sockets_test(async (t, mockDirectSocketsService) => { // Not activated by user gesture, so not allowed! await promise_rejects_dom(t, "NotAllowedError", navigator.openUDPSocket(options)); @@ -39,7 +40,7 @@ await test_driver.bless("open socket"); // We have a gesture, but remoteAddress is omitted - so not allowed! - await promise_rejects_dom(t, "NotAllowedError", + await promise_rejects_dom(t, "NetworkError", navigator.openTCPSocket(options)); // The activation has been consumed, so calling openUDPSocket() again
diff --git a/third_party/blink/web_tests/external/wpt/direct-sockets/open-consume-activation.https.html.headers b/third_party/blink/web_tests/wpt_internal/direct-sockets/open-consume-activation.https.html.headers similarity index 100% rename from third_party/blink/web_tests/external/wpt/direct-sockets/open-consume-activation.https.html.headers rename to third_party/blink/web_tests/wpt_internal/direct-sockets/open-consume-activation.https.html.headers
diff --git a/third_party/blink/web_tests/wpt_internal/direct-sockets/resources/direct-sockets-helpers.js b/third_party/blink/web_tests/wpt_internal/direct-sockets/resources/direct-sockets-helpers.js new file mode 100644 index 0000000..cd163c79 --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/direct-sockets/resources/direct-sockets-helpers.js
@@ -0,0 +1,35 @@ +'use strict'; + +// This mock provides a way to intercept renderer <> browser mojo messages for +// openTCPSocket(...) and openUDPSocket(...) eliminating the need for an actual +// browser. +// See https://wicg.github.io/direct-sockets/ + +async function loadChromiumResources() { + await import ('/resources/chromium/mock-direct-sockets.js'); +} + +let mockDirectSocketsService = null; + +async function createMockDirectSocketsService() { + if (typeof DirectSocketsServiceTest === 'undefined') { + await loadChromiumResources(); + } + assert_implements(DirectSocketsServiceTest, 'DirectSocketsServiceTest is not loaded properly.'); + + if (mockDirectSocketsService === null) { + mockDirectSocketsService = new DirectSocketsServiceTest(); + } else { + mockDirectSocketsService.reset(); + } + mockDirectSocketsService.initialize(); + + return mockDirectSocketsService; +} + +function direct_sockets_test(func, description) { + promise_test(async test => { + const directSocketsServiceTest = await createMockDirectSocketsService(); + await func(test, mockDirectSocketsService); + }, description); +}
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/README.md b/third_party/blink/web_tests/wpt_internal/fenced_frame/README.md index 4af92f93..f11283d7 100644 --- a/third_party/blink/web_tests/wpt_internal/fenced_frame/README.md +++ b/third_party/blink/web_tests/wpt_internal/fenced_frame/README.md
@@ -27,20 +27,22 @@ receive messages can poll the server for a given message that can be identified by a unique key. +**NB: any file that passes messages must run in a secure context (HTTPS).** + Let's see an example of sending a message to the server that a fenced frame will receive and respond to. **outer-page.js:** ```js promise_test(async () => { - const important_message_key = KEYS["important_message"]; + const important_message_key = stringToStashKey("important_message"); const important_value = "Hello"; writeValueToServer(important_message_key, important_value); // Now that the message has been sent to the fenced frame, let's wait for its // ACK, so that we don't exit the test before the fenced frame gets the // message. - const fenced_frame_ack_key = KEYS["fenced_frame_ack"]; + const fenced_frame_ack_key = stringToStashKey("fenced_frame_ack"); const response_from_fenced_frame = await nextValueFromServer(fenced_frame_ack_key); assert_equals(response_from_fenced_frame, "Hello to you too", @@ -52,10 +54,10 @@ ```js async function init() { // Needed in order to use top-level await. - const important_message_key = KEYS["important_message"]; + const important_message_key = stringToStashKey("important_message"); const greeting_from_embedder = await nextValueFromServer(important_message_key); - const fenced_frame_ack_key = KEYS["fenced_frame_ack"]; + const fenced_frame_ack_key = stringToStashKey("fenced_frame_ack"); if (greeting_from_embedder == "Hello") { // Message that we received was expected. writeValueToServer(fenced_frame_ack_key, "Hello to you too"); @@ -70,15 +72,13 @@ ``` When you write a new web platform test, it will likely involve passing a _new_ -message like the messages above, to and from the fenced frame. In that case, -please add a new key to the `KEYS` object in -[resources/utils.js](third_party/blink/web_tests/wpt_internal/fenced_frame/resources/utils.js) -and see the documentation there for why. You may have to add a new _pair_ of -keys as well, so that when one document writes a message associated with one -unique key, it can listen for an ACK from the receiving document, so that it -doesn't write over the message again before the receiving document actually -reads it. **No two tests should ever use the same key to communicate information -to and from a fenced frame**, as this will cause server-side race conditions. +message like the messages above, to and from the fenced frame. Keep in mind +that you may have to use a _pair_ of keys, so that when one document writes a +message associated with one unique key, it can listen for an ACK from the +receiving document, so that it doesn't write over the message again before the +receiving document actually reads it. **No two tests should ever use the same +key to communicate information to and from a fenced frame**, as this will cause +server-side race conditions. For a good test example, see [window-parent.html](window-parent.html).
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/utils.js b/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/utils.js index b0bafac..04f0f46 100644 --- a/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/utils.js +++ b/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/utils.js
@@ -41,8 +41,6 @@ "secFetchDest.value" : "00000000-0000-0000-0000-000000000011", - "window.prompt" : "00000000-0000-0000-0000-000000000012", - "fenced_navigation_complete" : "00000000-0000-0000-0000-000000000013", "outer_page_ready_for_next_fenced_navigation" : "00000000-0000-0000-0000-000000000014", @@ -123,6 +121,25 @@ // Add keys above this list, incrementing the key UUID in hexadecimal } +// Converts a key string into a key uuid using a cryptographic hash function. +// This function only works in secure contexts (HTTPS). +async function stringToStashKey(string) { + // Compute a SHA-256 hash of the input string, and convert it to hex. + const data = new TextEncoder().encode(string); + const digest = await crypto.subtle.digest('SHA-256', data); + const digest_array = Array.from(new Uint8Array(digest)); + const digest_as_hex = digest_array.map(b => b.toString(16).padStart(2, '0')).join(''); + + // UUIDs are structured as 8X-4X-4X-4X-12X. + // Use the first 32 hex digits and ignore the rest. + const digest_slices = [digest_as_hex.slice(0,8), + digest_as_hex.slice(8,12), + digest_as_hex.slice(12,16), + digest_as_hex.slice(16,20), + digest_as_hex.slice(20,32)]; + return digest_slices.join('-'); +} + function attachFencedFrame(url) { assert_implements( window.HTMLFencedFrameElement, @@ -136,6 +153,9 @@ // Reads the value specified by `key` from the key-value store on the server. async function readValueFromServer(key) { + // Resolve the key if it is a Promise. + key = await key; + const serverUrl = `${STORE_URL}?key=${key}`; const response = await fetch(serverUrl); if (!response.ok) @@ -152,6 +172,9 @@ // Convenience wrapper around the above getter that will wait until a value is // available on the server. async function nextValueFromServer(key) { + // Resolve the key if it is a Promise. + key = await key; + while (true) { // Fetches the test result from the server. const { status, value } = await readValueFromServer(key); @@ -167,6 +190,9 @@ // Writes `value` for `key` in the key-value store on the server. async function writeValueToServer(key, value, origin = '') { + // Resolve the key if it is a Promise. + key = await key; + const serverUrl = `${origin}${STORE_URL}?key=${key}&value=${value}`; await fetch(serverUrl, {"mode": "no-cors"}); }
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.html b/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.https.html similarity index 89% rename from third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.html rename to third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.https.html index ddb3fbc..b1d7edf 100644 --- a/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.html +++ b/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.https.html
@@ -8,7 +8,7 @@ async function init() { // Needed in order to use top-level await. // This file is meant to run in a <fencedframe>. It reports back to the // outermost page whether or not it succeeded in showing a `window.prompt`. - const window_prompt_key = KEYS["window.prompt"]; + const window_prompt_key = stringToStashKey("window.prompt"); let result = (window.prompt("Test prompt") == null) ? "pass" : "fail";
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.html.headers b/third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.https.html.headers similarity index 100% rename from third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.html.headers rename to third_party/blink/web_tests/wpt_internal/fenced_frame/resources/window-prompt-inner.https.html.headers
diff --git a/third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.html b/third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.https.html similarity index 80% rename from third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.html rename to third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.https.html index f25709b6..9dcfbda 100644 --- a/third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.html +++ b/third_party/blink/web_tests/wpt_internal/fenced_frame/window-prompt.https.html
@@ -8,9 +8,9 @@ <body> <script> promise_test(async () => { - const window_prompt_key = KEYS["window.prompt"]; + const window_prompt_key = stringToStashKey("window.prompt"); - attachFencedFrame("resources/window-prompt-inner.html"); + attachFencedFrame("resources/window-prompt-inner.https.html"); // Get the result for the top-level fenced frame. const fenced_frame_result = await nextValueFromServer(window_prompt_key);
diff --git a/third_party/blink/web_tests/wpt_internal/origin_trials/coep_credentialless/driver-without-coep.https-expected.txt b/third_party/blink/web_tests/wpt_internal/origin_trials/coep_credentialless/driver-without-coep.https-expected.txt new file mode 100644 index 0000000..d09753c --- /dev/null +++ b/third_party/blink/web_tests/wpt_internal/origin_trials/coep_credentialless/driver-without-coep.https-expected.txt
@@ -0,0 +1,11 @@ +This is a testharness.js-based test. +PASS Install the third party cookies. +PASS environment="document" origin_trial="enabled" +FAIL environment="document" origin_trial="disabled" assert_equals: expected (string) "cookie" but got (undefined) undefined +PASS environment="service_worker" origin_trial="enabled" +FAIL environment="service_worker" origin_trial="disabled" assert_equals: expected (string) "cookie" but got (undefined) undefined +PASS environment="dedicated_worker" origin_trial="enabled" +FAIL environment="dedicated_worker" origin_trial="disabled" assert_equals: expected (string) "cookie" but got (undefined) undefined +PASS environment="shared_worker" origin_trial="enabled" +FAIL environment="shared_worker" origin_trial="disabled" assert_equals: expected (string) "cookie" but got (undefined) undefined +Harness: the test ran to completion.
diff --git a/third_party/harfbuzz-ng/roll-harfbuzz.sh b/third_party/harfbuzz-ng/roll-harfbuzz.sh index 441950e..cda94bf1 100755 --- a/third_party/harfbuzz-ng/roll-harfbuzz.sh +++ b/third_party/harfbuzz-ng/roll-harfbuzz.sh
@@ -53,7 +53,7 @@ CDPATH= && cd -- "$(dirname -- "$0")" && HB_SOURCE_MISSING=false && - find src/src/ -type f \( -name "hb-*.cc" -o -name "hb-*.h" -o -name "hb-*.hh" \) | while read HB_SOURCE + find src/src -type f \( -name "hb-*.cc" -o -name "hb-*.h" -o -name "hb-*.hh" \) | while read HB_SOURCE do if ! grep -qF "$HB_SOURCE" BUILD.gn; then if ! ${HB_SOURCE_MISSING}; then
diff --git a/tools/memory/partition_allocator/palloc_viewer/palloc-viewer-gui.cc b/tools/memory/partition_allocator/palloc_viewer/palloc-viewer-gui.cc index 8fbea4c..daac0ebd 100644 --- a/tools/memory/partition_allocator/palloc_viewer/palloc-viewer-gui.cc +++ b/tools/memory/partition_allocator/palloc_viewer/palloc-viewer-gui.cc
@@ -59,12 +59,15 @@ unsigned long freelist_head; unsigned long next_slot_span; unsigned long bucket; - int16_t num_allocated_slots; - uint16_t num_unprovisioned_slots; - int8_t empty_cache_index; - // new Chrome: bool can_store_raw_size; - // old Chrome (M89): MSB of empty_cache_index (actually int16) - char dummy0; + uint32_t marked_full : 1; + uint32_t num_allocated_slots : 13; + uint32_t num_unprovisioned_slots : 13; + uint32_t can_store_raw_size : 1; + uint32_t freelist_is_sorted : 1; + uint32_t unused1 : (32 - 1 - 2 * 13 - 1 - 1); + uint16_t in_empty_cache : 1; + uint16_t empty_cache_index : 7; + uint16_t unused2 : (16 - 1 - 7); }; struct PartitionPage { union { @@ -1572,11 +1575,9 @@ bucket_labels.push_back(bucket->size_str); unsigned int bucket_allocated = 0; for (struct SlotSpanMetadata* span : bucket->bucket_spans) { - unsigned long allocated_slots = (span->num_allocated_slots < 0) - ? -span->num_allocated_slots - : span->num_allocated_slots; - if (allocated_slots <= bucket->objects_per_span) // sanity check - bucket_allocated += allocated_slots; + if (span->num_allocated_slots <= + bucket->objects_per_span) // sanity check + bucket_allocated += span->num_allocated_slots; } bucket_vmem_allocated.push_back(bucket_allocated * bucket->data.slot_size / 1024.0); @@ -1637,12 +1638,9 @@ // sizeof(allocated_histogram_values)); std::vector<ImU32> allocated_slots_by_bucket; for (struct SlotSpanMetadata* span : bucket->bucket_spans) { - unsigned long allocated_slots = (span->num_allocated_slots < 0) - ? -span->num_allocated_slots - : span->num_allocated_slots; - if (allocated_slots <= bucket->objects_per_span) + if (span->num_allocated_slots <= bucket->objects_per_span) // allocated_histogram_values[allocated_slots]++; - allocated_slots_by_bucket.push_back(allocated_slots); + allocated_slots_by_bucket.push_back(span->num_allocated_slots); } // ImGui::PlotHistogram("##allocated", allocated_histogram_values, // IM_ARRAYSIZE(allocated_histogram_values),
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 7c325ccc..261cbf5a 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -28224,7 +28224,7 @@ <int value="917" label="QuickAnswersEnabled"/> <int value="918" label="QuickAnswersDefinitionEnabled"/> <int value="919" label="QuickAnswersTranslationEnabled"/> - <int value="920" label="QuickAnswersUnitConverstionEnabled"/> + <int value="920" label="QuickAnswersUnitConversionEnabled"/> <int value="921" label="CORSNonWildcardRequestHeadersSupport"/> <int value="922" label="RemoteAccessHostClipboardSizeBytes"/> <int value="923" label="RemoteAccessHostAllowRemoteSupportConnections"/> @@ -28244,6 +28244,7 @@ <int value="937" label="EcheAllowed"/> <int value="938" label="DeviceKeylockerForStorageEncryptEnabled"/> <int value="939" label="ReportCRDSessions"/> + <int value="940" label="DeviceRunAutomaticCleanupOnLogin"/> </enum> <enum name="EnterprisePolicyDeviceIdValidity"> @@ -36707,6 +36708,7 @@ <int value="4105" label="HTMLInputElementSimulatedClick"/> <int value="4106" label="RTCLocalSdpModificationIceUfragPwd"/> <int value="4107" label="WebNfcNdefMakeReadOnly"/> + <int value="4108" label="V8Navigator_DeprecatedURNToURL_Method"/> </enum> <enum name="FeaturePolicyAllowlistType"> @@ -86442,6 +86444,23 @@ <int value="5" label="Promoted temp thumbnail to regular"/> </enum> +<enum name="ThumbstripCloseByIOS"> + <int value="0" label="Closed by dragging the primary toolbar up"/> + <int value="1" label="Closed by tapping the fake tab at bottom"/> + <int value="2" label="Closed by user navigating in web page"/> + <int value="3" label="Closed by scrolling web page / ntp up"/> + <int value="4" label="Closed by tapping new tab button"/> + <int value="5" label="Closed by focusing the omnibox"/> + <int value="6" label="Closed by user tapping thumbstrip background"/> + <int value="7" label="Closed by user swiping thumbstrip background up"/> +</enum> + +<enum name="ThumbstripOpenByIOS"> + <int value="0" label="Opened by dragging tab strip down"/> + <int value="1" label="Opened by dragging primary toolbar down"/> + <int value="2" label="Opened by scrolling web page / ntp down from top"/> +</enum> + <enum name="TileMemoryBudget"> <int value="0" label="Within memory budget"/> <int value="1" label="Exceeded memory budget"/>
diff --git a/tools/metrics/histograms/metadata/ios/histograms.xml b/tools/metrics/histograms/metadata/ios/histograms.xml index c2eb330f..d51d2448 100644 --- a/tools/metrics/histograms/metadata/ios/histograms.xml +++ b/tools/metrics/histograms/metadata/ios/histograms.xml
@@ -1478,6 +1478,30 @@ </summary> </histogram> +<histogram name="IOS.Thumbstrip.CancelBy" enum="ThumbstripOpenByIOS" + expires_after="2022-12-01"> + <owner>djean@chromium.org</owner> + <owner>rkgibson@chromium.org</owner> + <summary> + [iOS] Reports how a thumbstrip opening was cancelled. It uses the same enum + as IOS.Thumbstrip.OpenBy. + </summary> +</histogram> + +<histogram name="IOS.Thumbstrip.CloseBy" enum="ThumbstripCloseByIOS" + expires_after="2022-12-01"> + <owner>djean@chromium.org</owner> + <owner>rkgibson@chromium.org</owner> + <summary>[iOS] Reports how the thumbstrip was closed.</summary> +</histogram> + +<histogram name="IOS.Thumbstrip.OpenBy" enum="ThumbstripOpenByIOS" + expires_after="2022-12-01"> + <owner>djean@chromium.org</owner> + <owner>rkgibson@chromium.org</owner> + <summary>[iOS] Reports how the thumbstrip was opened.</summary> +</histogram> + <histogram name="IOS.Web.URLDidChangeToEmptyURL" enum="BooleanHit" expires_after="2022-07-03"> <owner>gambard@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/password/histograms.xml b/tools/metrics/histograms/metadata/password/histograms.xml index 7c25a56a..c07b0dd 100644 --- a/tools/metrics/histograms/metadata/password/histograms.xml +++ b/tools/metrics/histograms/metadata/password/histograms.xml
@@ -2399,6 +2399,8 @@ </summary> <token key="Function"> <variant name="GetAllLoginsAsync" summary="GetAllLoginsAsync()"/> + <variant name="GetAutofillableLoginsAsync" + summary="GetAutofillableLoginsAsync()"/> </token> <token key="Metric"> <variant name="Diff" @@ -2433,6 +2435,12 @@ </summary> <token key="ModifyingFunction"> <variant name="AddLoginAsync" summary="AddLoginAsync()"/> + <variant name="RemoveLoginAsync" summary="RemoveLoginAsync()"/> + <variant name="RemoveLoginsByURLAndTimeAsync" + summary="RemoveLoginsByURLAndTimeAsync()"/> + <variant name="RemoveLoginsCreatedBetweenAsync" + summary="RemoveLoginsCreatedBetweenAsync()"/> + <variant name="UpdateLoginAsync" summary="UpdateLoginAsync()"/> </token> <token key="Metric"> <variant name="Diff"
diff --git a/tools/typescript/definitions/chrome_timeticks.d.ts b/tools/typescript/definitions/chrome_timeticks.d.ts deleted file mode 100644 index 1f4f765..0000000 --- a/tools/typescript/definitions/chrome_timeticks.d.ts +++ /dev/null
@@ -1,11 +0,0 @@ -// Copyright 2022 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/** @fileoverview Definitions for chrome.timeticks API */ - -declare namespace chrome { - export namespace timeTicks { - function nowInMicroseconds(): BigInt; - } -} \ No newline at end of file
diff --git a/ui/ozone/BUILD.gn b/ui/ozone/BUILD.gn index 94ffe37e..1a8ac4ad 100644 --- a/ui/ozone/BUILD.gn +++ b/ui/ozone/BUILD.gn
@@ -26,6 +26,10 @@ ozone_platform_ui_test_support_deps = ozone_external_platform_ui_test_support_deps +# Extra dependencies to pull into interactive_ui_tests for built platforms. +ozone_platform_interactive_ui_tests_sources = + ozone_external_interactive_ui_tests_deps + if (ozone_platform_windows) { ozone_platforms += [ "windows" ] ozone_platform_deps += [ "platform/windows" ] @@ -58,6 +62,8 @@ ozone_platforms += [ "x11" ] ozone_platform_deps += [ "platform/x11" ] ozone_platform_ui_test_support_deps += [ "platform/x11:test_support" ] + ozone_platform_interactive_ui_tests_sources += + [ "platform/x11:interactive_uitests" ] } if (ozone_platform_scenic) { @@ -286,6 +292,15 @@ allow_circular_includes_from = ozone_platform_ui_test_support_deps } +source_set("ozone_interactive_ui_tests") { + visibility = [] + visibility = [ "//chrome/test:interactive_ui_tests" ] + + testonly = true + + deps = ozone_platform_interactive_ui_tests_sources +} + static_library("test_support") { visibility = [] visibility = [
diff --git a/ui/ozone/platform/x11/BUILD.gn b/ui/ozone/platform/x11/BUILD.gn index 8028b74..068d4906 100644 --- a/ui/ozone/platform/x11/BUILD.gn +++ b/ui/ozone/platform/x11/BUILD.gn
@@ -131,3 +131,37 @@ "//ui/base/x:test_support", ] } + +source_set("interactive_uitests") { + testonly = true + sources = [ "x11_topmost_window_finder_interactive_uitest.cc" ] + + deps = [ + ":x11", + "//base", + "//base/test:test_support", + "//testing/gmock", + "//testing/gtest", + "//ui/base/x", + "//ui/base/x:test_support", + "//ui/events/platform/x11", + "//ui/gfx", + "//ui/gfx/x", + "//ui/ozone", + "//ui/ozone:platform", + "//ui/platform_window", + "//ui/platform_window/x11", + ] + + # Needed for tests. Please note that if you want to run tests locally, + # ensure that you start them from your out directory with the xvfb + # script so that openbox has time to start. Otherwise, the interactive_ui_tests + # will time out. e.g. - + # + # 1) cd out/Debug. + # 2) ../../testing/xvfb.py ./interactive_ui_tests. + # + #TODO(dpranke): move that to appropriate place after test() template is + # reworked. + data_deps = [ "//ui/base/x/xwmstartupcheck" ] +}
diff --git a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc b/ui/ozone/platform/x11/x11_topmost_window_finder_interactive_uitest.cc similarity index 87% rename from ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc rename to ui/ozone/platform/x11/x11_topmost_window_finder_interactive_uitest.cc index 34fd28d..7a0b064 100644 --- a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc +++ b/ui/ozone/platform/x11/x11_topmost_window_finder_interactive_uitest.cc
@@ -18,6 +18,7 @@ #include "third_party/skia/include/core/SkRegion.h" #include "ui/base/x/test/x11_property_change_waiter.h" #include "ui/base/x/x11_util.h" +#include "ui/events/platform/x11/x11_event_source.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/x/connection.h" #include "ui/gfx/x/event.h" @@ -31,7 +32,7 @@ #include "ui/platform_window/x11/x11_window.h" #include "ui/platform_window/x11/x11_window_manager.h" -namespace views { +namespace ui { namespace { @@ -44,7 +45,7 @@ ~X11VisibilityWaiter() override = default; void WaitUntilWindowIsVisible(x11::Window x11_window) { - if (ui::IsWindowVisible(x11_window)) + if (IsWindowVisible(x11_window)) return; event_selector_ = std::make_unique<x11::XScopedEventSelector>( @@ -57,7 +58,7 @@ base::RunLoop run_loop; quit_closure_ = run_loop.QuitClosure(); run_loop.Run(); - DCHECK(ui::IsWindowVisible(x11_window)); + DCHECK(IsWindowVisible(x11_window)); } private: @@ -77,7 +78,7 @@ base::OnceClosure quit_closure_; }; -class TestPlatformWindowDelegate : public ui::PlatformWindowDelegate { +class TestPlatformWindowDelegate : public PlatformWindowDelegate { public: TestPlatformWindowDelegate() = default; TestPlatformWindowDelegate(const TestPlatformWindowDelegate&) = delete; @@ -85,16 +86,16 @@ delete; ~TestPlatformWindowDelegate() override = default; - ui::PlatformWindowState state() { return state_; } + PlatformWindowState state() { return state_; } // PlatformWindowDelegate: void OnBoundsChanged(const BoundsChange& change) override {} void OnDamageRect(const gfx::Rect& damaged_region) override {} - void DispatchEvent(ui::Event* event) override {} + void DispatchEvent(Event* event) override {} void OnCloseRequest() override {} void OnClosed() override {} - void OnWindowStateChanged(ui::PlatformWindowState old_state, - ui::PlatformWindowState new_state) override { + void OnWindowStateChanged(PlatformWindowState old_state, + PlatformWindowState new_state) override { state_ = new_state; } void OnLostCapture() override {} @@ -110,14 +111,14 @@ private: gfx::AcceleratedWidget widget_ = gfx::kNullAcceleratedWidget; - ui::PlatformWindowState state_ = ui::PlatformWindowState::kUnknown; + PlatformWindowState state_ = PlatformWindowState::kUnknown; }; // Waits till |window| is minimized. -class MinimizeWaiter : public ui::X11PropertyChangeWaiter { +class MinimizeWaiter : public X11PropertyChangeWaiter { public: explicit MinimizeWaiter(x11::Window window) - : ui::X11PropertyChangeWaiter(window, "_NET_WM_STATE") {} + : X11PropertyChangeWaiter(window, "_NET_WM_STATE") {} MinimizeWaiter(const MinimizeWaiter&) = delete; MinimizeWaiter& operator=(const MinimizeWaiter&) = delete; @@ -125,7 +126,7 @@ ~MinimizeWaiter() override = default; private: - // ui::X11PropertyChangeWaiter: + // X11PropertyChangeWaiter: bool ShouldKeepOnWaiting() override { std::vector<x11::Atom> wm_states; if (GetArrayProperty(xwindow(), x11::GetAtom("_NET_WM_STATE"), @@ -137,9 +138,8 @@ }; void IconifyWindow(x11::Connection* connection, x11::Window window) { - ui::SendClientMessage(window, ui::GetX11RootWindow(), - x11::GetAtom("WM_CHANGE_STATE"), - {ui::WM_STATE_ICONIC, 0, 0, 0, 0}); + SendClientMessage(window, GetX11RootWindow(), x11::GetAtom("WM_CHANGE_STATE"), + {WM_STATE_ICONIC, 0, 0, 0, 0}); } } // namespace @@ -158,10 +158,13 @@ // testing::Test: void SetUp() override { // Run tests only for X11. - if (ui::OzonePlatform::GetPlatformNameForTest() != "x11") + if (OzonePlatform::GetPlatformNameForTest() != "x11") GTEST_SKIP(); auto* connection = x11::Connection::Get(); + // Not initialized when runs on CrOS builds. + if (!X11EventSource::GetInstance()) + event_source_ = std::make_unique<X11EventSource>(connection); // Make X11 synchronous for our display connection. This does not force the // window manager to behave synchronously. connection->SynchronizeForTest(true); @@ -175,13 +178,13 @@ // Creates and shows an X11Window with |bounds|. The caller takes ownership of // the returned window. - std::unique_ptr<ui::X11Window> CreateAndShowX11Window( - ui::PlatformWindowDelegate* delegate, + std::unique_ptr<X11Window> CreateAndShowX11Window( + PlatformWindowDelegate* delegate, const gfx::Rect& bounds) { - ui::PlatformWindowInitProperties init_params(bounds); - init_params.type = ui::PlatformWindowType::kWindow; + PlatformWindowInitProperties init_params(bounds); + init_params.type = PlatformWindowType::kWindow; init_params.remove_standard_frame = true; - auto window = std::make_unique<ui::X11Window>(delegate); + auto window = std::make_unique<X11Window>(delegate); window->Initialize(std::move(init_params)); window->Show(true); // The window must have a title. Otherwise, the X11TopmostWindowFinder @@ -199,7 +202,7 @@ // Creates and shows an X window with |bounds|. x11::Window CreateAndShowXWindow(const gfx::Rect& bounds) { - x11::Window root = ui::GetX11RootWindow(); + x11::Window root = GetX11RootWindow(); auto window = connection()->GenerateId<x11::Window>(); connection()->CreateWindow({ .wid = window, @@ -212,7 +215,7 @@ // windows. SetStringProperty(window, x11::Atom::WM_NAME, x11::Atom::STRING, ""); - ui::SetUseOSWindowFrame(window, false); + SetUseOSWindowFrame(window, false); ShowAndSetXWindowBounds(window, bounds); // Wait until the window becomes visible so that window finder doesn't skip @@ -240,7 +243,7 @@ // Returns the topmost X window at the passed in screen position. x11::Window FindTopmostXWindowAt(int screen_x, int screen_y) { - ui::X11TopmostWindowFinder finder({}); + X11TopmostWindowFinder finder({}); return finder.FindWindowAt(gfx::Point(screen_x, screen_y)); } @@ -251,42 +254,43 @@ x11::Window ignore_window) { std::set<gfx::AcceleratedWidget> ignore; ignore.insert(static_cast<gfx::AcceleratedWidget>(ignore_window)); - ui::X11TopmostWindowFinder finder(ignore); + X11TopmostWindowFinder finder(ignore); return finder.FindWindowAt(gfx::Point(screen_x, screen_y)); } - // Returns the topmost ui::X11Window at the passed in screen position. Returns - // nullptr if the topmost window does not have an associated ui::X11Window. - ui::X11Window* FindTopmostLocalProcessWindowAt(int screen_x, int screen_y) { - ui::X11TopmostWindowFinder finder({}); + // Returns the topmost X11Window at the passed in screen position. Returns + // nullptr if the topmost window does not have an associated X11Window. + X11Window* FindTopmostLocalProcessWindowAt(int screen_x, int screen_y) { + X11TopmostWindowFinder finder({}); auto x11_window = finder.FindLocalProcessWindowAt(gfx::Point(screen_x, screen_y)); return x11_window == x11::Window::None ? nullptr - : ui::X11WindowManager::GetInstance()->GetWindow( + : X11WindowManager::GetInstance()->GetWindow( static_cast<gfx::AcceleratedWidget>(x11_window)); } - // Returns the topmost ui::X11Window at the passed in screen position ignoring + // Returns the topmost X11Window at the passed in screen position ignoring // |ignore_window|. Returns nullptr if the topmost window does not have an - // associated ui::X11Window. - ui::X11Window* FindTopmostLocalProcessWindowWithIgnore( + // associated X11Window. + X11Window* FindTopmostLocalProcessWindowWithIgnore( int screen_x, int screen_y, x11::Window ignore_window) { std::set<gfx::AcceleratedWidget> ignore; ignore.insert(static_cast<gfx::AcceleratedWidget>(ignore_window)); - ui::X11TopmostWindowFinder finder(ignore); + X11TopmostWindowFinder finder(ignore); auto x11_window = finder.FindLocalProcessWindowAt(gfx::Point(screen_x, screen_y)); return x11_window == x11::Window::None ? nullptr - : ui::X11WindowManager::GetInstance()->GetWindow( + : X11WindowManager::GetInstance()->GetWindow( static_cast<gfx::AcceleratedWidget>(x11_window)); } private: base::test::TaskEnvironment task_env_; + std::unique_ptr<X11EventSource> event_source_; }; TEST_F(X11TopmostWindowFinderTest, Basic) { @@ -374,7 +378,7 @@ // Test that non-rectangular windows are properly handled. TEST_F(X11TopmostWindowFinderTest, NonRectangular) { - if (!ui::IsShapeExtensionAvailable()) + if (!IsShapeExtensionAvailable()) return; TestPlatformWindowDelegate delegate; @@ -416,7 +420,7 @@ // Test that a window with an empty shape are properly handled. TEST_F(X11TopmostWindowFinderTest, NonRectangularEmptyShape) { - if (!ui::IsShapeExtensionAvailable()) + if (!IsShapeExtensionAvailable()) return; TestPlatformWindowDelegate delegate; @@ -442,7 +446,7 @@ #define MAYBE_NonRectangularNullShape NonRectangularNullShape #endif TEST_F(X11TopmostWindowFinderTest, MAYBE_NonRectangularNullShape) { - if (!ui::IsShapeExtensionAvailable()) + if (!IsShapeExtensionAvailable()) return; TestPlatformWindowDelegate delegate; @@ -470,7 +474,7 @@ TEST_F(X11TopmostWindowFinderTest, DISABLED_Menu) { x11::Window window = CreateAndShowXWindow(gfx::Rect(100, 100, 100, 100)); - x11::Window root = ui::GetX11RootWindow(); + x11::Window root = GetX11RootWindow(); auto menu_window = connection()->GenerateId<x11::Window>(); connection()->CreateWindow({ .wid = menu_window, @@ -484,7 +488,7 @@ SetProperty(menu_window, x11::GetAtom("_NET_WM_WINDOW_TYPE"), x11::Atom::ATOM, x11::GetAtom("_NET_WM_WINDOW_TYPE_MENU")); - ui::SetUseOSWindowFrame(menu_window, false); + SetUseOSWindowFrame(menu_window, false); ShowAndSetXWindowBounds(menu_window, gfx::Rect(140, 110, 100, 100)); connection()->DispatchAll(); @@ -496,4 +500,4 @@ connection()->DestroyWindow({menu_window}); } -} // namespace views +} // namespace ui
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn index 897e441..b281907 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn
@@ -1438,22 +1438,6 @@ ] } - # TODO(1239521): x11 interactive ui tests should probably have own target. - # At the moment, it's impossible to move this test file under X11 directory - # as it will result in a gn dependency problem. - if (ozone_platform_x11 && !is_chromeos_ash && !is_chromecast) { - sources += [ - "widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc", - ] - deps += [ - "//ui/base/x", - "//ui/base/x:test_support", - "//ui/gfx/x", - "//ui/ozone", - "//ui/platform_window/x11", - ] - } - if (is_chromeos_ash) { sources -= [ "corewm/desktop_capture_controller_unittest.cc" ] }