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

Timeline



Jul 3, 2021:

2:29 PM Changeset in webkit [279547] by dino@apple.com
  • 8 edits in trunk

Move BottomControlsBarHeight and InsideMargin to be computed at runtime
https://bugs.webkit.org/show_bug.cgi?id=227505
<rdar://problem/79932256>

Reviewed by Devin Rousso.

Rather than having two JS constants that have to be kept in sync
with CSS, simply retrieve the value from the computed style.

No change in behaviour.

  • Modules/modern-media-controls/controls/inline-media-controls.js:

(InlineMediaControls.prototype.layout):

  • Modules/modern-media-controls/controls/media-controls.css:

(:host(audio), :host(video.media-document.audio), *):

  • Modules/modern-media-controls/controls/layout-node.js: Add two helpers to

retrieve computed style values.

12:57 PM Changeset in webkit [279546] by Alexey Shvayka
  • 115 edits
    5 adds in trunk

[WebIDL] Rework runtime enabled properties leveraging PropertyCallback
https://bugs.webkit.org/show_bug.cgi?id=227275

Reviewed by Saam Barati.

JSTests:

  • stress/lazy-property-cross-realm.js: Added.
  • stress/lazy-property-get-cache.js: Added.
  • stress/lazy-property-gopd.js: Added.
  • stress/lazy-property-hasownproperty-cache.js: Added.
  • stress/lazy-property-put-cache.js: Added.

Source/JavaScriptCore:

To make the implementation of WebIDL runtime enabled properties independent of eager
property reification, this change:

  1. Introduces IsLazyPropertyEnabledCallback, which is needed separately from existing value callback to maintain the invariant that reifyStaticProperty() always puts a property, and to keep enumeration fast.

Calling disableCaching() isn't enough to achieve correct Get inline caching,
so isTaintedByOpaqueObject() is leveraged to prohibit caching of runtime disabled
properties, just like in operationTryGetByIdOptimize().

The only case that might seem weird is runtime disabled properties, which were
enabled after all static properties were reified via Delete, are not appearing.
It's fixable, yet there is currently no demand for it.

  1. Adds support for LazyPropertyCallback returning GetterSetter / CustomGetterSetter, ensuring correct structure flags and slot initialization. Previously, the callback was used to init only objects and constructors, using putDirect() unconditionally.

To avoid mixing other non-basic attributes with PropertyCallback, which would require
hoisting of checks against PropertyCallback and complicating attribute validation in
HashTableValue methods, this patch checks the type of callback's return value instead.

In the future, sticking to this approach will make returning CustomValue impossible
as it can't be distinguished from CustomAccessor. That's fine because all present
CustomValue usages merely do lazy init, which PropertyCallback is better suited for.

Also, this patch:

  1. Expands setUpStaticFunctionSlot() to handle constant integers so the code using Node.ELEMENT_NODE & friends doesn't regress (proven by attached microbenchmark).
  1. Removes extra checks from setUpStaticPropertySlot(), which is called only on non-reified properties.
  1. Removes invariant that DOMJITAttribute property is read-only, which was broken by document.body having a non-JIT custom setter. This aligns non-reified properties with structure ones.
  • jit/Repatch.cpp:

(JSC::tryCacheGetBy):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setupGetByIdPrototypeCache):

  • runtime/HasOwnPropertyCache.h:

(JSC::HasOwnPropertyCache::tryAdd):

  • runtime/JSObject.cpp:

(JSC::lookupPropertyForPut):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::reifyAllStaticProperties):

  • runtime/JSObject.h:

(JSC::JSObject::getOwnNonIndexPropertySlot):
(JSC::JSObject::fillStructurePropertySlot):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::getNonReifiedStaticPropertyNames):

  • runtime/Lookup.cpp:

(JSC::setUpStaticPropertySlot):
(JSC::setUpStaticFunctionSlot): Deleted.

  • runtime/Lookup.h:

(JSC::HashTableValue::isLazyPropertyEnabled const):
(JSC::getStaticPropertySlotFromTable):
(JSC::reifyStaticProperty):
(JSC::reifyStaticProperties):

  • tools/JSDollarVM.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSDollarVM::finishCreation):

Source/WebCore:

This performance-neutral change makes implementation of runtime enabled properties independent
of eager property reification, slightly optimizing DOM global objects initialization.
A follow-up patch (webkit.org/b/158557) will remove eager property reification of WebIDL
constructors / prototypes, further reducing CPU usage and memory cost on page load.

Provided we reify properties without creating transitions and avoid conversion to a cacheable
dictionary, that should not regress performance & memory usage as well. Non-reified custom
accessors / values are inline-cached, even through JSProxy. DOM methods are reified on first
lookup; the same approach is used for multiple hot JSC built-ins (e.g. StringPrototype).

A huge refactoring was required to keep generation of lazy property callbacks within a single
function. Handling of private identifiers was decoupled from public ones, while hash table
generation for constructors / prototypes / instances was merged into GenerateHashTable.

This approach preserves HashTable's immutability while avoiding addition of extra checks to
entry lookup and memory usage increase. Another important advantage: a feature that was
enabled after its interface was created, immediately becomes usable (no page reload needed).

Also, this change removes all usages of DeletePropertyModeScope from WebCore, which was used
to disable non-configurable constants at runtime, allowing its complete removal in the future.

No new tests, no behavior change.

  • bindings/js/JSDOMBuiltinConstructor.h:
  • bindings/js/JSDOMConstructor.h:
  • bindings/js/JSDOMConstructorNotCallable.h:
  • bindings/js/JSDOMConstructorNotConstructable.h:
  • bindings/scripts/CodeGeneratorJS.pm:

