⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 10, 2021:

9:16 PM Changeset in webkit [279814] by Chris Dumez
  • 5 edits
    2 adds in trunk

document.readyState should be "complete" after calling DOMParser.parseFromString()
https://bugs.webkit.org/show_bug.cgi?id=227846

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/domparsing/xmldomparser-expected.txt:

Source/WebCore:

document.readyState should be "complete" after calling DOMParser.parseFromString().

This is causing the following WPT test to fail in WebKit:
http://wpt.live/domparsing/xmldomparser.html

Both Gecko and Blink report the correct readyState here.

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::explicitClose):
explicitClose() normally calls checkCompleted() which calls FrameLoader::checkCompleted(),
which ends up setting the document's ready state to "complete" and then calling
Document::implicitClose(). However, when the document has no frame (which is the case
for a document just created via DOMParser.parseFromString()), we would call
Document::implicitClose() directly, since we don't have a FrameLoader. As a result,
the document's ready state would stay "interactive". To address the issue, we now set
the document's ready state to "complete" before calling implicitClose(), similarly to
what FrameLoader::checkCompleted() would have done.

6:27 PM Changeset in webkit [279813] by sbarati@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Continue to consult InlineAccess's Structure even after switching to a stub IC
https://bugs.webkit.org/show_bug.cgi?id=227785

Reviewed by Yusuke Suzuki.

This patch fixes a crash in: stress/class-subclassing-function.js

The bug is this:

  1. We initialize a StructureStubInfo to be an inline self access doing a load based on structure S.
  2. We transition to being a PolymorphicAccess based StructureStubInfo. But, we haven't

generated code yet. We're in the buffered state. So we are still running the inline access
from (1). But the StructureStubInfo thinks it's a "Stub".

  1. S is collected
  2. We continue to run code from (1), because when we finalize the IC during GC, it

doesn't think it's an inline access.

The fix is to always track the structure S that we used when generating the inline
access, and to only stop tracking it once we've generated code for the Stub.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::propagateTransitions const):

  • bytecode/AccessCase.h:
  • bytecode/GetByStatus.cpp:

(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/InByStatus.cpp:

(JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::propagateTransitions const):

  • bytecode/PolymorphicAccess.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initPutByIdReplace):
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):

  • bytecode/StructureStubInfo.h:
6:27 PM Changeset in webkit [279812] by Russell Epstein
  • 1 copy in tags/Safari-612.1.22.11.2

Tag Safari-612.1.22.11.2.

6:21 PM Changeset in webkit [279811] by Russell Epstein
  • 8 edits in branches/safari-612.1.22.11-branch/Source

Versioning.

WebKit-7612.1.22.11.2

5:05 PM Changeset in webkit [279810] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Workaround test262.report bug by making $ properties enumerable
https://bugs.webkit.org/show_bug.cgi?id=227855

Reviewed by Alexey Shvayka.

test262.report's harness has a bug and it reports incorrect results for JSC on tests using $262 properties.
This patch introduces a workaround which makes properties of $ enumerable.

  • jsc.cpp:
2:00 PM Changeset in webkit [279809] by ysuzuki@apple.com
  • 70 edits
    26 copies
    17 moves
    390 adds
    14 deletes in trunk/JSTests

[JSC] Update test262
https://bugs.webkit.org/show_bug.cgi?id=227851

Reviewed by Mark Lam.

  • test262/config.yaml:
  • test262/expectations.yaml:
  • test262/harness/compareArray.js:

(assert.compareArray):

  • test262/harness/regExpUtils.js:

(buildString):
(): Deleted.

  • test262/harness/sta.js:

(Test262Error.thrower):

  • test262/harness/testIntl.js:

(getLocaleSupportInfo):

  • test262/latest-changes-summary.txt:
  • test262/test/annexB/language/literals/regexp/legacy-octal-escape.js:
  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-diminuitive.js: Added.
  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-excessive.js: Added.
  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-negative.js: Added.
  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-object.js: Added.

(options.maxByteLength.toString):
(options.maxByteLength.valueOf):

  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-poisoned.js: Added.

(options.get maxByteLength):

  • test262/test/built-ins/ArrayBuffer/options-maxbytelength-undefined.js: Added.
  • test262/test/built-ins/ArrayBuffer/options-non-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/detached-buffer.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/length.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/name.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/prop-desc.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-resizable.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-resizable.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-sharedarraybuffer.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/detached-buffer.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-accessor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-func.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/length.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/name.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/prop-desc.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/return-resizable.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/this-has-no-arraybufferdata-internal.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-not-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-sharedarraybuffer.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/descriptor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/extensible.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/length.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/name.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-excessive.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-negative.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-non-number.js: Added.

(newLength.toString):
(newLength.valueOf):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/nonconstructor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-grow.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-explicit.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-implicit.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-explicit.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-implicit.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink.js: Added.

(catch):

  • test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-detached.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-arraybuffer-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-resizable-arraybuffer-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-sharedarraybuffer.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/length.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/name.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js: Added.

(newLength.toString):
(newLength.valueOf):

  • test262/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-object.js: Added.
  • test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-sharedarraybuffer.js: Added.
  • test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-fixed.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-fixed.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getBigInt64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getBigUint64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getFloat32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getFloat64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getInt16/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getInt32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getInt8/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getUint16/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getUint32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/getUint8/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setBigInt64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setBigUint64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setFloat32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setFloat64/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setInt16/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setInt32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setInt8/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setUint16/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setUint32/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/DataView/prototype/setUint8/resizable-buffer.js: Added.

(catch):

  • test262/test/built-ins/Error/cause_abrupt.js:

(has):
(options.get cause):

  • test262/test/built-ins/Object/hasOwn/descriptor.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_exists.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter.js: Added.

(base.get foo):

  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter.js: Added.

(base.get foo):
(base.set foo):

  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_setter.js: Added.

(base.set foo):

  • test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_nonexistent.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter.js: Added.

(o.get foo):

  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter.js: Added.

(o.get foo):
(o.set foo):

  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_property_exists.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_setter.js: Added.

(o.set foo):

  • test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_enumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_nonenumerable.js: Added.
  • test262/test/built-ins/Object/hasOwn/length.js: Added.
  • test262/test/built-ins/Object/hasOwn/name.js: Added.
  • test262/test/built-ins/Object/hasOwn/not-a-constructor.js: Added.
  • test262/test/built-ins/Object/hasOwn/prototype.js: Added.
  • test262/test/built-ins/Object/hasOwn/symbol_own_property.js: Added.
  • test262/test/built-ins/Object/hasOwn/symbol_property_toPrimitive.js: Added.

(wrapper.Symbol.toPrimitive):

  • test262/test/built-ins/Object/hasOwn/symbol_property_toString.js: Added.

(wrapper.toString):
(wrapper.valueOf):

  • test262/test/built-ins/Object/hasOwn/symbol_property_valueOf.js: Added.

(wrapper.valueOf):

  • test262/test/built-ins/Object/hasOwn/toobject_before_topropertykey.js: Added.

(coercibleKey1.get toString):
(coercibleKey1.get valueOf):
(coercibleKey2.Symbol.toPrimitive):

  • test262/test/built-ins/Object/hasOwn/toobject_null.js: Added.
  • test262/test/built-ins/Object/hasOwn/toobject_undefined.js: Added.
  • test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Removed.
  • test262/test/built-ins/Promise/race/resolve-element-function-name.js: Removed.
  • test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Removed.
  • test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Removed.
  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-diminuitive.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-excessive.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-negative.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-object.js: Added.

(options.maxByteLength.toString):
(options.maxByteLength.valueOf):

  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-poisoned.js: Added.

(options.get maxByteLength):

  • test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-undefined.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/options-non-object.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/descriptor.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/extensible.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-larger-size.js: Added.

(catch):

  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-same-size.js: Added.