Extract IDLInterface::className() to avoid passing $className as an argument.

(InstanceOperationCount): Deleted.
(PrototypeOperationCount): Deleted.
(InstancePropertyCount): Deleted.
(PrototypePropertyCount): Deleted.
(PrototypeHasStaticPropertyTable): Deleted.
(ConstructorHasProperties):
(PrototypeHasProperties):
(InstanceHasProperties):
Remove *Count helpers because they were incorrect with constants, overloads, private identifiers,
and Symbol.iterator. Instead, do the count in GeneratePropertiesHashTable to avoid duplicate checks.

(GeneratePropertiesHashTable):
(GenerateHashTableValueArray):

  • Compute $hasSetterOrReadonlyProperties early because it's impossible to detect runtime enabled accessors, which are concealed behind PropertyAttribute::PropertyCallback, in GenerateHashTableValueArray.
  • Set HashTable.hasSetterOrReadonlyProperties to true if a read-only value (constant) was seen.

(GenerateRuntimeEnableConditionalString):
Always use provided $globalObjectPtr parameter.

(GenerateHashTable):

  • Simplify name inference for HashTable's values / indices since hash table names never include ":".
  • Nicely simplify generation of hash table kind comment.
  • Set HashTable.classForThis to nullptr for constructors because they can't have DOMAttribute properties.

(GenerateImplementation):

  • Set ReadOnly attribute for runtime read-only accessors that shadow setter from static hash table.
  • Reify "entries" property of an iterable interface to ensure its identity with Symbol.iterator method.

(GeneratePrivateIdentifiers):

  • Add support for accelerated DOM attributes, which are rather common.
  • Add support for static operations, which we have a use case for (see @whenSignalAborted).

(GeneratePrototypeDeclaration):
Set HasStaticPropertyTable structure flag for global interfaces as well, progressing idlharness.js test.

(GenerateConstructorHelperMethods):
Ensure that HasStaticPropertyTable structure flag is set for constructors as well.

(StringifyJSCAttributes):
(GetJSCAttributesForAttribute):
(ShouldBeOnInstance):
(GenerateHeader):
(GetAttributeGetter):
(GetAttributeSetter):
(GetAttributeJSValue):
(GetOperationJSValue):
(GenerateLazyPropertyCallbacks):
(GenerateCallbackImplementationContent):
(GetRuntimeEnabledStaticProperties): Deleted.

  • bindings/scripts/test/JS/*: Updated.
  • bindings/scripts/test/DOMWindowConstructors.idl:
  • bindings/scripts/test/TestEnabledBySetting.idl:
  • bindings/scripts/test/TestObj.idl:

Cover [PrivateIdentifiers] with accelerated DOM attributes, static operations, and constructors.

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
10:43 AM Changeset in webkit [279545] by clopez@igalia.com
  • 21 edits
    4 copies
    1 move
    216 adds
    6 deletes in trunk/LayoutTests

[GTK][WPE] Gardening of expected failures and update list of baselines.

LayoutTests/imported/w3c:

Unreviewed gardening.

  • web-platform-tests/fetch/api/headers/header-values-expected.txt: Removed.
  • web-platform-tests/fetch/api/redirect/redirect-count-expected.txt: Removed.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.CSSHSL-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.toStringFunctionCallback-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.toStringFunctionCallback.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.invalid.inputs-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.invalid.inputs.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.negative.rotation-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.negative.rotation.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.positive.rotation-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.conic.positive.rotation.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.blur.exceptions-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.blur.exceptions.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.colorMatrix-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.colorMatrix.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.discrete-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.discrete.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.gamma-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.gamma.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.identity-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.identity.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.linear-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.linear.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.table-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.componentTransfer.table.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.1.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.1.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.1.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.1.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.2.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.2.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.2.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.2.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.1.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.1.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.1.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.1.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.2.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.2.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.2.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.2.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.3.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.3.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.3.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.3.radii.3.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.1.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.1.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.1.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.1.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.2.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.2.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.2.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.2.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.3.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.3.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.3.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.3.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.4.dompoint-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.4.dompoint.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.4.double-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.4.radii.4.double.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.closed-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.closed.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.1-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.1.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.2-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.2.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.3-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.3.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.4-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.end.4.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.negative-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.negative.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.newsubpath-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.newsubpath.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.nonfinite-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.nonfinite.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.intersecting.1-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.intersecting.1.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.intersecting.2-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.intersecting.2.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.none-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.none.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.toomany-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.radius.toomany.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.selfintersect-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.selfintersect.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.winding-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.winding.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.1-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.1.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.2-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.2.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.3-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.3.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.4-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.4.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.5-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.5.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.6-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/path-objects/2d.path.roundrect.zero.6.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.direction-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.direction.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.rtl.text-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.rtl.text.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.textAlign-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.measure.textAlign.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.nonfinite.spacing-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/text/2d.text.drawing.style.nonfinite.spacing.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.combined.3d.transforms-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.combined.3d.transforms.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.x-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.x.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.y-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.y.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.z-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotate3d.z.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotateAxis-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.rotateAxis.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.scale.3d-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.scale.3d.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.setTransform.3d-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.setTransform.3d.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.transform.3d-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.transform.3d.worker-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.translate.3d-expected.txt: Added.
  • web-platform-tests/html/canvas/offscreen/transformations/2d.transformation.translate.3d.worker-expected.txt: Added.

LayoutTests:

Update list of expected failures, re-baseline imported WPT tests and clean some old expectation files.

Unreviewed gardening.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.https.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/aes_cbc.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Copied from LayoutTests/platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.https.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-csiso2022jp-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/iso-2022-jp/iso2022jp-decode-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-nonascii.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-nonascii.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/headers/header-values.any-expected.txt: Renamed from LayoutTests/platform/wpe/imported/w3c/web-platform-tests/fetch/api/headers/header-values-expected.txt.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/headers/header-values.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/content-length/api-and-duplicate-headers.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/content-length/api-and-duplicate-headers.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/h1-parsing/status-code.window-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.gradient.conic.negative.rotation-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/canvas/element/fill-and-stroke-styles/2d.gradient.conic.positive.rotation-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/canvas/element/path-objects/2d.path.isPointInPath.basic-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/canvas/element/wide-gamut-canvas/2d.color.space.p3.to.srgb-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/getter-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt.
  • platform/glib/imported/w3c/web-platform-tests/html/links/manifest/link-relationship/link-rel-manifest-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-generated-content-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_seek_to_eos-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/video_timeupdate_on_seek-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.tentative-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/import-scripts-cross-origin.https-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/registration-script-module.https-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/windowclient-navigate.https-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any.worker-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/websockets/Send-65K-data.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/websockets/Send-binary-arraybuffer.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/websockets/Send-data.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/websockets/Send-paired-surrogates.any-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/request/request-cache-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/interaction/focus/document-level-focus-apis/document-has-system-focus-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-valueasnumber-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-popup-element/popup-light-dismiss.tentative-expected.txt: Added.
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/elements/the-innertext-and-outertext-properties/getter-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-popup-element/popup-light-dismiss.tentative-expected.txt: Added.
10:27 AM Changeset in webkit [279544] by Alan Bujtas
  • 5 edits
    2 adds in trunk

REGRESSION (r278377): incorrect hit-testing with clip-path()
https://bugs.webkit.org/show_bug.cgi?id=227624
<rdar://problem/79845896>

Reviewed by Simon Fraser.

Source/WebCore:

Use the correct coordinate space for clip-path based hittesting.

  1. The hittest location is in the coordinate space of the painting root (hittesting is similar to painting in this context).
  2. RenderBox::hitTestClipPath's accumulatedOffset (as the name implies) should include the offset from the (paint) hittest root.
  3. The clip-path intersecting takes coordinates relative to the containing block.

Test: fast/clip/hit-test-with-clip-path.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::hitTestVisualOverflow const):
(WebCore::RenderBox::hitTestClipPath const): Make the hittest root coordinates relative to the containing block.
(WebCore::RenderBox::hitTestBorderRadius const):

  • rendering/RenderBox.h: Let's not use locationInContainer name as it is way too generic and misleading.
  • rendering/RenderLayer.cpp: Compute and pass in proper accumulated offset value.

(WebCore::RenderLayer::hitTestLayer):

LayoutTests:

  • fast/clip/hit-test-with-clip-path-expected.txt: Added.
  • fast/clip/hit-test-with-clip-path.html: Added.
7:17 AM Changeset in webkit [279543] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC][TFC] Add support for priority list of width types when expanding columns
https://bugs.webkit.org/show_bug.cgi?id=227627

Reviewed by Antti Koivisto.

Source/WebCore:

When expanding the columns to use the extra space available, we need to prioritize certain columns
with specific width types: fixed > percent > relative > auto
This is _almost_ the reversed version of the shrinking priority list (but not quite).
Now we can have mixed column types across multiple rows with expanding and shrinking columns.

Test: fast/layoutformattingcontext/table-space-mixed-width-type-simple3.html

  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::distributeAvailableSpace):

LayoutTests:

  • fast/layoutformattingcontext/table-space-mixed-width-type-simple3-expected.html: Added.
  • fast/layoutformattingcontext/table-space-mixed-width-type-simple3.html: Added.
12:01 AM Changeset in webkit [279542] by Jean-Yves Avenard
  • 16 edits
    6 adds in trunk

SourceBuffer.abort() doesn't go back to state WAITING_FOR_SEGMENT properly
https://bugs.webkit.org/show_bug.cgi?id=227559
<rdar://problem/79996056>

Reviewed by Eric Carlson.

Source/WebCore:

Per spec, calling sourcebuffer.abort method should allow you to add a new segment
immediately after, as abort moves the append state back to WAITING_FOR_SEGMENT.
A segment can be either an init segment or a media segment.
We used to discard all further content until an init segment was encountered.
This could be problematic due to the typical use case of abort:
1- Seek to a location
2- Append a partial media segment long enough to finish seeking and display the

new content at the new position.

If multiple seeks were done in rapid succession, abort() is called right after
before starting the new seek so that we can add the new segment, regardless of what
was appended before.
YouTube applies a workaround for Safari where it will always append an init segment
after calling abort, this is different to what they do with Firefox (and likely Chrome).
To be able to resume after appending a partial media segment we must ensure that the
SourceBufferParser is always left in a sane context, and not be interrupted at some
random points. The abort() call used to interrupt the buffer parsing on the fly and
then reset things which would require a new init segment to restart.
Instead we always fully parse the pending buffer received befofe the call to abort.
The SourceBufferParserAVFObjC could already properly deal with discontinuity unlike
SourceBufferParserWebM.
To ensure that buffers sent after the call to abort() are only ever processed once
the pending ones have been parsed, and in order to avoid having blocking calls
we play with the order in which tasks are scheduled.

Fly-by fixes:

  • The SourceBufferParser handle two types of parser: SourceBufferParser and the

platform specific AVStreamDataParser. Rename the accessor method to more clearly
differentate which parser we are dealing with.

  • The SourceBufferParserWebM and SourceBufferPrivateAVFObjC used different task dispatching

mechanisms. We make them both share the same one now found in the base class.

Tests: media/media-source/media-mp4-h264-partial-abort.html

media/media-source/media-webm-opus-partial-abort.html

  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:

(WebCore::CDMSessionAVContentKeySession::~CDMSessionAVContentKeySession): rename method.

  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:

(WebCore::CDMSessionAVStreamSession::~CDMSessionAVStreamSession): rename method.
(WebCore::CDMSessionAVStreamSession::update): rename method.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: rename method.

(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): rename method.
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): rename method.

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h: rename method, remove

now unused member.

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::removeCodedFrames): Postpone call to ensure
we are running the remove frame algorithm once all pending frames have been processed.
(WebCore::SourceBufferParserAVFObjC::resetParserState): Remove use of m_discardSamplesUntilNextInitializationSegment.
(WebCore::SourceBufferParserAVFObjC::didParseStreamDataAsAsset): Change to base dispatch method.
(WebCore::SourceBufferParserAVFObjC::didFailToParseStreamDataWithError): Change to base dispatch method.
(WebCore::SourceBufferParserAVFObjC::didProvideMediaDataForTrackID): Change to base dispatch method.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Rename methods. Remove no longer used

members.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData): No longer use a Cancellable task
as we never cancel it anymore.
(WebCore::SourceBufferPrivateAVFObjC::append): re-schedule the append task immediately to ensure
that processed packets flushed on the parser queue during abort are handled in the right order on
the main thread.
(WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Check that abort wasn't called since append started
to ensure that no updateend event is incorrectly fired twice.
(WebCore::SourceBufferPrivateAVFObjC::abort): Abort is now a no-op that only set the m_abortCalled member.
(WebCore::SourceBufferPrivateAVFObjC::resetParserState): Change the order of operations so that the
SourceBufferParser is only reset after it has finished processing its data.
(WebCore::SourceBufferPrivateAVFObjC::destroyStreamDataParser): Use rename method.
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Use rename method.
(WebCore::SourceBufferPrivateAVFObjC::streamDataParser const): Renamed method from "parser"
(WebCore::SourceBufferPrivateAVFObjC::attemptToDecrypt): Use renamed method.

  • platform/graphics/cocoa/SourceBufferParser.cpp:

(WebCore::callOnMainThreadCallback): Move dispatch method from SourceBufferParserWebM
(WebCore::SourceBufferParser::setCallOnClientThreadCallback):
(WebCore::SourceBufferParser::SourceBufferParser):

  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::SourceBufferParserWebM):
(WebCore::SourceBufferParserWebM::resetParserState): Don't clear the data set by parsing
the previous init segment. Set the parsing state to waiting for a new segment if an
init segment has been fully parsed.
(WebCore::SourceBufferParserWebM::OnElementEnd):
(WebCore::SourceBufferParserWebM::OnEbml):
(WebCore::SourceBufferParserWebM::VideoTrackData::reset):
(WebCore::SourceBufferParserWebM::VideoTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::AudioTrackData::reset):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:

LayoutTests:

  • media/media-source/content/test-fragmented-video-manifest.json: Added.
  • media/media-source/content/test-fragmented-video.mp4: Added.
  • media/media-source/media-mp4-h264-partial-abort-expected.txt: Added.
  • media/media-source/media-mp4-h264-partial-abort.html: Added.
  • media/media-source/media-webm-opus-partial-abort-expected.txt: Added.
  • media/media-source/media-webm-opus-partial-abort.html: Added.
  • media/media-source/media-webm-opus-partial.html: fix title.
  • media/media-source/media-webm-vorbis-partial.html: fix title.
  • platform/mac/TestExpectations:

Jul 2, 2021:

11:46 PM Changeset in webkit [279541] by Ruben Turcios
  • 8 edits in branches/safari-612.1.22.11-branch/Source

Versioning.

WebKit-7612.1.22.11.1

11:45 PM Changeset in webkit [279540] by Ruben Turcios
  • 8 edits in branches/safari-612.1.22.3-branch/Source

Versioning.

WebKit-7612.1.22.3.1

11:43 PM Changeset in webkit [279539] by Ruben Turcios
  • 8 edits in branches/safari-612.1.22.2-branch/Source

Versioning.

WebKit-7612.1.22.2.1

11:42 PM Changeset in webkit [279538] by Ruben Turcios
  • 8 edits in branches/safari-612.1.22.1-branch/Source

Versioning.

WebKit-7612.1.22.1.1

11:40 PM Changeset in webkit [279537] by Ruben Turcios
  • 8 edits in branches/safari-612.1.22.0-branch/Source

Versioning.

WebKit-7612.1.22.0.1

9:42 PM Changeset in webkit [279536] by Ruben Turcios
  • 1 copy in branches/safari-612.1.22.11-branch

New branch.

9:41 PM Changeset in webkit [279535] by Ruben Turcios
  • 1 copy in branches/safari-612.1.22.3-branch

New branch.

9:41 PM Changeset in webkit [279534] by Ruben Turcios
  • 1 copy in branches/safari-612.1.22.2-branch

New branch.

9:40 PM Changeset in webkit [279533] by Ruben Turcios
  • 1 copy in branches/safari-612.1.22.1-branch

New branch.

9:40 PM Changeset in webkit [279532] by Ruben Turcios
  • 1 copy in branches/safari-612.1.22.0-branch

New branch.

9:34 PM Changeset in webkit [279531] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.22

Tag Safari-612.1.22.

7:50 PM Changeset in webkit [279530] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warning below since r279498.
warning: redundant move in return statement [-Wredundant-move]

No new tests, no new behavioral changes.

  • css/parser/CSSPropertyParserWorkerSafe.cpp:

(WebCore::CSSPropertyParserHelpersWorkerSafe::consumeFontFaceUnicodeRange):

6:24 PM Changeset in webkit [279529] by Kocsen Chung
  • 5 edits in branches/safari-611.3.10.1-branch/Source/WebCore

Cherry-pick r278964. rdar://problem/79474157

Protect Element before calling dispatchMouseEvent() on it
https://bugs.webkit.org/show_bug.cgi?id=226767
<rdar://problem/79009112>

Reviewed by Ryosuke Niwa.

  • page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): (WebCore::EventHandler::dispatchMouseEvent):
  • page/PointerLockController.cpp: (WebCore::PointerLockController::dispatchLockedMouseEvent):
  • page/Quirks.cpp: (WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

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

6:19 PM Changeset in webkit [279528] by Kocsen Chung
  • 8 edits in branches/safari-611.3.10.1-branch/Source

Versioning.

WebKit-7611.3.10.1.3

6:11 PM Changeset in webkit [279527] by Kocsen Chung
  • 5 edits in branches/safari-611.3.10.0-branch/Source/WebCore

Cherry-pick r278964. rdar://problem/79474157

Protect Element before calling dispatchMouseEvent() on it
https://bugs.webkit.org/show_bug.cgi?id=226767
<rdar://problem/79009112>

Reviewed by Ryosuke Niwa.

  • page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): (WebCore::EventHandler::dispatchMouseEvent):
  • page/PointerLockController.cpp: (WebCore::PointerLockController::dispatchLockedMouseEvent):
  • page/Quirks.cpp: (WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

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

5:33 PM Changeset in webkit [279526] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Unreviewed attempt to fix Mac Catalyst build.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

4:40 PM Changeset in webkit [279525] by aakash_jain@apple.com
  • 1 edit
    1 delete in trunk/Tools

Delete unused BuildSlaveSupport symlink
https://bugs.webkit.org/show_bug.cgi?id=227644

Reviewed by Dewei Zhu.

  • BuildSlaveSupport: Symlink removed.
4:21 PM Changeset in webkit [279524] by Brent Fulgham
  • 3 edits in trunk/Source/WTF

[macOS] Only use WebGL on Metal by default on safe versions of macOS
https://bugs.webkit.org/show_bug.cgi?id=227633
<rdar://problem/78527887>

Reviewed by Dean Jackson.

Tested by WebGL test suite.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/PlatformHave.h:
4:05 PM Changeset in webkit [279523] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed Mac Catalyst build fix after r279514.

  • NetworkProcess/ios/NetworkProcessIOS.mm:
3:52 PM Changeset in webkit [279522] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[BigSur Release wk2] fast/history/visited-href-mutation.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=227639

Unreviewed test gardening.

Patch by Eric Hutchison <Eric Hutchison> on 2021-07-02

  • platform/mac-wk2/TestExpectations:
3:43 PM Changeset in webkit [279521] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark imported/w3c/web-platform-tests/beacon/beacon-basic.https.window.html as flaky

It has been flaky since its import in r279225.

3:40 PM Changeset in webkit [279520] by keith_miller@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Add 10 more unified source cpp files for JSC
https://bugs.webkit.org/show_bug.cgi?id=227643

Reviewed by Alex Christensen.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/generate-unified-sources.sh:
  • UnifiedSources-output.xcfilelist:
3:33 PM Changeset in webkit [279519] by Ruben Turcios
  • 8 edits in branches/safari-612.1.21-branch/Source

Versioning.

WebKit-7612.1.22

3:26 PM Changeset in webkit [279518] by Chris Dumez
  • 8 edits in trunk

[MacOS wk1] crypto/workers/subtle/hrsa-postMessage-worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=227540
<rdar://problem/79977662>

Reviewed by Geoffrey Garen.

Source/WebCore:

The test was sending 2 messages to the worker, the first one with the public key
and the second one for the private key. As the worker would receive those messages,
it would do some checks synchronously and post a message back to the main thread
script with the result. As we could see from the test's expected results, the
main thread script would usually (although flakily) receive the result for the
private key *before* the result for the public key, which was wrong.

The reason for this was that serializing / deserializing the crypto key would
spin the worker's run loop and the worker would thus process incoming messages
while serializing / deserializing a crypto key from a previous message.

To address the issue, we now use a BinarySemaphore to wait for the main thread
to finish the wrapping / unwrapping, instead of spinning the run loop.

No new tests, unskipped existing test.

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::wrapCryptoKey):
(WebCore::WorkerGlobalScope::unwrapCryptoKey):

LayoutTests:

Rebaseline test now that the output is correct (and non-flaky). Also unmark the test as flaky.

  • crypto/workers/subtle/ec-postMessage-worker-expected.txt:
  • crypto/workers/subtle/hrsa-postMessage-worker-expected.txt:
  • crypto/workers/subtle/hrsa-postMessage-worker.html:
  • platform/mac-wk1/TestExpectations:
2:19 PM Changeset in webkit [279517] by Chris Dumez
  • 2 edits in trunk/LayoutTests

REGRESSION (r279427): [ Mac wk1 ] imported/w3c/web-platform-tests/html/rendering/replaced-elements/embedded-content/tall-cross-domain-iframe-in-scrolled.sub.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=227637
<rdar://problem/80102396>

Unreviewed, Skip this newly imported WPT test on mac wk1 as it is timing out on this
platform.

  • platform/mac-wk1/TestExpectations:
2:09 PM Changeset in webkit [279516] by Chris Dumez
  • 20 edits
    19 copies
    38 moves
    13 adds
    33 deletes in trunk/LayoutTests

Resync WebCryptoAPI web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=227601

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Resync WebCryptoAPI web-platform-tests from upstream 2c19d6ee62676ac90146.

  • web-platform-tests/WebCryptoAPI/*: Updated.

LayoutTests:

1:42 PM Changeset in webkit [279515] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.21.2

Tag Safari-612.1.21.2.

1:35 PM Changeset in webkit [279514] by Chris Dumez
  • 14 edits in trunk/Source/WebKit

Take a process assertion in the network process when holding locked files
https://bugs.webkit.org/show_bug.cgi?id=227552

Reviewed by Sihui Liu.

Take a process assertion in the network process when holding locked files. Previously, we'd
send an IPC to the UIProcess and the UIProcess would take the assertion on behalf of the
network process. However, our previous approach was racy and could cause the network process
to still get suspended while still holding locked files (which would get it killed).

We have evidence that the network process is getting killed a lot for this reason
(rdar://79787123).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):
Call setIsHoldingLockedFiles() when the "isHoldingLockedFiles" state changes instead of sending
an IPC to the UIProcess. setIsHoldingLockedFiles() takes care of taking or releasing a
RunningBoard assertion.

(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
Stop calling setSuspended() on the WebSQLiteDatabaseTracker. The purpose was to avoid sending
the SetIsHoldingLockedFiles IPC to the UIProcess after receiving the PrepareToSuspend IPC.
However, it is now acceptable to take a process assertion after PrepareToSuspend IPC has been
received.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::setIsHoldingLockedFiles):
When setIsHoldingLockedFiles(true) gets called, we take a runningboard assertion to prevent
suspension. Note that setIsHoldingLockedFiles(true) gets on the storage thread (which started
the SQLite transaction) so we take the assertion synchronously to make sure we cannot get
suspended during a SQLite transaction.
When setIsHoldingLockedFiles(false) gets called, we release the runningboard assertion.

  • Shared/WebSQLiteDatabaseTracker.cpp:

(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::~WebSQLiteDatabaseTracker):
(WebKit::WebSQLiteDatabaseTracker::setIsSuspended):
(WebKit::WebSQLiteDatabaseTracker::willBeginFirstTransaction):
(WebKit::WebSQLiteDatabaseTracker::didFinishLastTransaction):
(WebKit::WebSQLiteDatabaseTracker::setIsHoldingLockedFiles):

  • Shared/WebSQLiteDatabaseTracker.h:

Update WebSQLiteDatabaseTracker so that it called its isHoldingLockedFilesHandler lambda
directly on the storage thread when the first transaction starts, instead of dispatching
to the main thread. Dispatching to the main thread would be racy as it would mean taking
the process assertion asynchronously (on the main thread), after the SQLite transaction
has begun on the storage thread.
As a result, of this change, I am not using the HysterisActivity class anymore and using
my own thread-safe hysteresis activity using RunLoop::dispatchAfter() with an integer
and a lock.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessDidTerminate):
(WebKit::NetworkProcessProxy::sendProcessDidResume):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:

Drop the SetIsHoldingLockedFiles IPC and its handling on UIProcess side since the network
process now takes the assertion by itself.

1:33 PM Changeset in webkit [279513] by Chris Dumez
  • 18 edits
    39 adds
    1 delete in trunk/LayoutTests

Resync encoding web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=227602

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Resync encoding web-platform-tests from upstream 2c19d6ee62676ac90146.

  • web-platform-tests/encoding/*: Updated.

LayoutTests:

1:22 PM Changeset in webkit [279512] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Regression(r278786) LocalStorageDatabase's transaction may be remain active when process gets suspended
https://bugs.webkit.org/show_bug.cgi?id=227632

Reviewed by Geoffrey Garen.

After r278786, LocalStorageDatabase has a SQL transaction that gets committed with a 500ms delay on the
storage thread. When the network process would receive the PrepareToSuspend IPC, it would suspend / hang
the storage thread, which would prevent the SQL transaction from getting committed and we would suspend
with a locked file and get killed. We now make sure to flush local storage to disk (i.e. commit that
transaction) before we suspend / hang the storage thread.

  • NetworkProcess/WebStorage/StorageManagerSet.cpp:

(WebKit::StorageManagerSet::waitUntilSyncingLocalStorageFinished):
(WebKit::StorageManagerSet::flushLocalStorage):
(WebKit::StorageManagerSet::suspend):

  • NetworkProcess/WebStorage/StorageManagerSet.h:
1:22 PM Changeset in webkit [279511] by Truitt Savell
  • 2 edits
    8 copies
    3 adds
    2 deletes in trunk/LayoutTests

Unreviewed, reverting r279485.

Broke expectations for 7 mathML test on Big Sur wk1

Reverted changeset:

"Move some Mac MathML test expectation files around"
https://bugs.webkit.org/show_bug.cgi?id=227520
https://commits.webkit.org/r279485

12:19 PM Changeset in webkit [279510] by commit-queue@webkit.org
  • 11 edits
    6 adds in trunk/Source/WebInspectorUI

Web Inspector: add contextual documentation for CSS properties
https://bugs.webkit.org/show_bug.cgi?id=226883

Patch by Harshil Ratnu <hratnu@apple.com> on 2021-07-02
Reviewed by Devin Rousso.

Overview: Add contextual documentation for all supported CSS properties in Styles and Computed panel within Web
Inspector.
Details: Add an info button which appears next to the property field on Hover. Clicking on the info button shows
a popover with the documentation for the property. Tabbing out or clicking anywhere other than the value field
dismisses the popover.
Architecture: Add a ContextualDocumentationButton in SpreadsheetStyleProperty and append that to the end of the
property content. This Button, when clicked, creates an instance of the ContextualDocumentation.js which will
search the ContextualDocumentationDB to find the related property and it's relevant details. Embed these details
in an instance of Popover.js and present next to the associated propertyName.

  • Localizations/en.lproj/localizedStrings.js:
  • Scripts/copy-user-interface-resources.pl:

Add details for the ContextualDocumentationDatabase from External Folder to build properly.

  • UserInterface/Base/Setting.js:

Add setting to show syntax in documentation popover and define default state as false.

  • UserInterface/External/ContextualDocumentationDatabase/ContextualDocumentationDatabase.js: Added.
  • UserInterface/External/ContextualDocumentationDatabase/LICENSE: Added.
  • UserInterface/Images/InfoIcon.svg: Added.
  • UserInterface/Main.html:

Add and link new files.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-variables .property .go-to-arrow):
(.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-variables .property:not(:hover) .go-to-arrow):
Remove absolute positioning from go-to-arrow button to align it with rest of the text in line and style it
similar to contextual-documentation-button.
(.sidebar > .panel.details.css-style > .content > .computed .property .go-to-arrow): Deleted.
(.sidebar > .panel.details.css-style > .content > .computed .property:not(:hover) .go-to-arrow): Deleted.
Change hover area to include white space on the side of computed variables.

  • UserInterface/Views/ComputedStyleSection.css:

(.sidebar > .panel.details.css-style > .content > .computed .computed-property-item > .property .go-to-arrow):
(.sidebar > .panel.details.css-style > .content > .computed .computed-property-item:not(:hover) > .property .go-to-arrow):
(.sidebar > .panel.details.css-style > .content > .computed .computed-property-item > .property > .content > .contextual-documentation-button):
(.sidebar > .panel.details.css-style > .content > .computed .computed-property-item:not(:hover) > .property > .content > .contextual-documentation-button):
Add unifrom styling for go-to-arrow button and contextual-documentation-button for computed properties.

  • UserInterface/Views/ContextualDocumentationPopover.css: Added.

(.popover .documentation-popover-content):
(.popover .documentation-popover-content > p):
(.popover .documentation-popover-content > .name-header):
(.popover .documentation-popover-content > .syntax):
(.popover .documentation-popover-content > .syntax > .syntax-title):
(.popover .documentation-popover-content > .reference-link):

  • UserInterface/Views/ContextualDocumentationPopover.js: Added.

(WI.ContextualDocumentationPopover):
(WI.ContextualDocumentationPopover.prototype.show):
(WI.ContextualDocumentationPopover.prototype._presentOverTargetElement):
(WI.ContextualDocumentationPopover.prototype._getDocumentationDetails):
(WI.ContextualDocumentationPopover.prototype._createDocumentationElement):
Add new class that extends Popover.js and handles fetching the values from VS Code documentation, puts relevant
information in the popover and presents the popover when the documentation-button is clicked.

  • UserInterface/Views/Main.css:

(.contextual-documentation-button):
(.contextual-documentation-button:active):
(@media (prefers-color-scheme: dark) .contextual-documentation-button):
Add general styling for contextualDocumentationButton.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createElementsSettingsView):
Add a new setting in Elements Tab to show syntax.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.willDismissPopover):
Add a method - willDismissPopover to handle changes when the documentation popover is about to dismiss.
(WI.SpreadsheetStyleProperty.prototype.update):
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
(WI.SpreadsheetStyleProperty.prototype._addContextualDocumentationButton):
Add a method which gets called for all property fields and also gets called when property name is changed and
updated by clicking out of the property name field or tabbing into the next value field and is responsible for
adding the info button add the end of the property.
(WI.SpreadsheetStyleProperty.prototype._handleContextualDocumentationButtonClicked):
(WI.SpreadsheetStyleProperty.prototype._presentContextualDocumentation):
Add a method which creates an instance of the ContextualDocumentationPopover.js class and shows it.

10:57 AM Changeset in webkit [279509] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

WebPageProxy::setAppHighlightsVisibility might send message from a background thread, ASSERTing
<rdar://80056481> and https://bugs.webkit.org/show_bug.cgi?id=227607

Reviewed by Chris Dumez.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::setAppHighlightsVisibility):
(WebKit::WebPageProxy::setUpHighlightsObserver): The callback we get here is often on a background thread.

So bounce it to main.

10:55 AM Changeset in webkit [279508] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][TFC] Keep track of both the fixed and percent maximum values for each column
https://bugs.webkit.org/show_bug.cgi?id=227491

Reviewed by Antti Koivisto.

This patch is in preparation for supporting mixed column width types when each row
has diffrent type of widths (e.g <tr><td style="width: 100px;"></td></tr><tr><td style="width: 10%;"></td></tr>)

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):

10:41 AM Changeset in webkit [279507] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

[ BigSur Release Arm64 ] imported/w3c/web-platform-tests/resource-timing/resource_timing.worker.html is a flakey text failure
https://bugs.webkit.org/show_bug.cgi?id=223472

Unreviewed test gardening.

Patch by Eric Hutchison <Eric Hutchison> on 2021-07-02

  • platform/mac-wk1/TestExpectations: Removing obsolete failure expectation.
  • platform/mac/TestExpectations: Mark test as flaky.
9:05 AM Changeset in webkit [279506] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[GTK] Add new revision variable in pkgconfig file
https://bugs.webkit.org/show_bug.cgi?id=227629

Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-02
Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • javascriptcoregtk.pc.in: Include SVN_REVISION as revision variable, useful for apps to

know on which upstream SVN revision their WebKitGTK-based app is built on.

Source/WebKit:

Include SVN_REVISION as revision variable, useful for apps to know on which upstream SVN
revision their WebKitGTK-based app is built on.

  • gtk/webkit2gtk-web-extension.pc.in:
  • gtk/webkit2gtk.pc.in:
8:38 AM Changeset in webkit [279505] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, reverting r279494.
https://bugs.webkit.org/show_bug.cgi?id=227628

Broke api test
TestWebKitAPI.WKWebView.LoadSimulatedRequestUpdatesBackForwardList

Reverted changeset:

"loadSimulatedRequest: should do same delegate callbacks as
loadHTMLString and loadData"
https://bugs.webkit.org/show_bug.cgi?id=227599
https://commits.webkit.org/r279494

8:28 AM Changeset in webkit [279504] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][TFC] TableGrid::Column holds both the computed and the used width values
https://bugs.webkit.org/show_bug.cgi?id=227488

Reviewed by Antti Koivisto.

This patch cleans up TableGrid::Column interface to ensure we don't confused
the computed and the used widths for columns.
This is also in prepartion for adding mixed width type support.

  • layout/formattingContexts/table/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):

  • layout/formattingContexts/table/TableFormattingGeometry.cpp:

(WebCore::Layout::TableFormattingGeometry::horizontalSpaceForCellContent const):

  • layout/formattingContexts/table/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::setLogicalWidth): Deleted.
(WebCore::Layout::TableGrid::Column::logicalWidth const): Deleted.
(WebCore::Layout::TableGrid::Column::setLogicalLeft): Deleted.
(WebCore::Layout::TableGrid::Column::logicalLeft const): Deleted.

  • layout/formattingContexts/table/TableGrid.h:

(WebCore::Layout::TableGrid::Column::usedLogicalRight const):
(WebCore::Layout::TableGrid::Column::computedLogicalWidth const):
(WebCore::Layout::TableGrid::Columns::logicalWidth const):
(WebCore::Layout::TableGrid::Column::setComputedLogicalWidth):
(WebCore::Layout::TableGrid::Column::setUsedLogicalWidth):
(WebCore::Layout::TableGrid::Column::usedLogicalWidth const):
(WebCore::Layout::TableGrid::Column::setUsedLogicalLeft):
(WebCore::Layout::TableGrid::Column::usedLogicalLeft const):
(WebCore::Layout::TableGrid::Column::logicalRight const): Deleted.
(WebCore::Layout::TableGrid::Column::fixedWidth const): Deleted.
(WebCore::Layout::TableGrid::Column::percent const): Deleted.
(WebCore::Layout::TableGrid::Column::setFixedWidth): Deleted.
(WebCore::Layout::TableGrid::Column::setPercent): Deleted.

  • layout/formattingContexts/table/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedHorizontalSpace):

7:45 AM Changeset in webkit [279503] by commit-queue@webkit.org
  • 7 edits
    4 deletes in trunk

Unreviewed, reverting r279487.
https://bugs.webkit.org/show_bug.cgi?id=227626

Added broken ios-wk2 test

Reverted changeset:

"WebAudio auto-play policy should come from top document"
https://bugs.webkit.org/show_bug.cgi?id=227593
https://commits.webkit.org/r279487

7:13 AM Changeset in webkit [279502] by Razvan Caliman
  • 8 edits in trunk

Web Inspector: Styles: should autocomplete var() and attr() values
https://bugs.webkit.org/show_bug.cgi?id=227098
<rdar://problem/79418247>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Add support for completion suggestions in the Styles details sidebar panel
for CSS Variables for use with var() and DOM node attributes for use with attr().

  • UserInterface/Models/CSSCompletions.js:

(WI.CSSCompletions.prototype.addValues):

  • UserInterface/Models/CSSKeywordCompletions.js:
  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles):
(WI.DOMNodeStyles.prototype.get allCSSVariables):
(WI.DOMNodeStyles.prototype._updateStyleCascade):
(WI.DOMNodeStyles.prototype._collectCSSVariables):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.getFunctionValueCompletions):
(WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):

LayoutTests:

Add test cases for contextual CSS function value completion.

  • inspector/unit-tests/css-keyword-completions-expected.txt:
  • inspector/unit-tests/css-keyword-completions.html:
1:13 AM Changeset in webkit [279501] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION (r279477): WebKit_iosmac failed to build in : ModelElementControllerCocoa.mm:58:24: member reference type 'WebKit::WebPageProxy' is not a pointer; did you mean to use '.'?
https://bugs.webkit.org/show_bug.cgi?id=227612
<rdar://problem/80054936>

Reviewed by Alan Bujtas.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::takeModelElementFullscreen):

12:09 AM Changeset in webkit [279500] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Make LocalSampleBufferDisplayLayer::requestNotificationWhenReadyForVideoData hop to main thread before hopping to processing thread
https://bugs.webkit.org/show_bug.cgi?id=227444
<rdar://79413368>

Reviewed by Chris Dumez.

It is safer to hop to main thread in requestNotificationWhenReadyForVideoData callback so that we can check weakThis safely.
When in main thread, hop to processing thread if LocalSampleBufferDisplayLayer is alive.

  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::~LocalSampleBufferDisplayLayer):
(WebCore::LocalSampleBufferDisplayLayer::requestNotificationWhenReadyForVideoData):

12:01 AM Changeset in webkit [279499] by calvaris@igalia.com
  • 4 edits in trunk

[GTK] media/event-attributes.html fails if mixer is not at 100%
https://bugs.webkit.org/show_bug.cgi?id=83704

Reviewed by Philippe Normand.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues): GStreamer
ports use fakesink to avoid sound output and setting the page
volume to 0 creates trouble with volume events. Let's avoid it in
GStreamer ports.

LayoutTests:

  • platform/glib/TestExpectations: Unflagged that test and other

that get fixed with this patch.

Note: See TracTimeline for information about the timeline view.