(catch):

  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-smaller-size.js: Added.

(catch):

  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/length.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/name.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-excessive.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-negative.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-non-number.js: Added.

(newLength.toString):
(newLength.valueOf):

  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/nonconstructor.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-arraybuffer-object.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-object.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-resizable-arraybuffer-object.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-sharedarraybuffer.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/length.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/name.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/length.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/name.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/prop-desc.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-growable.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-growable.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-arraybuffer.js: Added.
  • test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added.
  • test262/test/built-ins/Symbol/for/description.js: Added.

(symbol.Symbol.toString):

  • test262/test/built-ins/Temporal/now/instant/extensible.js: Added.
  • test262/test/built-ins/Temporal/now/instant/length.js: Added.
  • test262/test/built-ins/Temporal/now/instant/name.js: Added.
  • test262/test/built-ins/Temporal/now/instant/not-a-constructor.js: Added.
  • test262/test/built-ins/Temporal/now/instant/prop-desc.js: Added.
  • test262/test/built-ins/Temporal/now/instant/return-value-distinct.js: Added.
  • test262/test/built-ins/Temporal/now/instant/return-value-prototype.js: Added.
  • test262/test/built-ins/Temporal/now/instant/return-value-value.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/extensible.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/length.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/name.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/new-object.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/not-a-constructor.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/prop-desc.js: Added.
  • test262/test/built-ins/Temporal/now/timeZone/return-value.js: Added.
  • test262/test/built-ins/TypedArray/prototype/at/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-auto.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-fixed.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-auto.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-fixed.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/entries/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/every/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.every):

  • test262/test/built-ins/TypedArray/prototype/fill/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/filter/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.filter):

  • test262/test/built-ins/TypedArray/prototype/find/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.find):

  • test262/test/built-ins/TypedArray/prototype/findIndex/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.findIndex):

  • test262/test/built-ins/TypedArray/prototype/forEach/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.forEach):

  • test262/test/built-ins/TypedArray/prototype/includes/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/indexOf/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/join/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/keys/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/lastIndexOf/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-auto.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-fixed.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/map/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.map):

  • test262/test/built-ins/TypedArray/prototype/reduce/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.reduce):

  • test262/test/built-ins/TypedArray/prototype/reduceRight/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.reduceRight):

  • test262/test/built-ins/TypedArray/prototype/reverse/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-resized.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/slice/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/some/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):
(testWithTypedArrayConstructors.TA.array.some):

  • test262/test/built-ins/TypedArray/prototype/sort/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArray/prototype/values/return-abrupt-from-this-out-of-bounds.js: Added.

(testWithTypedArrayConstructors.TA.catch):

  • test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/excessive-offset-throws-resizable-ab.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-different-type.js: Added.

(testWithTypedArrayConstructors.):
(testWithTypedArrayConstructors.get var):
(testWithTypedArrayConstructors.onGetSpecies):
(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-same-type.js: Added.

(testWithTypedArrayConstructors.):
(testWithTypedArrayConstructors.get var):
(testWithTypedArrayConstructors.onGetSpecies):
(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws-realm.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-not-numeric-index-throws.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-accessor-desc-throws.js: Added.

(testWithBigIntTypedArrayConstructors.):
(testWithBigIntTypedArrayConstructors.get assert):
(testWithBigIntTypedArrayConstructors.set assert):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-configurable.js:
  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-configurable-throws.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-enumerable-throws.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-writable-throws.js: Added.

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/tonumber-value-detached-buffer.js:

(testWithBigIntTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-realm.js: Removed.
  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws-realm.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-not-numeric-index-throws.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-accessor-desc-throws.js: Added.

(testWithTypedArrayConstructors.):
(testWithTypedArrayConstructors.get assert):
(testWithTypedArrayConstructors.set assert):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js:
  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-configurable-throws.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-enumerable-throws.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-writable-throws.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/tonumber-value-detached-buffer.js:

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/Delete/key-is-symbol.js:
  • test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-auto.js: Added.

(inspect):
(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-fixed.js: Added.

(inspect):
(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-auto.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-fixed.js: Added.

(testWithTypedArrayConstructors):

  • test262/test/intl402/DateTimeFormat/constructor-options-style-conflict.js: Added.
  • test262/test/intl402/Locale/prototype/calendars/branding.js: Added.
  • test262/test/intl402/Locale/prototype/calendars/name.js: Added.
  • test262/test/intl402/Locale/prototype/calendars/output-array.js: Added.
  • test262/test/intl402/Locale/prototype/calendars/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/collations/branding.js: Added.
  • test262/test/intl402/Locale/prototype/collations/name.js: Added.
  • test262/test/intl402/Locale/prototype/collations/output-array-values.js: Added.
  • test262/test/intl402/Locale/prototype/collations/output-array.js: Added.
  • test262/test/intl402/Locale/prototype/collations/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/hourCycles/branding.js: Added.
  • test262/test/intl402/Locale/prototype/hourCycles/name.js: Added.
  • test262/test/intl402/Locale/prototype/hourCycles/output-array-values.js: Added.
  • test262/test/intl402/Locale/prototype/hourCycles/output-array.js: Added.
  • test262/test/intl402/Locale/prototype/hourCycles/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/numberingSystems/branding.js: Added.
  • test262/test/intl402/Locale/prototype/numberingSystems/name.js: Added.
  • test262/test/intl402/Locale/prototype/numberingSystems/output-array.js: Added.
  • test262/test/intl402/Locale/prototype/numberingSystems/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/textInfo/branding.js: Added.
  • test262/test/intl402/Locale/prototype/textInfo/name.js: Added.
  • test262/test/intl402/Locale/prototype/textInfo/output-object-keys.js: Added.
  • test262/test/intl402/Locale/prototype/textInfo/output-object.js: Added.
  • test262/test/intl402/Locale/prototype/textInfo/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/branding.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/name.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/output-array-sorted.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/output-array.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/output-undefined.js: Added.
  • test262/test/intl402/Locale/prototype/timeZones/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/weekInfo/branding.js: Added.
  • test262/test/intl402/Locale/prototype/weekInfo/name.js: Added.
  • test262/test/intl402/Locale/prototype/weekInfo/output-object-keys.js: Added.
  • test262/test/intl402/Locale/prototype/weekInfo/output-object.js: Added.
  • test262/test/intl402/Locale/prototype/weekInfo/prop-desc.js: Added.
  • test262/test/intl402/Segmenter/constructor/supportedLocalesOf/locales-specific.js:
  • test262/test/intl402/Segmenter/prototype/segment/containing/iswordlike.js:

(other_granularities.forEach):

  • test262/test/intl402/Segmenter/prototype/segment/containing/one-index.js:

(toString):
(valueOf):
(Symbol.toPrimitive):

  • test262/test/intl402/Segmenter/prototype/segment/containing/out-of-bound-index.js:

(toString):
(valueOf):
(Symbol.toPrimitive):

  • test262/test/intl402/Segmenter/prototype/segment/containing/word-iswordlike.js:

(inputs.forEach):

  • test262/test/intl402/Segmenter/prototype/segment/containing/zero-index.js:

(toString):
(valueOf):
(Symbol.toPrimitive):

  • test262/test/intl402/Segmenter/prototype/segment/segment-grapheme-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/Segmenter/prototype/segment/segment-sentence-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/Segmenter/prototype/segment/segment-word-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/fallback-locales-are-supported.js:

(testWithIntlConstructors):

  • test262/test/intl402/supportedLocalesOf-consistent-with-resolvedOptions.js:

(testWithIntlConstructors):

  • test262/test/intl402/supportedLocalesOf-unicode-extensions-ignored.js:

(testWithIntlConstructors.):
(testWithIntlConstructors):

  • test262/test/language/expressions/arrow-function/extensibility.js: Added.

(assert.Object.isExtensible):

  • test262/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js:
  • test262/test/language/expressions/assignment/S11.13.1_A7_T1.js: Removed.
  • test262/test/language/expressions/assignment/S11.13.1_A7_T2.js: Removed.
  • test262/test/language/expressions/assignment/target-member-computed-reference-null.js: Added.

(DummyError):
(prop):
(expr):
(prop.toString):

  • test262/test/language/expressions/assignment/target-member-computed-reference-undefined.js: Added.

(DummyError):
(prop):
(expr):
(prop.toString):

  • test262/test/language/expressions/assignment/target-member-identifier-reference-null.js: Added.
  • test262/test/language/expressions/assignment/target-member-identifier-reference-undefined.js: Added.
  • test262/test/language/expressions/assignment/target-super-computed-reference-null.js: Added.

(C.m):
(C):

  • test262/test/language/expressions/assignment/target-super-identifier-reference-null.js: Added.

(C.m):
(C):

  • test262/test/language/expressions/delete/member-computed-reference-null.js: Added.
  • test262/test/language/expressions/delete/member-computed-reference-undefined.js: Added.
  • test262/test/language/expressions/delete/member-identifier-reference-null.js: Added.
  • test262/test/language/expressions/delete/member-identifier-reference-undefined.js: Added.
  • test262/test/language/expressions/delete/super-property-null-base.js: Added.

(C.m):
(C):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration-abrupt.js: Added.

(options.ownKeys):
(options.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration.js: Added.

(options.ownKeys):
(options.get _):
(options.getOwnPropertyDescriptor):
(options.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-non-object.js: Added.

(test):
(string_appeared_here.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-undefined.js: Added.

(then):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-value-abrupt.js: Added.

(assert.get string_appeared_here):
(then):

  • test262/test/language/expressions/dynamic-import/2nd-param-assert-value-non-string.js: Added.

(test):
(string_appeared_here.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-await-expr.js: Added.
  • test262/test/language/expressions/dynamic-import/2nd-param-await-ident.js: Added.

(await):
(await.undefined.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-return.js: Added.

(iter):

  • test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-throw.js: Added.

(throwError):

  • test262/test/language/expressions/dynamic-import/2nd-param-evaluation-sequence.js: Added.
  • test262/test/language/expressions/dynamic-import/2nd-param-get-assert-error.js: Added.

(options.get assert):
(options.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-in.js: Added.

(promise.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-non-object.js: Added.

(test):
(string_appeared_here.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-fulfill.js: Added.

(then):

  • test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-reject.js: Added.

(import.toString):
(then):

  • test262/test/language/expressions/dynamic-import/2nd-param-yield-expr.js: Added.

(iter):
(promise.then):

  • test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-invalid.js: Added.
  • test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-valid.js: Added.

(yield.then):

  • test262/test/language/expressions/dynamic-import/2nd-param_FIXTURE.js: Added.
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-args.js:

(let.f):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js:

(async await):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-args.js:

(async await):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-no-trailing-comma.js: Removed.
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js:

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-args.js:

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-args.js:

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-no-trailing-comma.js: Removed.
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-args.js:

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-args.js:

(DONOTEVALUATE):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-not-extensible-args.js:

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js:

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-no-trailing-comma.js: Removed.
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-not-extensible-args.js:

(with.import):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js:

(with):

  • test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-args.js:
  • test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-no-trailing-comma.js: Removed.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-no-trailing-comma.js.

(let.f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-args.js.

(let.f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js.

(async await):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.

(async await):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-no-trailing-comma.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-no-trailing-comma.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-no-trailing-comma.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-args.js.

(async f):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-do-while-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-do-while-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-return-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js.

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-return-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js.

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-not-extensible-no-trailing-comma.js.

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-no-trailing-comma.js.

(fn):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-while-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-no-trailing-comma.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-while-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-args.js.
  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js.

(with.import):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js.

(with.import):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-no-trailing-comma.js.

(with):

  • test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-not-extensible-no-trailing-comma.js.

(with):

  • test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-first.js: Added.
  • test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-second.js: Added.
  • test262/test/language/expressions/dynamic-import/trailing-comma-fulfill.js: Added.

(then):

  • test262/test/language/expressions/dynamic-import/trailing-comma-reject.js: Added.

(import.toString):
(then):

  • test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-8.js:
  • test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-9.js:
  • test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js:
  • test262/test/language/import/json-extensibility-array.js: Added.
  • test262/test/language/import/json-extensibility-object.js: Added.
  • test262/test/language/import/json-idempotency-indirect_FIXTURE.js: Added.
  • test262/test/language/import/json-idempotency.js: Added.

(then):

  • test262/test/language/import/json-invalid.js: Added.
  • test262/test/language/import/json-named-bindings.js: Added.
  • test262/test/language/import/json-value-array.js: Added.
  • test262/test/language/import/json-value-boolean.js: Added.
  • test262/test/language/import/json-value-null.js: Added.
  • test262/test/language/import/json-value-number.js: Added.
  • test262/test/language/import/json-value-object.js: Added.
  • test262/test/language/import/json-value-string.js: Added.
  • test262/test/language/import/json-via-namespace.js: Added.
  • test262/test/language/literals/numeric/legacy-octal-integer-strict.js:
  • test262/test/language/literals/numeric/legacy-octal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/legacy-octal-integer.js.
  • test262/test/language/literals/numeric/non-octal-decimal-integer-strict.js:
  • test262/test/language/literals/numeric/non-octal-decimal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/non-octal-decimal-integer.js.
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-1-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-2-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-3-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-4-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-5-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-6-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-7-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-non-strict.js: Added.
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-non-strict.js: Added.
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict-explicit-pragma.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict.js:
  • test262/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js:
  • test262/test/language/literals/string/legacy-octal-escape-sequence-strict.js:
  • test262/test/language/literals/string/legacy-octal-escape-sequence.js: Renamed from JSTests/test262/test/annexB/language/literals/string/legacy-octal-escape-sequence.js.
  • test262/test/language/module-code/early-dup-assert-key-export.js: Added.
  • test262/test/language/module-code/early-dup-assert-key-import-nobinding.js: Added.
  • test262/test/language/module-code/early-dup-assert-key-import-withbinding.js: Added.
  • test262/test/language/module-code/early-export-ill-formed-string.js:
  • test262/test/language/module-code/eval-gtbndng-indirect-faux-assertion.js: Added.
  • test262/test/language/module-code/import-assertion-1_FIXTURE.js: Added.
  • test262/test/language/module-code/import-assertion-2_FIXTURE.js: Added.
  • test262/test/language/module-code/import-assertion-3_FIXTURE.js: Added.
  • test262/test/language/module-code/import-assertion-empty.js: Added.
  • test262/test/language/module-code/import-assertion-key-identifiername.js: Added.
  • test262/test/language/module-code/import-assertion-key-string-double.js: Added.
  • test262/test/language/module-code/import-assertion-key-string-single.js: Added.
  • test262/test/language/module-code/import-assertion-many.js: Added.
  • test262/test/language/module-code/import-assertion-newlines.js: Added.
  • test262/test/language/module-code/import-assertion-trlng-comma.js: Added.
  • test262/test/language/module-code/import-assertion-value-string-double.js: Added.
  • test262/test/language/module-code/import-assertion-value-string-single.js: Added.
  • test262/test/language/module-code/instn-star-as-props-dflt-skip.js:
  • test262/test/language/module-code/top-level-await/dfs-invariant-async_FIXTURE.js: Added.
  • test262/test/language/module-code/top-level-await/dfs-invariant-direct-1_FIXTURE.js: Added.
  • test262/test/language/module-code/top-level-await/dfs-invariant-direct-2_FIXTURE.js: Added.
  • test262/test/language/module-code/top-level-await/dfs-invariant-indirect_FIXTURE.js: Added.
  • test262/test/language/module-code/top-level-await/dfs-invariant.js: Added.
  • test262/test/language/statements/for-of/head-lhs-async-escaped.js: Added.
  • test262/test/language/statements/for-of/head-lhs-async-parens.js: Added.
  • test262/test262-Revision.txt:
1:08 PM Changeset in webkit [279808] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk

Unreviewed, reverting r279803.
https://bugs.webkit.org/show_bug.cgi?id=227850

Introduce many crashes on AS-mac Debug bot

Reverted changeset:

"document.readyState should be "complete" after calling
DOMParser.parseFromString()"
https://bugs.webkit.org/show_bug.cgi?id=227846
https://commits.webkit.org/r279803

12:41 PM Changeset in webkit [279807] by Russell Epstein
  • 8 edits in branches/safari-612.1.22.1-branch/Source

Versioning.

WebKit-7612.1.22.1.5

9:56 AM Changeset in webkit [279806] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebKit

[GPU Process] Canvas drawing never releases any fonts
https://bugs.webkit.org/show_bug.cgi?id=227376
<rdar://problem/79741186>

Reviewed by Said Abou-Hallawa.

We have a frame counter which makes sure that fonts which haven't been used in n frames get released.
However, we currently only update the frame counter when we release fonts.
This means that the frame counter stays 0 forever. And we never release any fonts.

The fix is just to increment the frame counter even if we don't release any fonts.

No new tests because there is no architectural behavior change.

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::prepareForNextRenderingUpdate):
(WebKit::RemoteResourceCacheProxy::clearFontMap):
(WebKit::RemoteResourceCacheProxy::didFinalizeRenderingUpdate):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
(WebKit::RemoteResourceCacheProxy::releaseMemory):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
9:48 AM Changeset in webkit [279805] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed follow-up to r279802 to address review feedback from Sam Weinig.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::buildList):

Jul 9, 2021:

10:35 PM Changeset in webkit [279804] by ntim@apple.com
  • 3 edits
    32 adds in trunk/LayoutTests

Import blink reference tests for <dialog> element
https://bugs.webkit.org/show_bug.cgi?id=227802

Reviewed by Simon Fraser.

From third_party/blink/web_tests/html/dialog/ in the Chromium repo.
Only imported reference tests.

  • TestExpectations:
  • imported/blink/dialog/backdrop-descendant-selector-expected.html: Added.
  • imported/blink/dialog/backdrop-descendant-selector.html: Added.
  • imported/blink/dialog/backdrop-does-not-inherit-expected.html: Added.
  • imported/blink/dialog/backdrop-does-not-inherit.html: Added.
  • imported/blink/dialog/backdrop-dynamic-style-change-expected.html: Added.
  • imported/blink/dialog/backdrop-dynamic-style-change.html: Added.
  • imported/blink/dialog/backdrop-in-flow-expected.html: Added.
  • imported/blink/dialog/backdrop-in-flow.html: Added.
  • imported/blink/dialog/backdrop-stacking-order-expected.html: Added.
  • imported/blink/dialog/backdrop-stacking-order.html: Added.
  • imported/blink/dialog/element-removed-from-top-layer-has-original-position-expected.html: Added.
  • imported/blink/dialog/element-removed-from-top-layer-has-original-position.html: Added.
  • imported/blink/dialog/inert-node-is-not-highlighted-expected.html:
  • imported/blink/dialog/modal-dialog-backdrop-expected.html: Added.
  • imported/blink/dialog/modal-dialog-backdrop.html: Added.
  • imported/blink/dialog/modal-dialog-generated-content-expected.html: Added.
  • imported/blink/dialog/modal-dialog-generated-content.html: Added.
  • imported/blink/dialog/removed-element-is-removed-from-top-layer-expected.html: Added.
  • imported/blink/dialog/removed-element-is-removed-from-top-layer.html: Added.
  • imported/blink/dialog/resources/dialog.css: Added.

(.pseudodialog):

  • imported/blink/dialog/top-layer-containing-block-expected.html: Added.
  • imported/blink/dialog/top-layer-containing-block.html: Added.
  • imported/blink/dialog/top-layer-display-none-expected.html: Added.
  • imported/blink/dialog/top-layer-display-none.html: Added.
  • imported/blink/dialog/top-layer-nesting-expected.html: Added.
  • imported/blink/dialog/top-layer-nesting.html: Added.
  • imported/blink/dialog/top-layer-stacking-correct-order-remove-readd-expected.html: Added.
  • imported/blink/dialog/top-layer-stacking-correct-order-remove-readd.html: Added.
  • imported/blink/dialog/top-layer-stacking-dynamic-expected.html: Added.
  • imported/blink/dialog/top-layer-stacking-dynamic.html: Added.
  • imported/blink/dialog/top-layer-stacking-expected.html: Added.
  • imported/blink/dialog/top-layer-stacking.html: Added.
10:21 PM Changeset in webkit [279803] by Chris Dumez
  • 5 edits
    2 adds in trunk

document.readyState should be "complete" after calling DOMParser.parseFromString()
https://bugs.webkit.org/show_bug.cgi?id=227846

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/domparsing/xmldomparser-expected.txt:

Source/WebCore:

document.readyState should be "complete" after calling DOMParser.parseFromString().

This is causing the following WPT test to fail in WebKit:
http://wpt.live/domparsing/xmldomparser.html

Both Gecko and Blink report the correct readyState here.

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::explicitClose):
explicitClose() normally calls checkCompleted() which calls FrameLoader::checkCompleted(),
which ends up setting the document's ready state to "complete" and then calling
Document::implicitClose(). However, when the document has no frame (which is the case
for a document just created via DOMParser.parseFromString()), we would call
Document::implicitClose() directly, since we don't have a FrameLoader. As a result,
the document's ready state would stay "interactive". To address the issue, we now set
the document's ready state to "complete" before calling implicitClose(), similarly to
what FrameLoader::checkCompleted() would have done.

8:07 PM Changeset in webkit [279802] by Chris Dumez
  • 4 edits in trunk/Source

[ITP] Improve ResourceLoadStatisticsDatabaseStore's buildList() and use it in more places
https://bugs.webkit.org/show_bug.cgi?id=227843

Reviewed by Sam Weinig.

Source/WebCore:

Support passing a RegistrableDomain directly to StringBuilder::append().

  • platform/RegistrableDomain.h:

Source/WebKit:

Improve ResourceLoadStatisticsDatabaseStore's buildList() and use it in more places.

buildList() now works with String types (RegistrableDomain in this particular case) and
can take any container type in parameter.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::buildList):
(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):

8:00 PM Changeset in webkit [279801] by Russell Epstein
  • 1 copy in tags/Safari-612.1.22.1.4

Tag Safari-612.1.22.1.4.

6:03 PM Changeset in webkit [279800] by rniwa@webkit.org
  • 17 edits
    4 adds in trunk

ResizeObserver / IntersectionObserver memory leak on detached & out of reference elements
https://bugs.webkit.org/show_bug.cgi?id=227194
<rdar://problem/79839851>

Reviewed by Chris Dumez.

Source/WebCore:

The memory leak was caused by ResizeObserver and IntersectionObserver keeping their respective
JS wrapper objects alive so long as there are some observed elements by having pending
activity as ActiveDOMObjects. This is not the right GC model for these JS wrapper objects
since there is no obvious end to these activities. So long as the observed nodes are alive,
ResizeObserver and IntersectionObserver may get new observation entries queued later.

To address this issue, this patch reworks the way ResizeObserver and IntersectionObserver keep
their JS wrappers alive. Namely, they're no longer ActiveDOMObjects. Instead, their JS wrappers
would use their respective observed nodes as opaque roots. i.e. so long as any of the observed
nodes are kept alive by GC, then its observer's JS wrapper is kept alive.

ResizeObserver had an additional bug that every observed node was kept using GCReachableRef,
which obviously leaked every observed node until the observations were explicitly cleared.
This patch makes only the target elements of the active observations (i.e. there are entries
to be delivered to the observer callback) are kept alive with GCReachableRef as done with
IntersectionObserver and MutationObserver.

Finally, this patch fixes the bug that IntersectionObserver wasn't keeping its root node alive.
We even had a test which was testing this erroneously behavior. The test has been rewritten to
expect the new behavior.

Tests: intersection-observer/intersection-observer-should-not-leak-observed-nodes.html

intersection-observer/root-element-deleted.html
resize-observer/resize-observer-should-not-leak-observed-nodes.html

  • bindings/js/JSIntersectionObserverCustom.cpp:

(WebCore::JSIntersectionObserver::visitAdditionalChildren): Add the root node as an opaque root.
This has an effect of keeping the root node alive so long as IntersectionObserver is alive.
(WebCore::JSIntersectionObserverOwner::isReachableFromOpaqueRoots): Added.

  • bindings/js/JSResizeObserverCustom.cpp:

(WebCore::JSResizeObserverOwner::isReachableFromOpaqueRoots): Added.

  • dom/Document.cpp:

(WebCore::Document::updateIntersectionObservations):

  • html/LazyLoadFrameObserver.cpp:

(WebCore::LazyLoadFrameObserver::isObserved const):

  • html/LazyLoadImageObserver.cpp:

(WebCore::LazyLoadImageObserver::isObserved const):

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::create):
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::~IntersectionObserver):
(WebCore::IntersectionObserver::isObserving const): Added.
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::virtualHasPendingActivity const): Deleted.
(WebCore::IntersectionObserver::activeDOMObjectName const): Deleted.
(WebCore::IntersectionObserver::stop): Deleted.
(WebCore::IntersectionObserver::isReachableFromOpaqueRoots const): Added.

  • page/IntersectionObserver.h:

(WebCore::IntersectionObserver::root const):
(WebCore::IntersectionObserver::observationTargets const):
(WebCore::IntersectionObserver::hasObservationTargets const):

  • page/IntersectionObserver.idl:
  • page/ResizeObservation.cpp:

(WebCore::ResizeObservation::create):
(WebCore::ResizeObservation::ResizeObservation):
(WebCore::ResizeObservation::targetElementDepth const):

  • page/ResizeObservation.h:

(WebCore::ResizeObservation::target const):
(WebCore::ResizeObservation): Renamed m_pendingTargets to m_activeObservationTargets to reflect
the new semantics.

  • page/ResizeObserver.cpp:

(WebCore::ResizeObserver::ResizeObserver):
(WebCore::ResizeObserver::observe): Don't store the new observation target with GCReachableRef as
that would result in an immediate leak of this element.
(WebCore::ResizeObserver::gatherObservations): Now that we have an active observation (i.e. there
is an entry to be delivered to the JS callback), store the target element using GCReachableRef.
This keeps the JS wrapper of this target element alive between now and when the JS callback is
notified of this element's resize. Without this GCReachableRef, JS wrapper of the element can be
erroneously collected when there is no JS reference to the element and the element is no longer in
any live document. Note that this GC behavior is already tested by existing tests. This patch
simply delays the use of GCReachableRef from when ResizeObserver started observing this element
to when we created an active observation for the element; this is because GCReachableRef like
a pending activity of ActiveDOMObject is only appropriate when there is a definite end to it.
(WebCore::ResizeObserver::isReachableFromOpaqueRoots const): Added.
(WebCore::ResizeObserver::removeAllTargets):
(WebCore::ResizeObserver::removeObservation):
(WebCore::ResizeObserver::virtualHasPendingActivity const): Deleted.
(WebCore::ResizeObserver::activeDOMObjectName const): Deleted.
(WebCore::ResizeObserver::stop): Deleted.

  • page/ResizeObserver.h:
  • page/ResizeObserver.idl:

LayoutTests:

Added regression tests for leaking nodes with IntersectionObserver and ResizeObsever.

Also rewrote intersection-observer/root-element-deleted.html since the test was previously asserting
that IntersectionObserver.root becomes null if it was no longer in the document, which is wrong.

  • intersection-observer/intersection-observer-should-not-leak-observed-nodes-expected.txt: Added.
  • intersection-observer/intersection-observer-should-not-leak-observed-nodes.html: Added.
  • intersection-observer/root-element-deleted-expected.txt:
  • intersection-observer/root-element-deleted.html:
  • resize-observer/resize-observer-should-not-leak-observed-nodes-expected.txt: Added.
  • resize-observer/resize-observer-should-not-leak-observed-nodes.html: Added.
4:00 PM Changeset in webkit [279799] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.23

Tag Safari-612.1.23.

3:30 PM Changeset in webkit [279798] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION: [ macOS wk2 ] inspector/canvas/create-context-bitmaprenderer.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207141

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Switch expectation from release to debug.
3:00 PM Changeset in webkit [279797] by Ruben Turcios
  • 9 edits in branches/safari-612.1.23-branch/Source/WebKit

Cherry-pick r279591. rdar://problem/80395422

Collect Accessibility preferences on a background queue
https://bugs.webkit.org/show_bug.cgi?id=227617
<rdar://80055168>

Reviewed by Brent Fulgham.

To avoid blocking the main thread of the UI process, collect Media Accessibility preferences on a background thread,
and send them to the WebContent process(es).

  • Shared/AccessibilityPreferences.cpp: (IPC::ArgumentCoder<WebKit::AccessibilityPreferences>::encode): (IPC::ArgumentCoder<WebKit::AccessibilityPreferences>::decode):
  • Shared/AccessibilityPreferences.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::accessibilityPreferences): (WebKit::WebProcessPool::setMediaAccessibilityPreferences): (WebKit::WebProcessPool::mediaAccessibilityPreferencesChangedCallback): (WebKit::WebProcessPool::registerNotificationObservers):
  • UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess):
  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::accessibilityPreferencesDidChange): (WebKit::WebProcess::setMediaAccessibilityPreferences):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:54 PM Changeset in webkit [279796] by jer.noble@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit

[Cocoa] Allow the UIProcess to set logging parameters in the GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=227822

Reviewed by Eric Carlson.

For release builds, logLevelString() will return an empty string. Instead, do the same thing
for GPUProcessProxy as we do for WebProcessPool: have a platform-specific initialization
function that, for Cocoa ports, reads log strings from NSUserDefaults.

Drive-by fix: Include <optional> in WKContentPicker.h to work around a unified build error.

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/GPUProcessProxyCocoa.mm: Added.

(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):

  • UIProcess/Cocoa/WKContactPicker.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):
(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):

  • UIProcess/GPU/GPUProcessProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
2:47 PM Changeset in webkit [279795] by Aditya Keerthi
  • 138 edits in trunk

[iOS] Increase contrast for textfields, checkboxes, and radio buttons
https://bugs.webkit.org/show_bug.cgi?id=227145
<rdar://problem/79470926>

Reviewed by Wenson Hsieh.

Source/WebCore:

Updated textfields, checkboxes, and radio buttons to have a
secondaryLabelColor border, ensuring a higher contrast than the
existing appearance.

Additionally, checkboxes and radio buttons have been updated
to use the system fill color when empty.

  • css/html.css:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::checkboxRadioBorderColor):
(WebCore::RenderThemeIOS::checkboxRadioBackgroundColor):
(WebCore::RenderThemeIOS::paintCheckbox):
(WebCore::RenderThemeIOS::paintRadio):

LayoutTests:

Rebaselined tests to account for changes in appearance.

  • platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-credit-card-auto-fill-button-expected.txt:
  • platform/ios-simulator/fast/forms/auto-fill-button/input-strong-password-viewable-expected.txt:
  • platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
  • platform/ios-wk2/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/ios-wk2/editing/input/reveal-caret-of-multiline-input-expected.txt:
  • platform/ios-wk2/editing/inserting/4960120-1-expected.txt:
  • platform/ios-wk2/editing/inserting/before-after-input-element-expected.txt:
  • platform/ios-wk2/editing/pasteboard/input-field-1-expected.txt:
  • platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/ios-wk2/editing/selection/4895428-3-expected.txt:
  • platform/ios-wk2/editing/selection/drag-select-1-expected.txt:
  • platform/ios-wk2/editing/selection/select-from-textfield-outwards-expected.txt:
  • platform/ios-wk2/fast/block/float/overhanging-tall-block-expected.txt:
  • platform/ios-wk2/fast/block/margin-collapse/103-expected.txt:
  • platform/ios-wk2/fast/dynamic/008-expected.txt:
  • platform/ios-wk2/fast/forms/basic-textareas-quirks-expected.txt:
  • platform/ios-wk2/fast/forms/input-appearance-preventDefault-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-click-outside-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-double-click-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-drag-down-expected.txt:
  • platform/ios-wk2/fast/forms/input-text-option-delete-expected.txt:
  • platform/ios-wk2/fast/forms/textAreaLineHeight-expected.txt:
  • platform/ios-wk2/fast/forms/textarea-align-expected.txt:
  • platform/ios-wk2/fast/forms/textarea-placeholder-visibility-1-expected.txt:
  • platform/ios-wk2/fast/forms/textarea-placeholder-visibility-2-expected.txt:
  • platform/ios-wk2/fast/forms/textarea-scroll-height-expected.txt:
  • platform/ios-wk2/fast/forms/textarea-setinnerhtml-expected.txt:
  • platform/ios-wk2/fast/hidpi/resize-corner-hidpi-expected.txt:
  • platform/ios-wk2/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/ios-wk2/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/ios-wk2/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/ios-wk2/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
  • platform/ios-wk2/fast/transforms/transformed-focused-text-input-expected.txt:
  • platform/ios/editing/pasteboard/4806874-expected.txt:
  • platform/ios/editing/selection/3690703-2-expected.txt:
  • platform/ios/editing/selection/3690703-expected.txt:
  • platform/ios/editing/selection/3690719-expected.txt:
  • platform/ios/editing/selection/4975120-expected.txt:
  • platform/ios/fast/block/float/032-expected.txt:
  • platform/ios/fast/css/input-search-padding-expected.txt:
  • platform/ios/fast/css/line-height-expected.txt:
  • platform/ios/fast/css/text-overflow-input-expected.txt:
  • platform/ios/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/ios/fast/events/context-no-deselect-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/basic-inputs-expected.txt:
  • platform/ios/fast/forms/basic-textareas-expected.txt:
  • platform/ios/fast/forms/encoding-test-expected.txt:
  • platform/ios/fast/forms/fieldset-align-expected.txt:
  • platform/ios/fast/forms/floating-textfield-relayout-expected.txt:
  • platform/ios/fast/forms/form-element-geometry-expected.txt:
  • platform/ios/fast/forms/input-align-expected.txt:
  • platform/ios/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/ios/fast/forms/input-appearance-disabled-expected.txt:
  • platform/ios/fast/forms/input-appearance-focus-expected.txt:
  • platform/ios/fast/forms/input-appearance-height-expected.txt:
  • platform/ios/fast/forms/input-appearance-selection-expected.txt:
  • platform/ios/fast/forms/input-appearance-visibility-expected.txt:
  • platform/ios/fast/forms/input-appearance-width-expected.txt:
  • platform/ios/fast/forms/input-disabled-color-expected.txt:
  • platform/ios/fast/forms/input-double-click-selection-gap-bug-expected.txt:
  • platform/ios/fast/forms/input-field-text-truncated-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-1-expected.txt:
  • platform/ios/fast/forms/input-placeholder-visibility-3-expected.txt:
  • platform/ios/fast/forms/input-spaces-expected.txt:
  • platform/ios/fast/forms/input-table-expected.txt:
  • platform/ios/fast/forms/input-text-click-inside-expected.txt:
  • platform/ios/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/ios/fast/forms/input-text-self-emptying-click-expected.txt:
  • platform/ios/fast/forms/input-type-text-min-width-expected.txt:
  • platform/ios/fast/forms/input-value-expected.txt:
  • platform/ios/fast/forms/input-width-expected.txt:
  • platform/ios/fast/forms/minWidthPercent-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-rtl-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
  • platform/ios/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
  • platform/ios/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/ios/fast/forms/plaintext-mode-2-expected.txt:
  • platform/ios/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/ios/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
  • platform/ios/fast/forms/textarea-scrollbar-expected.txt:
  • platform/ios/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/ios/fast/forms/textarea-width-expected.txt:
  • platform/ios/fast/forms/textfield-focus-ring-expected.txt:
  • platform/ios/fast/forms/textfield-overflow-expected.txt:
  • platform/ios/fast/frames/take-focus-from-iframe-expected.txt:
  • platform/ios/fast/html/details-no-summary4-expected.txt:
  • platform/ios/fast/html/details-open-javascript-expected.txt:
  • platform/ios/fast/html/details-open2-expected.txt:
  • platform/ios/fast/html/details-open4-expected.txt:
  • platform/ios/fast/lists/dynamic-marker-crash-expected.txt:
  • platform/ios/fast/overflow/overflow-x-y-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-expected.txt:
  • platform/ios/fast/replaced/replaced-breaking-mixture-expected.txt:
  • platform/ios/fast/replaced/width100percent-textarea-expected.txt:
  • platform/ios/fast/replaced/width100percent-textfield-expected.txt:
  • platform/ios/fast/table/colspanMinWidth-expected.txt:
  • platform/ios/fast/table/spanOverlapRepaint-expected.txt:
  • platform/ios/fast/table/text-field-baseline-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/selection/selection-select-all-move-input-crash-expected.txt:
  • platform/ios/svg/custom/inline-svg-in-xhtml-expected.txt:
  • platform/ios/svg/hixie/mixed/003-expected.txt:
  • platform/ios/tables/mozilla/bugs/45621-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug12384-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug194024-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug24200-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug30692-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug55545-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/ios/tables/mozilla/bugs/bug99948-expected.txt:
  • platform/ios/tables/mozilla/dom/tableDom-expected.txt:
  • platform/ios/tables/mozilla/other/move_row-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
  • platform/ios/transforms/3d/general/perspective-non-layer-expected.txt:
1:37 PM Changeset in webkit [279794] by Fujii Hironori
  • 11 edits
    1 delete in trunk/Source/WebCore

[Cairo][Win] Remove unneeded GraphicsContextPlatformPrivate
https://bugs.webkit.org/show_bug.cgi?id=227828

Reviewed by Don Olmstead.

GraphicsContextPlatformPrivate keeps HDC's transform syncing with
GraphicsContext's transform. However, WinCairo doesn't use it.

  • platform/graphics/BifurcatedGraphicsContext.cpp:
  • platform/graphics/BifurcatedGraphicsContext.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/NullGraphicsContext.h:
  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::State::setCTM):
(WebCore::Cairo::translate):
(WebCore::Cairo::rotate):
(WebCore::Cairo::scale):
(WebCore::Cairo::concatCTM):
(WebCore::Cairo::clip):
(WebCore::Cairo::clipPath):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContextCairo::GraphicsContextCairo):
(WebCore::GraphicsContextCairo::save):
(WebCore::GraphicsContextCairo::restore):
(WebCore::GraphicsContextCairo::graphicsContextPrivate): Deleted.

  • platform/graphics/cairo/GraphicsContextCairo.h:
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Removed.
  • platform/graphics/win/GraphicsContextCairoWin.cpp:

(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::flush): Deleted.
(WebCore::GraphicsContextCairo::deprecatedPrivateContext const): Deleted.

  • platform/graphics/win/GraphicsContextWin.cpp:

(WebCore::GraphicsContext::getWindowsContext):

  • platform/win/DragImageCairoWin.cpp:
1:05 PM Changeset in webkit [279793] by mmaxfield@apple.com
  • 16 edits
    1 add in trunk

SVGImageForContainer reports true for is<SVGImage>() but it doesn't inherit from SVGImage
https://bugs.webkit.org/show_bug.cgi?id=227807

Reviewed by Said Abou-Hallawa.

Source/WebCore:

It's too easy to write code like:
if (is<SVGImage>(image))

downcast<SVGImage>(image).doSomething();

Test: SVGImageCasts.SVGImageForContainerIsNotSVGImage

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::remoteSVGRootElement const):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::effectiveImageDevicePixelRatio const):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createPattern):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImageSourceHelper):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::hasSVGImage const):
(WebCore::CachedImage::setContainerContextForClient):
(WebCore::CachedImage::imageSizeForRenderer const):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::drawCrossfadeSubimage):

  • platform/graphics/Image.cpp:

(WebCore::operator<<):

  • platform/graphics/Image.h:

(WebCore::Image::isSVGImageForContainer const):
(WebCore::Image::actsLikeSVGImage const):

  • platform/graphics/ImageObserver.h:
  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::SVGImageForContainer):

  • svg/graphics/SVGImageForContainer.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp: Added.

(TestWebKitAPI::TEST):

12:18 PM Changeset in webkit [279792] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

SVGInlineTextBox::acquirePaintingResource() should return false if the resource can't be applied
https://bugs.webkit.org/show_bug.cgi?id=227826
<rdar://79662757>

Reviewed by Simon Fraser.

Ensure RenderSVGResource::postApplyResource() is called only if the
corresponding RenderSVGResource::applyResource() succeeds. Otherwise
the GraphicsContext stack state will be unbalanced.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::acquirePaintingResource):

11:01 AM Changeset in webkit [279791] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[Mac & iOS simulator wk2] imported/w3c/web-platform-tests/navigation-timing/test_navigate_within_document.html is a flaky failure .
https://bugs.webkit.org/show_bug.cgi?id=226600

Unreviewed gardening.

Patch by Ayumi Kojima <Ayumi Kojima> on 2021-07-09

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:50 AM Changeset in webkit [279790] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Perform sidebar panel and navigation bar layout asynchronously during resize
https://bugs.webkit.org/show_bug.cgi?id=227716

Reviewed by Devin Rousso.

Perform layout updates to the navigation bar and selected panel asynchronously so that they can be batched
together, instead of blocking on layout for each resize (of which there will be many during a dragging resize).

  • UserInterface/Views/SingleSidebar.js:

(WI.SingleSidebar.prototype._recalculateWidth):

10:36 AM Changeset in webkit [279789] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Negative padding values are invalid (inline box)
https://bugs.webkit.org/show_bug.cgi?id=227838

Reviewed by Antti Koivisto.

Negative values for padding properties are invalid.
https://drafts.csswg.org/css-box/#padding-physical

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):

10:32 AM Changeset in webkit [279788] by Chris Dumez
  • 5 edits in trunk

[WebCrypto] deriveBits() incorrectly throws for PBKDF2 algorithm when the password is empty
https://bugs.webkit.org/show_bug.cgi?id=227810

Reviewed by Yusuke Suzuki.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any-expected.txt:
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker-expected.txt:

Source/WebCore:

deriveBits() was incorrectly throwing for PBKDF2 algorithm when the provided password was empty.
The reason for that was that we would pass a null key pointer to CCKeyDerivationPBKDF() in this
case and it was causing CCKeyDerivationPBKDF() to return an error, even though the key length is

  1. To avoid this issue, we now pass an empty string as key to CCKeyDerivationPBKDF() instead of

a null pointer, when the length is 0.

This is causing Safari to fail subtests in the following WPT test:

Empty passwords are supported by both Chrome and Firefox.

No new tests, rebaselined existing tests.

  • crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp:

(WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits):

9:54 AM Changeset in webkit [279787] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Validate keys in ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources() before using them with HashMap
https://bugs.webkit.org/show_bug.cgi?id=227842

Reviewed by Kate Cheney.

Validate keys in ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources() before using them with HashMap,
to avoid potential crashes. We do not support storing (or looking up) a key with value 0 in a HashMap whose key type
is 'unsigned'.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources):

9:46 AM Changeset in webkit [279786] by jer.noble@apple.com
  • 28 edits in trunk/Source

[Cocoa] Make Coordinator playback commands more precise
https://bugs.webkit.org/show_bug.cgi?id=227756

Reviewed by Eric Carlson.

Source/WebCore:

Add support for precise playback commands from MediaSessionCoordinator to the underlying MediaPlayer.

In the case where a play() command is issued to a HTMLMediaElement and:

  • There is an active MediaSession
  • The MediaSession's active HTMLMediaElement is the current one
  • There is a pending playSession command
  • That command has a hostTime parameter
  • The MediaPlayer backing the element supports playing at a specific host time

Then use the MediaPlayer's playAtHostTime() facility to begin playback, synchronized with the specified
hostTime.

Add support for playAtHostTime() to both MediaPlayerPrivateAVFoundationObjC and MediaPlayerPrivateMediaSourceAVFObjC.

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSessionCoordinator.cpp:

(WebCore::MediaSessionCoordinator::playSession):

  • Modules/mediasession/MediaSessionCoordinator.h:

(WebCore::MediaSessionCoordinator::currentPlaySessionCommand const):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlayState):
(WebCore::HTMLMediaElement::playPlayer):
(WebCore::HTMLMediaElement::pausePlayer):

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::supportsPlayAtHostTime const):
(WebCore::MediaPlayer::supportsPauseAtHostTime const):
(WebCore::MediaPlayer::playAtHostTime):
(WebCore::MediaPlayer::pauseAtHostTime):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::supportsPlayAtHostTime const):
(WebCore::MediaPlayerPrivateInterface::supportsPauseAtHostTime const):
(WebCore::MediaPlayerPrivateInterface::playAtHostTime):
(WebCore::MediaPlayerPrivateInterface::pauseAtHostTime):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::playAtHostTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::pauseAtHostTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setPlayerRate):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playAtHostTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseAtHostTime):

Source/WebCore/PAL:

Add SoftLink macros for CMClockMakeHostTimeFromSystemUnits.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:

Source/WebKit:

Pass through new {play,pause}AtHostTime() and supports{Play,Pause}AtHostTime() methods
to and from the GPU process.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::playAtHostTime):
(WebKit::RemoteMediaPlayerProxy::pauseAtHostTime):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::playAtHostTime):
(WebKit::MediaPlayerPrivateRemote::pauseAtHostTime):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerConfiguration.h:

(WebKit::RemoteMediaPlayerConfiguration::encode const):
(WebKit::RemoteMediaPlayerConfiguration::decode):

Source/WTF:

Add a method to convert from a MonotonicTime to a MachAbsoluteTime.

  • wtf/CurrentTime.cpp:

(WTF::machTimebaseInfo):
(WTF::MonotonicTime::fromMachAbsoluteTime):
(WTF::MonotonicTime::toMachAbsoluteTime const):

  • wtf/MonotonicTime.h:
  • wtf/PlatformHave.h:
9:02 AM Changeset in webkit [279785] by ysuzuki@apple.com
  • 9 edits
    5 adds
    8 deletes in trunk

Add BigInt64Array and BigUint64Array support to crypto.getRandomValues
https://bugs.webkit.org/show_bug.cgi?id=227611

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Resync web-platform-tests/WebCryptoAPI/ directory.

  • web-platform-tests/WebCryptoAPI/digest/test_digest-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.html: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.js: Added.

(const.array.of.arrays.test):

  • web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.worker.html: Added.
  • web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/sign_verify/test_hmac-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/w3c-import.log:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.html

imported/w3c/web-platform-tests/WebCryptoAPI/getRandomValues-bigint.tentative.any.worker.html

This patch updates crypto.getRandomValues so that this function can take BigInt64Array / BigUint64Array.
We also add BigInt64Array / BigUint64Array IDL support.

  • bindings/js/JSDOMConvertBufferSource.h:

(WebCore::toPossiblySharedBigInt64Array):
(WebCore::toPossiblySharedBigUint64Array):
(WebCore::toUnsharedBigInt64Array):
(WebCore::toUnsharedBigUint64Array):
(WebCore::JSConverter<IDLFloat64Array>::convert):
(WebCore::Converter<IDLBigInt64Array>::convert):
(WebCore::JSConverter<IDLBigInt64Array>::convert):
(WebCore::Converter<IDLBigUint64Array>::convert):

  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetBaseIDLType):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjDOMConstructor::construct):
(WebCore::jsTestObjPrototypeFunction_bigInt64Body):
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::jsTestObjPrototypeFunction_bigUint64Body):
(WebCore::jsTestObjPrototypeFunction_bigInt64AllowSharedBody):
(WebCore::jsTestObjPrototypeFunction_bigUint64AllowSharedBody):

  • bindings/scripts/test/TestObj.idl:
  • page/Crypto.cpp:

(WebCore::Crypto::getRandomValues):

8:16 AM Changeset in webkit [279784] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Use nw_parameters_allow_sharing_port_with_listener if available
https://bugs.webkit.org/show_bug.cgi?id=227835
<rdar://80312536>

Reviewed by Eric Carlson.

Use nw_parameters_allow_sharing_port_with_listener to allow running local loop connections.
Covered by existing tests running on platforms supporting nw_parameters_allow_sharing_port_with_listener.

  • NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:

(WebKit::NetworkRTCUDPSocketCocoaConnections::createNWConnection):

  • Platform/spi/Cocoa/NWParametersSPI.h:
8:11 AM Changeset in webkit [279783] by ntim@apple.com
  • 3 edits in trunk/Source/WebCore

Make topLayerElements() use Ref instead of RefPtr
https://bugs.webkit.org/show_bug.cgi?id=227839

Reviewed by Youenn Fablet.

  • dom/Document.cpp:

(WebCore::Document::addToTopLayer):
(WebCore::Document::removeFromTopLayer):
(WebCore::Document::activeModalDialog const):

  • dom/Document.h:

(WebCore::Document::topLayerElements const):

6:29 AM Changeset in webkit [279782] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK] Support dark scrollbars
https://bugs.webkit.org/show_bug.cgi?id=227834

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-09
Reviewed by Michael Catanzaro.

Also adjust the colors in light variant to be closer to the GTK scrollbars, and
remove an unused variable.

Unfortunately this leaves the scrollbar corner when non-overlay scrollbars are used,
but it was already broken for light scrollbars as well.

  • platform/adwaita/ScrollbarThemeAdwaita.cpp:

(WebCore::ScrollbarThemeAdwaita::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeAdwaita::paint):

  • platform/adwaita/ScrollbarThemeAdwaita.h:
6:12 AM Changeset in webkit [279781] by commit-queue@webkit.org
  • 4 edits in trunk/Tools/buildstream

[Flatpak SDK] Update to libsoup3 2.99.9
https://bugs.webkit.org/show_bug.cgi?id=227833

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-07-09
Reviewed by Michael Catanzaro.

It requires new glib and glib-networking too.

  • elements/sdk/glib-networking.bst:
  • elements/sdk/glib.bst:
  • elements/sdk/libsoup3.bst:
5:05 AM Changeset in webkit [279780] by ntim@apple.com
  • 5 edits in trunk/Source/WebCore

Add topLayerElements() and activeModalDialog() to Document
https://bugs.webkit.org/show_bug.cgi?id=227800

Reviewed by Antti Koivisto.

These DOM methods are a pre-requisite for a lot of dialog element accessibility work, aside from
the top layer rendering work.

  • dom/Document.cpp:

(WebCore::Document::addToTopLayer):
(WebCore::Document::removeFromTopLayer):
(WebCore::Document::activeModalDialog const):

  • dom/Document.h:

(WebCore::Document::topLayerElements const):

  • dom/Element.cpp:

(WebCore::Element::removedFromAncestor):

  • html/HTMLDialogElement.cpp:

(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::parseAttribute):

4:47 AM Changeset in webkit [279779] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit

[GTK] Touchscreen navigation swipe doesn't work when the page scrolls horizontally
https://bugs.webkit.org/show_bug.cgi?id=227691

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2021-07-09
Reviewed by Michael Catanzaro.

When the page scrolls horizontally, we have a separate code path for events that
WebCore didn't handle and which are considered safe to use to start a swipe
gesture. Unfortunately, that code relies on the NativeWebWheelEvents containing a
GdkEvent, which is only the case for actual scroll events, but not synthesized
scroll events on touchscreen, and the needed info (input source type and a proper
timestamp instead of the truncated one wallTimeForEventTime() produces) is not
stored in NativeWebWheelEvent.

While we don't have GdkEvents for every situation we synthesize wheel events in,
we do have them for touchscreen gestures. They aren't GdkScrollEvents, but that
isn't a problem - the only things we use that are specific to GdkScrollEvent are
scroll deltas and whether it's a scroll stop event, and that's also stored in
NativeWebWheelEvent, and we only need GdkEvent for the time and input source type,
where the event type doesn't really matter.

Since touch GdkEvents are controlled via event sequences rather than stop/propagate
return values, don't try and propagate them if web process has returned them: we've
already claimed their sequence before sending them to web process, so they will be
of no use to other widgets.

  • Shared/NativeWebWheelEvent.h:
  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
Add a GdkEvent parameter to the remaining constructor.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseZoomBegin):
(webkitWebViewBaseTouchDragBegin):
(webkitWebViewBaseTouchDragUpdate):
(webkitWebViewBaseTouchSwipe):
(webkitWebViewBaseSynthesizeWheelEvent):
Split into versions with and without a GdkEvent parameter.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
4:18 AM Changeset in webkit [279778] by clopez@igalia.com
  • 4 edits
    2 adds in trunk

[GTK][WPE][libsoup] Test imported/w3c/web-platform-tests/cookies/samesite/about-blank-toplevel.https.html crashes since it was imported
https://bugs.webkit.org/show_bug.cgi?id=227819

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Add missings null-checks to avoid calling soup_cookie_jar_get_cookie_list_with_same_site_info()
with a null pointer in site_for_cookies argument.

Covered by existing tests.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):

LayoutTests:

Mark the test as passing (is marked as flaky on the general expectations) and add expectation for passing test.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/cookies/samesite/about-blank-toplevel.https-expected.txt: Added.
1:31 AM Changeset in webkit [279777] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.32.2

WebKitGTK 2.32.2

1:30 AM Changeset in webkit [279776] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.32

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.32.2 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.32.2
1:10 AM Changeset in webkit [279775] by clopez@igalia.com
  • 2 edits in trunk/Tools

[webkitcorepy] run-webkit-tests may hang with python2 after r271683
https://bugs.webkit.org/show_bug.cgi?id=227715

Reviewed by Philippe Normand.

When an exception is raised from a worker if the workers are terminated
via a SIGKILL signal that later causes the task-queue to hang at close().
The issue is not reproducible with python3. So keep the same behaviour for
python3, and for python2 just use terminate() to stop the workers.

  • Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:

(TaskPool.exit):

12:14 AM Changeset in webkit [279774] by commit-queue@webkit.org
  • 1 edit
    2 deletes in trunk/LayoutTests

[GLIB] Unreviewed test gardening, update baselines after r279723
https://bugs.webkit.org/show_bug.cgi?id=227812

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-07-09

  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker-expected.txt: Removed.
Note: See TracTimeline for information about the timeline view.