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

Timeline



Jul 15, 2019:

11:14 PM Changeset in webkit [247476] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Remove redundant WebsiteDataStoreConfiguration member
https://bugs.webkit.org/show_bug.cgi?id=199820

Patch by Alex Christensen <achristensen@webkit.org> on 2019-07-15
Reviewed by Geoffrey Garen.

m_webStorageDirectory was only used for _WKWebsiteDataStoreConfiguration._webStorageDirectory's backing,
which was copied over to m_localStorageDirectory of a new object in WKWebsiteDataStore's _initWithConfiguration.
This is a baby step towards cleaning up this mess with no behavior change. I see no reason to rename the SPI.

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration _webStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setWebStorageDirectory:]):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::webStorageDirectory const): Deleted.
(WebKit::WebsiteDataStoreConfiguration::setWebStorageDirectory): Deleted.

9:44 PM Changeset in webkit [247475] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[macOS WK2] Layout Test http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=198670

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Mark test as flaky.
9:37 PM Changeset in webkit [247474] by keith_miller@apple.com
  • 18 edits in trunk

JSGlobalObject type macros should support feature flags and WeakRef should have one
https://bugs.webkit.org/show_bug.cgi?id=199601

Reviewed by Mark Lam.

Source/JavaScriptCore:

This patch refactors the various builtin type macros to have a
parameter, which is the feature flag enabling it. Since most
builtin types are enabled by default this patch adds a new global
bool typeExposedByDefault for clarity. Note, because static hash
tables have no concept of feature flags we can't use feature flags
with lazy properties. This is probably not a big deal as features
that are off by default won't be allocated anywhere we care about
memory usage anyway.

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::stringObjectStructure const):
(JSC::JSGlobalObject::bigIntObjectStructure const): Deleted.

  • runtime/Options.h:
  • wasm/js/JSWebAssembly.cpp:

Tools:

JSC options need to be set before the window is created for the test.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setJSCOptions):
(resetWebViewToConsistentStateBeforeTesting):

LayoutTests:

Add JSC option requirements for WeakRef tests.

  • js/script-tests/weakref-async-is-collected.js:
  • js/script-tests/weakref-eventually-collects-values.js:
  • js/script-tests/weakref-microtasks-dont-collect.js:
  • js/script-tests/weakref-weakset-consistency.js:
  • js/weakref-async-is-collected.html:
  • js/weakref-eventually-collects-values.html:
  • js/weakref-microtasks-dont-collect.html:
  • js/weakref-weakset-consistency.html:
9:35 PM Changeset in webkit [247473] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Make WKURLSchemeTask thread safe
https://bugs.webkit.org/show_bug.cgi?id=199764

Unreviewed build fix for WinCairo port.

Source\WebKit\UIProcess\socket\RemoteInspectorProtocolHandler.cpp(82): error C2039: 'request': is not a member of 'WebKit::WebURLSchemeTask'

  • UIProcess/WebURLSchemeTask.h:

(WebKit::WebURLSchemeTask::request const): Restored WebURLSchemeTask::request with a threading assertion.

9:27 PM Changeset in webkit [247472] by Ryan Haddad
  • 15 edits
    4 deletes in trunk

Unreviewed, rolling out r247444.

Caused two scrolling tests to fail on iOS Simulator

Reverted changeset:

"Typing into a cell in a Google Sheet lags behind by one
character"
https://bugs.webkit.org/show_bug.cgi?id=199587
https://trac.webkit.org/changeset/247444

9:26 PM Changeset in webkit [247471] by keith_miller@apple.com
  • 5 edits
    1 add in trunk

A Possible Issue of Object.create method
https://bugs.webkit.org/show_bug.cgi?id=199744

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/object-create-non-object-properties-parameter.js: Added.

(catch):

Source/JavaScriptCore:

We should call toObject on the properties argument if it was not undefined.
See: https://tc39.es/ecma262/#sec-object.create

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorCreate):

LayoutTests:

Rebaseline error message due to change of error point.

  • js/Object-create-expected.txt:
9:24 PM Changeset in webkit [247470] by Alan Bujtas
  • 6 edits in trunk/Source

outlook.live.com has odd viewport with edge gap
https://bugs.webkit.org/show_bug.cgi?id=199822
<rdar://problem/53029072>

Reviewed by Wenson Hsieh.

Source/WebCore:

r244944 introduced a viewport width quirk because at certain screen size outlook.live.com's flex setup produced a slighly broken layout.
We don't seem to need this quirk anymore (composed column's min-width is removed.)

  • page/Quirks.cpp:

(WebCore::Quirks::shouldIgnoreShrinkToFitContent const): Deleted.
(WebCore::Quirks::overriddenViewLayoutWidth const): Deleted.

  • page/Quirks.h:

Source/WebKit:

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::resetViewportDefaultConfiguration):
(WebKit::WebPage::immediatelyShrinkToFitContent):
(WebKit::WebPage::viewLayoutSizeAdjustedForQuirks): Deleted.

9:11 PM Changeset in webkit [247469] by keith_miller@apple.com
  • 49 edits
    18 copies
    159 adds
    5 deletes in trunk/JSTests

Update test262
https://bugs.webkit.org/show_bug.cgi?id=199801

Rubber-stamped by Yusuke Suzuki.

  • test262/expectations.yaml:
  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/Symbol.toStringTag.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-job-not-active-throws.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-length.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-missing-internal-throws.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-name.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-not-object-throws.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-prop-desc.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/proto.js: Added.

(callback):
(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/constructor.js: Added.
  • test262/test/built-ins/FinalizationGroup/gc-has-one-chance-to-call-cleanupCallback.js: Added.

(cb):
(fg.new.FinalizationGroup):
(emptyCells):
(async.fn):
(fn.then.async):

  • test262/test/built-ins/FinalizationGroup/instance-extensible.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/length.js: Added.
  • test262/test/built-ins/FinalizationGroup/name.js: Added.
  • test262/test/built-ins/FinalizationGroup/newtarget-prototype-is-not-object.js: Added.

(newTarget):
(fn):

  • test262/test/built-ins/FinalizationGroup/prop-desc.js: Added.
  • test262/test/built-ins/FinalizationGroup/proto-from-ctor-realm.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/proto.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype-from-newtarget-abrupt.js: Added.

(newTarget):

  • test262/test/built-ins/FinalizationGroup/prototype-from-newtarget-custom.js: Added.

(newTarget):

  • test262/test/built-ins/FinalizationGroup/prototype-from-newtarget.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/Symbol.toStringTag.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/callback-iterator-proto.js: Added.

(callback):
(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/callback-not-callable-throws.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-reference.js: Added.

(cb):
(fg.new.FinalizationGroup):
(emptyCells):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-unregister.js: Added.

(fg.new.FinalizationGroup):
(fg.cleanupSome.cb):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanupcallback-iterator-proto.js: Added.

(callback):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/custom-this.js: Added.

(fn):
(cb):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/gc-cleanup-not-prevented-with-wr-deref.js: Added.

(cb):
(fg.new.FinalizationGroup):
(emptyCells):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/iterator-dynamic.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/iterator-holdings-multiple-values.js: Added.

(fg.new.FinalizationGroup):
(callback):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/length.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/name.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/poisoned-callback-throws.js: Added.

(poisoned):
(fg.new.FinalizationGroup):
(emptyCells):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/poisoned-cleanup-callback-throws.js: Added.

(poisoned):
(emptyCells):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/prop-desc.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/return-undefined-with-gc.js: Added.

(fn):
(cb):
(emptyCells):
(prototype.assert.sameValue.fg.cleanupSome):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/return-undefined.js: Added.

(fn):
(cb):
(poisoned):
(assert.sameValue.fg.cleanupSome):
(prototype.assert.sameValue.fg.cleanupSome):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js: Added.

(cb):

  • test262/test/built-ins/FinalizationGroup/prototype/cleanupSome/this-not-object-throws.js: Added.

(cb):

  • test262/test/built-ins/FinalizationGroup/prototype/constructor.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/prop-desc.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/proto.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/custom-this.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/register/holdings-any-value-type.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/register/holdings-same-as-target.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/register/length.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/name.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/prop-desc.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/return-undefined-register-itself.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/register/return-undefined.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/register/target-not-object-throws.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/register/this-does-not-have-internal-target-throws.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/this-not-object-throws.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-not-object-or-undefined-throws.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings-and-target.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-target.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/prototype/unregister/custom-this.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/unregister/length.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/name.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/prop-desc.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/this-does-not-have-internal-cells-throws.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/this-not-object-throws.js: Added.
  • test262/test/built-ins/FinalizationGroup/prototype/unregister/unregister.js: Added.

(fn):

  • test262/test/built-ins/FinalizationGroup/prototype/unregister/unregisterToken-not-object-throws.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/returns-new-object-from-constructor.js: Added.

(cleanupCallback):
(let.key.of.Object.getOwnPropertyNames):
(set for):

  • test262/test/built-ins/FinalizationGroup/target-not-callable-throws.js: Added.
  • test262/test/built-ins/FinalizationGroup/undefined-newtarget-throws.js: Added.

(FinalizationGroup):

  • test262/test/built-ins/FinalizationGroup/unnaffected-by-poisoned-cleanupCallback.js: Added.

(cleanupCallback):
(let.key.of.Object.getOwnPropertyNames):
(set for):

  • test262/test/built-ins/Function/StrictFunction_restricted-properties.js:
  • test262/test/built-ins/Function/prototype/bind/BoundFunction_restricted-properties.js:
  • test262/test/built-ins/Function/prototype/restricted-property-arguments.js:
  • test262/test/built-ins/Function/prototype/restricted-property-caller.js:
  • test262/test/built-ins/Object/prototype/toString/proxy-function-async.js: Added.

(asyncProxy.new.Proxy.async):

  • test262/test/built-ins/Object/prototype/toString/proxy-function.js:

(asyncProxy.new.Proxy.async):

  • test262/test/built-ins/Object/prototype/toString/symbol-tag-non-str-builtin.js: Added.

(setIter.set Symbol):
(set defaultTag):
(gen):
(get return):
(set new):

  • test262/test/built-ins/Object/prototype/toString/symbol-tag-non-str-proxy-function.js: Added.

(generatorProxy.new.Proxy):
(asyncProxy.new.Proxy.async):

  • test262/test/built-ins/Object/subclass-object-arg.js:
  • test262/test/built-ins/Promise/all/invoke-resolve-get-error-close.js:
  • test262/test/built-ins/Promise/all/resolve-element-function-name.js:
  • test262/test/built-ins/Promise/allSettled/invoke-resolve-get-error-close.js:
  • test262/test/built-ins/Promise/allSettled/reject-element-function-name.js:
  • test262/test/built-ins/Promise/allSettled/resolve-element-function-name.js:
  • test262/test/built-ins/Promise/executor-function-name.js:
  • test262/test/built-ins/Promise/race/invoke-resolve-get-error-close.js:
  • test262/test/built-ins/Promise/reject-function-name.js:
  • test262/test/built-ins/Promise/resolve-function-name.js:
  • test262/test/built-ins/Set/prototype/values/does-not-have-setdata-internal-slot-weakset.js:
  • test262/test/built-ins/WeakRef/constructor.js: Added.
  • test262/test/built-ins/WeakRef/instance-extensible.js: Added.
  • test262/test/built-ins/WeakRef/length.js: Added.
  • test262/test/built-ins/WeakRef/name.js: Added.
  • test262/test/built-ins/WeakRef/newtarget-prototype-is-not-object.js: Added.

(newTarget):

  • test262/test/built-ins/WeakRef/prop-desc.js: Added.
  • test262/test/built-ins/WeakRef/proto-from-ctor-realm.js: Added.
  • test262/test/built-ins/WeakRef/proto.js: Added.
  • test262/test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js: Added.

(newTarget):

  • test262/test/built-ins/WeakRef/prototype-from-newtarget-custom.js: Added.

(newTarget):

  • test262/test/built-ins/WeakRef/prototype-from-newtarget.js: Added.
  • test262/test/built-ins/WeakRef/prototype/Symbol.toStringTag.js: Added.
  • test262/test/built-ins/WeakRef/prototype/constructor.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/custom-this.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js: Added.

(emptyCells):

  • test262/test/built-ins/WeakRef/prototype/deref/length.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/name.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/prop-desc.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/return-target.js: Added.
  • test262/test/built-ins/WeakRef/prototype/deref/this-does-not-have-internal-target-throws.js: Added.

(fg.new.FinalizationGroup):

  • test262/test/built-ins/WeakRef/prototype/deref/this-not-object-throws.js: Added.
  • test262/test/built-ins/WeakRef/prototype/prop-desc.js: Added.
  • test262/test/built-ins/WeakRef/prototype/proto.js: Added.
  • test262/test/built-ins/WeakRef/returns-new-object-from-constructor.js: Added.

(let.key.of.Object.getOwnPropertyNames):
(set for):

  • test262/test/built-ins/WeakRef/target-not-object-throws.js: Added.
  • test262/test/built-ins/WeakRef/undefined-newtarget-throws.js: Added.
  • test262/test/intl402/BigInt/prototype/toLocaleString/builtin.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/default-options-object-prototype.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/length.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/returns-same-results-as-NumberFormat.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/taint-Intl-NumberFormat.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/this-value-invalid.js:
  • test262/test/intl402/BigInt/prototype/toLocaleString/throws-same-exceptions-as-NumberFormat.js:
  • test262/test/intl402/DateTimeFormat/constructor-options-order-quarter.js: Removed.
  • test262/test/intl402/DateTimeFormat/constructor-options-quarter-invalid.js: Removed.
  • test262/test/intl402/DateTimeFormat/constructor-options-quarter-valid.js: Removed.
  • test262/test/intl402/DateTimeFormat/prototype/format/dayPeriod-long-en.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/format/dayPeriod-narrow-en.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/format/dayPeriod-short-en.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/format/fractionalSecondDigits.js: Added.
  • test262/test/intl402/DateTimeFormat/prototype/formatRange/argument-date-string.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRange/argument-near-time-boundaries.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRange/argument-to-integer.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRange/builtin.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRange/prop-desc.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRangeToParts/argument-date-string.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRangeToParts/argument-near-time-boundaries.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRangeToParts/argument-to-integer.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRangeToParts/builtin.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatRangeToParts/prop-desc.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-long-en.js: Added.

(assertParts):
(assertPartsNumeric):

  • test262/test/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-narrow-en.js: Added.

(assertParts):
(assertPartsNumeric):

  • test262/test/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-short-en.js: Added.

(assertParts):
(assertPartsNumeric):

  • test262/test/intl402/DateTimeFormat/prototype/formatToParts/fractionalSecondDigits.js: Added.

(assertParts):

  • test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-quarter.js: Removed.
  • test262/test/intl402/DateTimeFormat/taint-Object-prototype-quarter.js: Removed.
  • test262/test/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js:
  • test262/test/intl402/RelativeTimeFormat/prototype/formatToParts/en-us-numeric-auto.js:
  • test262/test/language/expressions/arrow-function/ArrowFunction_restricted-properties.js:
  • test262/test/language/expressions/class/elements/private-field-access-on-inner-arrow-function.js: Added.

(C.prototype.method):

  • test262/test/language/expressions/class/elements/private-field-access-on-inner-function.js: Added.

(C.prototype.method.innerFunction):
(C.prototype.method):

  • test262/test/language/expressions/class/elements/private-getter-access-on-inner-arrow-function.js: Added.

(C):
(C.method):

  • test262/test/language/expressions/class/elements/private-getter-access-on-inner-function.js: Added.

(C):
(C.method.innerFunction):
(C.method):

  • test262/test/language/expressions/class/elements/private-getter-is-not-a-own-property.js: Added.

(C):
(C.checkPrivateGetter):

  • test262/test/language/expressions/class/elements/private-method-access-on-inner-arrow-function.js: Added.

(C):
(C.method):

  • test262/test/language/expressions/class/elements/private-method-access-on-inner-function.js: Added.

(C):
(C.method.innerFunction):
(C.method):

  • test262/test/language/expressions/class/elements/private-method-is-not-a-own-property.js: Added.

(C):
(C.checkPrivateMethod):

  • test262/test/language/expressions/class/elements/private-setter-access-on-inner-arrow-function.js: Added.

(C):
(C.method):

  • test262/test/language/expressions/class/elements/private-setter-access-on-inner-function.js: Added.

(C):
(C.method.innerFunction):
(C.method):

  • test262/test/language/expressions/class/elements/private-setter-is-not-a-own-property.js: Added.

(C):
(C.checkPrivateSetter):

  • test262/test/language/expressions/class/elements/prod-private-getter-before-super-return-in-field-initializer.js:
  • test262/test/language/expressions/class/elements/prod-private-method-before-super-return-in-field-initializer.js:
  • test262/test/language/expressions/class/elements/prod-private-setter-before-super-return-in-field-initializer.js:
  • test262/test/language/expressions/class/poisoned-underscore-proto.js: Added.
  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-eval-indirect.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-eval.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-factory.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(const.C):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.prototype.m):
(let.classStringExpression.return.prototype.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-realm-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.prototype.m):
(let.classStringExpression.return.prototype.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-getter-brand-check-multiple-evaluations-of-class-realm.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-eval-indirect.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.prototype.m):
(let.classStringExpression.prototype.access):
(let.classStringExpression):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-eval.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.prototype.m):
(let.classStringExpression.prototype.access):
(let.classStringExpression):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-factory.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(const.C):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.C.prototype.m):
(let.classStringExpression.return.C.prototype.access):
(let.classStringExpression.return.C):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-realm-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.C.prototype.m):
(let.classStringExpression.return.C.prototype.access):
(let.classStringExpression.return.C):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-method-brand-check-multiple-evaluations-of-class-realm.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-eval-indirect.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-eval.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-factory.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(const.C):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.prototype.m):
(let.classStringExpression.return.prototype.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-realm-function-ctor.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression.return.prototype.m):
(let.classStringExpression.return.prototype.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/class/private-setter-brand-check-multiple-evaluations-of-class-realm.js: Copied from JSTests/test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js.

(let.classStringExpression):
(let.classStringExpression.access):
(let.createAndInstantiateClass):

  • test262/test/language/expressions/new.target/unary-expr.js: Added.

(new):
(async):

  • test262/test/language/expressions/super/call-poisoned-underscore-proto.js: Added.

(A):

  • test262/test/language/expressions/super/prop-poisoned-underscore-proto.js: Added.
  • test262/test/language/identifiers/vals-cjk-escaped.js: Added.
  • test262/test/language/identifiers/vals-cjk.js: Added.
  • test262/test/language/statements/class/elements/private-class-field-on-frozen-objects.js:
  • test262/test/language/statements/class/elements/private-field-access-on-inner-arrow-function.js: Added.

(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-field-access-on-inner-function.js: Added.

(C.prototype.method.innerFunction):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-field-is-not-clobbered-by-computed-property.js: Added.

(C.prototype.checkPrivateField):
(C):

  • test262/test/language/statements/class/elements/private-field-visible-to-direct-eval-on-initializer.js: Added.

(C):

  • test262/test/language/statements/class/elements/private-field-visible-to-direct-eval.js: Added.

(C.prototype.getWithEval):
(C):
(D):

  • test262/test/language/statements/class/elements/private-getter-access-on-inner-arrow-function.js: Added.

(C.prototype.get m):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-getter-access-on-inner-function.js: Added.

(C.prototype.get m):
(C.prototype.method.innerFunction):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-getter-brand-check-multiple-evaluations-of-class.js:

(let.createAndInstantiateClass):

  • test262/test/language/statements/class/elements/private-getter-is-not-a-own-property.js: Added.

(C.prototype.get m):
(C.prototype.checkPrivateGetter):
(C):

  • test262/test/language/statements/class/elements/private-getter-is-not-clobbered-by-computed-property.js: Added.

(C.prototype.get m):
(C.prototype.checkPrivateGetter):
(C):

  • test262/test/language/statements/class/elements/private-getter-visible-to-direct-eval-on-initializer.js: Added.

(C.prototype.get m):
(C):

  • test262/test/language/statements/class/elements/private-getter-visible-to-direct-eval.js: Added.

(C.prototype.get m):
(C.prototype.getWithEval):
(C):
(D.prototype.get m):
(D):

  • test262/test/language/statements/class/elements/private-method-access-on-inner-arrow-function.js: Added.

(C.prototype.m):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-method-access-on-inner-function.js: Added.

(C.prototype.m):
(C.prototype.method.innerFunction):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-method-is-not-a-own-property.js: Added.

(C.prototype.m):
(C.prototype.checkPrivateMethod):
(C):

  • test262/test/language/statements/class/elements/private-method-is-not-clobbered-by-computed-property.js: Added.

(C.prototype.m):
(C.prototype.checkPrivateMethod):
(C):

  • test262/test/language/statements/class/elements/private-method-visible-to-direct-eval-on-initializer.js: Added.

(C.prototype.m):
(C):

  • test262/test/language/statements/class/elements/private-method-visible-to-direct-eval.js: Added.

(C.prototype.m):
(C.prototype.getWithEval):
(C):
(D.prototype.m):
(D):

  • test262/test/language/statements/class/elements/private-setter-access-on-inner-arrow-function.js: Added.

(C.prototype.set m):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-setter-access-on-inner-function.js: Added.

(C.prototype.set m):
(C.prototype.method.innerFunction):
(C.prototype.method):
(C):

  • test262/test/language/statements/class/elements/private-setter-is-not-a-own-property.js: Added.

(C.prototype.set m):
(C.prototype.checkPrivateSetter):
(C):

  • test262/test/language/statements/class/elements/private-setter-is-not-clobbered-by-computed-property.js: Added.

(C.prototype.set m):
(C.prototype.checkPrivateSetter):
(C):

  • test262/test/language/statements/class/elements/private-setter-visible-to-direct-eval-on-initializer.js: Added.

(C.prototype.set m):
(C):

  • test262/test/language/statements/class/elements/private-setter-visible-to-direct-eval.js: Added.

(C.prototype.set m):
(C.prototype.setWithEval):
(C):
(D.prototype.set m):
(D):

  • test262/test/language/statements/class/elements/prod-private-getter-before-super-return-in-field-initializer.js:
  • test262/test/language/statements/class/elements/prod-private-method-before-super-return-in-field-initializer.js:
  • test262/test/language/statements/class/elements/prod-private-setter-before-super-return-in-field-initializer.js:
  • test262/test/language/statements/class/elements/super-access-inside-a-private-getter.js: Added.

(A.prototype.method):
(A):
(C.prototype.get m):
(C.prototype.access):
(C):

  • test262/test/language/statements/class/elements/super-access-inside-a-private-method.js: Added.

(A.prototype.method):
(A):
(C.prototype.m):
(C.prototype.access):
(C):

  • test262/test/language/statements/class/elements/super-access-inside-a-private-setter.js: Added.

(A.prototype.method):
(A):
(C.prototype.set m):
(C.prototype.access):
(C):

  • test262/test/language/statements/class/poisoned-underscore-proto.js: Added.

(A):

  • test262/test/language/statements/function/13.2-30-s.js:
  • test262/test262-Revision.txt:
8:50 PM Changeset in webkit [247468] by sbarati@apple.com
  • 5 edits
    2 adds in trunk

[WHLSL] Matrix memory layout should match HLSL by laying out columns linearly
https://bugs.webkit.org/show_bug.cgi?id=199215

Reviewed by Myles C. Maxfield.

Source/WebCore:

This patch makes it so that we lay out matrices in memory in the same
way HLSL does. This is by laying out columns linearly in memory. So a float4x4
composed by this series of floats in memory:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

composes this logical matrix:
[[ 0, 4, 8, 12]

[ 1, 5, 9, 13]
[ 2, 6, 10, 14]
[ 3, 7, 11, 15]]

To implement this, we switch to using an array to represent the memory
contents linear memory layout of a matrix. So the matrix float4x3 will now
be an array<float, 12> in metal. Then, we change the indexed getter and
setter methods for matrices to load and store from and to the correct
memory locations. The memory layout of matrices is observable to WHLSL
when using a matrix as an input/output to a shader.

Test: webgpu/whlsl-matrix-memory-layout.html

  • Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:

(WebCore::WHLSL::Metal::writeNativeFunction):

  • Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.cpp:

(WebCore::WHLSL::Metal::writeNativeType):

LayoutTests:

  • webgpu/whlsl-matrix-memory-layout-expected.txt: Added.
  • webgpu/whlsl-matrix-memory-layout.html: Added.
  • webgpu/whlsl-test-harness-test.html:
7:51 PM Changeset in webkit [247467] by Wenson Hsieh
  • 7 edits in trunk

[Text autosizing] [iPadOS] Product label text is clipped in portrait mode on the front page of sephora.com
https://bugs.webkit.org/show_bug.cgi?id=199806
<rdar://problem/52902482>

Reviewed by Zalan Bujtas.

Source/WebCore:

On sephora.com, some product label text is currently boosted by idempotent text autosizing, which causes the
labels be vertically clipped. This patch augments the idempotent text autosizing heuristic to avoid this case by
checking if the element to be boosted has a fixed height or max height, whose value is very close to a small
integer multiple of the line height. In this case, it's likely that the website expects the text to be no more
than a few lines' worth of height, so boosting the text is likely to break the page.

Test: fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::isIdempotentTextAutosizingCandidate const):

  • rendering/style/TextSizeAdjustment.cpp:

(WebCore::AutosizeStatus::updateStatus):

  • rendering/style/TextSizeAdjustment.h:

Rename Fields::DisplayNone to Fields::AvoidSubtree to avoid introducing another bit in RenderStyle's inherited
flags.

LayoutTests:

Add a new test case to an existing layout test, which mimics the product label text on sephora.com's front page.

  • fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates-expected.txt:
  • fast/text-autosizing/ios/idempotentmode/idempotent-autosizing-candidates.html:
7:32 PM Changeset in webkit [247466] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[ Mojave WK1 ] Some Image tests are flakey failures and are failing in tandem with zoomed in or blank image results
https://bugs.webkit.org/show_bug.cgi?id=193108

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-07-15
Reviewed by Simon Fraser.

Add a workaround for <rdar://problem/17084993> in createBitmapContextFromWebView().
Re-request the snapshot at kCGWindowImageNominalResolution if it was captured
at the wrong scale.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(takeWindowSnapshot):
(createBitmapContextFromWebView):

5:53 PM Changeset in webkit [247465] by mmaxfield@apple.com
  • 11 edits in trunk/Source

New York font erroneously gets synthetic bold
https://bugs.webkit.org/show_bug.cgi?id=199653

Unreviewed watchOS build fix.

Source/WebCore:

  • page/ProcessWarming.cpp:

(WebCore::ProcessWarming::prewarmGlobally):

  • page/cocoa/MemoryReleaseCocoa.mm:

(WebCore::platformReleaseMemory):

  • platform/graphics/FontCascadeDescription.cpp:
  • platform/graphics/FontDescription.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::invalidateFontCache):
(WebCore::lookupFallbackFont):

  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::FontCascadeDescription::effectiveFamilyAt const):

  • platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:

(WebCore::FontFamilySpecificationCoreText::fontRanges const):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:

Source/WTF:

  • wtf/Platform.h:
5:43 PM Changeset in webkit [247464] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Unreviewed, rolling out r247462.
https://bugs.webkit.org/show_bug.cgi?id=199816

completely messed up the patch (Requested by litherum on
#webkit).

Reverted changeset:

"New York font erroneously gets synthetic bold"
https://bugs.webkit.org/show_bug.cgi?id=199653
https://trac.webkit.org/changeset/247462

5:42 PM Changeset in webkit [247463] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Keyword lookup can use memcmp to get around unaligned load undefined behavior
https://bugs.webkit.org/show_bug.cgi?id=199650

Patch by Saagar Jha <saagarjha@apple.com> on 2019-07-15
Reviewed by Yusuke Suzuki.

Replace KeywordLookup's hand-rolled "memcmp" with the standard version, which reduces the need to deal with
endianness and unaligned loads.

  • KeywordLookupGenerator.py:

(Trie.printSubTreeAsC): Use memcmp instead of macros to test for matches.
(Trie.printAsC): Unspecialize Lexer::parseKeyword as templating over the character type reduces the amount of
code we need to generate and moves this task out of the Python script and into the C++ compiler.

5:17 PM Changeset in webkit [247462] by mmaxfield@apple.com
  • 14 edits in trunk

Source/WebCore:
Fix builds where HAVE_DESIGN_SYSTEM_UI_FONTS is not defined.

Patch by Simon Fraser <Simon Fraser> on 2019-07-11

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontWithFamilySpecialCase):

Source/WebKit:
New York font erroneously gets synthetic bold
https://bugs.webkit.org/show_bug.cgi?id=199653
<rdar://problem/51692592>

Reviewed by Simon Fraser.

Add the SPI to enable the new fonts.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetShouldAllowDesignSystemUIFonts):
(WKPreferencesGetShouldAllowDesignSystemUIFonts):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _shouldAllowDesignSystemUIFonts]):
(-[WKPreferences _setShouldAllowDesignSystemUIFonts:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WTF:
New York font erroneously gets synthetic bold
https://bugs.webkit.org/show_bug.cgi?id=199653
<rdar://problem/51692592>

Reviewed by Simon Fraser.

  • wtf/Platform.h:

LayoutTests:
New York font erroneously gets synthetic bold
https://bugs.webkit.org/show_bug.cgi?id=199653
<rdar://problem/51692592>

Reviewed by Simon Fraser.

  • TestExpectations:
  • fast/text/design-system-ui-10-expected-mismatch.html: Added.
  • fast/text/design-system-ui-10.html: Added.
  • fast/text/design-system-ui-11-expected-mismatch.html: Added.
  • fast/text/design-system-ui-11.html: Added.
  • fast/text/design-system-ui-12-expected-mismatch.html: Added.
  • fast/text/design-system-ui-12.html: Added.
  • fast/text/design-system-ui-13-expected-mismatch.html: Added.
  • fast/text/design-system-ui-13.html: Added.
  • fast/text/design-system-ui-14-expected-mismatch.html: Added.
  • fast/text/design-system-ui-14.html: Added.
  • fast/text/design-system-ui-15-expected-mismatch.html: Added.
  • fast/text/design-system-ui-15.html: Added.
  • fast/text/design-system-ui-16-expected-mismatch.html: Added.
  • fast/text/design-system-ui-16.html: Added.
  • fast/text/design-system-ui-2-expected.html: Added.
  • fast/text/design-system-ui-2.html: Added.
  • fast/text/design-system-ui-3-expected-mismatch.html: Added.
  • fast/text/design-system-ui-3.html: Added.
  • fast/text/design-system-ui-4-expected-mismatch.html: Added.
  • fast/text/design-system-ui-4.html: Added.
  • fast/text/design-system-ui-5-expected-mismatch.html: Added.
  • fast/text/design-system-ui-5.html: Added.
  • fast/text/design-system-ui-6-expected.html: Added.
  • fast/text/design-system-ui-6.html: Added.
  • fast/text/design-system-ui-7-expected.html: Added.
  • fast/text/design-system-ui-7.html: Added.
  • fast/text/design-system-ui-8-expected-mismatch.html: Added.
  • fast/text/design-system-ui-8.html: Added.
  • fast/text/design-system-ui-9-expected-mismatch.html: Added.
  • fast/text/design-system-ui-9.html: Added.
  • fast/text/design-system-ui-expected.html: Added.
  • fast/text/design-system-ui.html: Added.
  • platform/mac/TestExpectations:
4:45 PM Changeset in webkit [247461] by beidson@apple.com
  • 9 edits in trunk

Make WKURLSchemeTask thread safe.
<rdar://problem/50471863> and https://bugs.webkit.org/show_bug.cgi?id=199764

Reviewed by Alex Christensen.

Source/WebKit:

Punt most of the WKURLSchemeTask operations back to the main thread.
Make accessing the NSURLRequest be thread safe with lock protection.

  • UIProcess/API/Cocoa/WKURLSchemeTask.mm:

(getExceptionTypeFromMainRunLoop):
(-[WKURLSchemeTaskImpl dealloc]):
(-[WKURLSchemeTaskImpl request]):
(-[WKURLSchemeTaskImpl _requestOnlyIfCached]):
(-[WKURLSchemeTaskImpl didReceiveResponse:]):
(-[WKURLSchemeTaskImpl didReceiveData:]):
(-[WKURLSchemeTaskImpl didFinish]):
(-[WKURLSchemeTaskImpl didFailWithError:]):
(-[WKURLSchemeTaskImpl _didPerformRedirection:newRequest:]):

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::WebURLSchemeTask):
(WebKit::WebURLSchemeTask::~WebURLSchemeTask):
(WebKit::WebURLSchemeTask::didPerformRedirection):
(WebKit::WebURLSchemeTask::didReceiveResponse):
(WebKit::WebURLSchemeTask::didReceiveData):
(WebKit::WebURLSchemeTask::didComplete):
(WebKit::WebURLSchemeTask::pageDestroyed):
(WebKit::WebURLSchemeTask::stop):
(WebKit::WebURLSchemeTask::nsRequest const):

  • UIProcess/WebURLSchemeTask.h:

(WebKit::WebURLSchemeTask::identifier const):
(WebKit::WebURLSchemeTask::pageID const):
(WebKit::WebURLSchemeTask::process):
(WebKit::WebURLSchemeTask::process const): Deleted.
(WebKit::WebURLSchemeTask::request const): Deleted.

Source/WTF:

  • wtf/MainThread.cpp:

(WTF::callOnMainAndWait):
(WTF::callOnMainRunLoopAndWait):
(WTF::callOnMainThreadAndWait):

  • wtf/MainThread.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
4:09 PM Changeset in webkit [247460] by Wenson Hsieh
  • 8 edits in trunk/Source/WebKit

Followup to r247439
https://bugs.webkit.org/show_bug.cgi?id=199788
<rdar://problem/52142570>

Reviewed by Tim Horton.

As it turns out, sending modern async completion-handler based IPC messages while processing incoming sync
messages results in a debug assertion. Instead of migrating FontAtSelection to the new async IPC mechanism,
restore the older CallbackID-based async IPC.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::fontAtSelection):
(WebKit::WebPageProxy::fontAtSelectionCallback):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::fontAtSelection):

4:06 PM Changeset in webkit [247459] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Crash under DisplayRefreshMonitorManager::displayWasUpdated()
https://bugs.webkit.org/show_bug.cgi?id=199808
<rdar://problem/53070144>

Reviewed by Geoffrey Garen.

Copy m_monitors before iterating over it because the calling displayLinkFired() on the
monitor may end up calling DisplayRefreshMonitorManager::displayDidRefresh() synchronously,
which removes the monitor from m_monitors.

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):

3:55 PM Changeset in webkit [247458] by jiewen_tan@apple.com
  • 2 edits in trunk/Tools

Unreviewed, a build fix after r247437

  • TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:

Added platform guard towards -[WKUIDelegate _presentingViewControllerForWebView:].

3:41 PM Changeset in webkit [247457] by ysuzuki@apple.com
  • 36 edits
    1 move
    139 adds
    2 deletes in trunk

[JSC] Improve wasm wpt test results by fixing miscellaneous issues
https://bugs.webkit.org/show_bug.cgi?id=199783

Reviewed by Mark Lam.

JSTests:

Fix our spec tests.

  • wasm/js-api/Module-compile.js:
  • wasm/js-api/test_basic_api.js:

(const.c.in.constructorProperties.switch):

  • wasm/js-api/validate.js:
  • wasm/js-api/web-assembly-instantiate.js:
  • wasm/spec-tests/jsapi.js:

(testJSAPI.get test):
(testJSAPI.set test):

LayoutTests/imported/w3c:

Import web-platform-tests/wasm/jsapi. Some of tests are failing just because imported wpt tests are old.
They are fixed in the upstream. When upgrading wpt tests, we can mark them PASS.

  • resources/import-expectations.json:
  • web-platform-tests/wasm/jsapi/assertions.js: Added.

(assert_function_name):
(assert_function_length):

  • web-platform-tests/wasm/jsapi/bad-imports.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.js: Added.

(assert_Global):
(test):
(test.get assert_array_equals):
(string_appeared_here.test):
(string_appeared_here.toString):
(string_appeared_here.valueOf):
(string_appeared_here.name.format_value):

  • web-platform-tests/wasm/jsapi/global/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/global/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.js: Added.

(test):
(string_appeared_here.name.of.immutableOptions.test):
(string_appeared_here.name.of.mutableOptions.test):

  • web-platform-tests/wasm/jsapi/global/value-set.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/global/valueOf.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.js: Added.

(assert_exported_function):

  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/instance/exports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/instance/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/interface.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/interface.any.html: Added.
  • web-platform-tests/wasm/jsapi/interface.any.js: Added.

(test_operations):
(test):
(const.name.of.interfaces.test):

  • web-platform-tests/wasm/jsapi/interface.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/interface.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/buffer.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.js: Added.

(assert_Memory):
(test):
(const.value.of.outOfRangeValues.test):
(test.get new):
(test.get assert_array_equals):

  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.js: Added.

(assert_ArrayBuffer):
(test):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/memory/grow.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.js: Added.

(assert_ArrayBuffer):
(assert_sections):
(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/customSections.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.js: Added.

(setup):
(assert_ModuleExportDescriptor):
(assert_exports):
(test):

  • web-platform-tests/wasm/jsapi/module/exports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.js: Added.

(assert_ModuleImportDescriptor):
(assert_imports):
(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/module/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/table/assertions.js: Added.

(assert_equal_to_array):

  • web-platform-tests/wasm/jsapi/table/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.js: Added.

(assert_Table):
(test):
(const.value.of.outOfRangeValues.test):
(test.get const):

  • web-platform-tests/wasm/jsapi/table/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.js: Added.

(setup):
(test):
(test.set assert_equal_to_array):
(test.const.fn):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/table/get-set.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.js: Added.

(nulls):
(test):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/table/grow.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/length.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/length.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/wasm-constants.js: Added.

(bytes):
(bytesWithHeader):
(makeSig):
(makeSig_v_x):
(makeSig_v_xx):
(makeSig_r_v):
(makeSig_r_x):
(makeSig_r_xx):
(assertTraps):
(assertWasmThrows):

  • web-platform-tests/wasm/jsapi/wasm-module-builder.js: Added.

(Binary.prototype.emit_u8):
(Binary.prototype.emit_u16):
(Binary.prototype.emit_u32):
(Binary.prototype.emit_u32v):
(Binary.prototype.emit_bytes):
(Binary.prototype.emit_string):
(Binary.prototype.emit_header):
(Binary.prototype.emit_section):
(Binary):
(WasmFunctionBuilder):
(WasmFunctionBuilder.prototype.exportAs):
(WasmFunctionBuilder.prototype.exportFunc):
(WasmFunctionBuilder.prototype.addBody):
(WasmFunctionBuilder.prototype.addLocals):
(WasmFunctionBuilder.prototype.end):
(WasmGlobalBuilder):
(WasmGlobalBuilder.prototype.exportAs):
(WasmModuleBuilder):
(WasmModuleBuilder.prototype.addStart):
(WasmModuleBuilder.prototype.addMemory):
(WasmModuleBuilder.prototype.addExplicitSection):
(WasmModuleBuilder.prototype.addType):
(WasmModuleBuilder.prototype.addGlobal):
(WasmModuleBuilder.prototype.addFunction):
(WasmModuleBuilder.prototype.addImport):
(WasmModuleBuilder.prototype.addImportedGlobal):
(WasmModuleBuilder.prototype.addImportedMemory):
(WasmModuleBuilder.prototype.addImportedTable):
(WasmModuleBuilder.prototype.addExport):
(WasmModuleBuilder.prototype.addExportOfKind):
(WasmModuleBuilder.prototype.addDataSegment):
(WasmModuleBuilder.prototype.exportMemoryAs):
(WasmModuleBuilder.prototype.addFunctionTableInit):
(WasmModuleBuilder.prototype.appendToTable):
(WasmModuleBuilder.prototype.setFunctionTableLength):
(WasmModuleBuilder.prototype.toArray):
(WasmModuleBuilder.prototype.toBuffer):
(WasmModuleBuilder.prototype.instantiate):

Source/JavaScriptCore:

This patch fixes miscellaneous issues in our Wasm JS API implementation to improve WPT score.
I picked trivial ones in this patch to make this easily reviewable.

  1. Remove WebAssemblyPrototype. It does not exist in the spec. Merging WebAssemblyPrototype into JSWebAssembly.
  2. Fix various attributes. It does not match to the usual JSC builtin's convention. But this change is correct because they are changed to be matched against WebIDL definition, and WebAssembly implementation follows WebIDL. In the future, we could move WebCore WebIDL things into WTF layer and even use (or leverage some of utility functions) in our WebAssembly JS API implementation.
  3. Fix how we interpret "present" in WebAssembly spec. This does not mean HasProperty result. It follows to WebIDL spec, and it means that Get result is not undefined.
  4. Add argument count check to Module.customSections, which is required because the method is defined in WebIDL.
  5. Fix toNonWrappingUint32 to match it to WebIDL's conversion rule.
  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • builtins/WebAssembly.js: Renamed from Source/JavaScriptCore/builtins/WebAssemblyPrototype.js.
  • jit/Repatch.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSModuleLoader.cpp:

(JSC::moduleLoaderParseModule):

  • wasm/js/JSWebAssembly.cpp:

(JSC::JSWebAssembly::create):
(JSC::JSWebAssembly::finishCreation):
(JSC::reject):
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyValidateFunc):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):

  • wasm/js/JSWebAssembly.h:
  • wasm/js/JSWebAssemblyHelpers.h:

(JSC::toNonWrappingUint32):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::WebAssemblyCompileErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyInstanceConstructor.cpp:

(JSC::WebAssemblyInstanceConstructor::finishCreation):

  • wasm/js/WebAssemblyInstancePrototype.cpp:
  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::WebAssemblyLinkErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::constructJSWebAssemblyMemory):
(JSC::WebAssemblyMemoryConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:
  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::webAssemblyModuleCustomSections):
(JSC::WebAssemblyModuleConstructor::finishCreation):

  • wasm/js/WebAssemblyPrototype.cpp: Removed.
  • wasm/js/WebAssemblyPrototype.h: Removed.
  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyTableConstructor.cpp:

(JSC::constructJSWebAssemblyTable):
(JSC::WebAssemblyTableConstructor::finishCreation):

  • wasm/js/WebAssemblyTablePrototype.cpp:

Source/WebCore:

Remove WebAssemblyPrototype.

Tests: imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.html

imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/valueOf.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/valueOf.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/exports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/exports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/interface.any.html
imported/w3c/web-platform-tests/wasm/jsapi/interface.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/buffer.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/buffer.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/grow.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/grow.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/customSections.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/customSections.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/exports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/exports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/imports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/get-set.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/get-set.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/grow.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/grow.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/length.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/length.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/toString.any.worker.html

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):

LayoutTests:

  • platform/ios-simulator/TestExpectations:
  • platform/win/TestExpectations:
3:34 PM Changeset in webkit [247456] by Alan Coon
  • 30 edits
    32 deletes in tags/Safari-608.1.36

Revert r247377. rdar://problem/53125241

3:34 PM Changeset in webkit [247455] by Alan Coon
  • 2 edits in tags/Safari-608.1.36/Source/WebCore

Revert r247379. rdar://problem/53125241

3:29 PM Changeset in webkit [247454] by dino@apple.com
  • 2 edits in trunk/Source/WTF

MacCatalyst asserts when command key is raised
https://bugs.webkit.org/show_bug.cgi?id=199805
<rdar://problem/53120393>

Reviewed by Tim Horton.

Add USE_UIKIT_KEYBOARD_ADDITIONS for iOS 13+ and macCatalyst.

  • wtf/FeatureDefines.h:
3:27 PM Changeset in webkit [247453] by dino@apple.com
  • 15 edits in trunk/Source

[WebGL] Remove software rendering and simplify context creation on macOS
https://bugs.webkit.org/show_bug.cgi?id=199789

Reviewed by Sam Weinig.

Source/WebCore:

We don't ever want to fall-back to the software renderer. We'd be better
off failing to create the context completely.

Also, the number of fall-back attempts we were making before hitting
the software renderer was overkill. All hardware we support should
handle a 32bpp buffer.

Lastly, we don't want to support supersampling - multisampling only.

I lied… there is one more thing - failing to create the context
was causing an ASSERT trying to remove the GC3D from the global list.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

  • page/Settings.yaml: Remove forceSoftwareWebGL setting.
  • platform/graphics/GraphicsContext3DAttributes.h:
  • platform/graphics/GraphicsContext3DManager.cpp:

(WebCore::GraphicsContext3DManager::addContext):
(WebCore::GraphicsContext3DManager::removeContext):
(WebCore::GraphicsContext3DManager::removeContextRequiringHighPerformance):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::setPixelFormat): Deleted.

Source/WebKit:

Remove force software WebGL setting.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetForceSoftwareWebGLRendering): Deleted.
(WKPreferencesGetForceSoftwareWebGLRendering): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

Remove force software WebGL setting.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences forceSoftwareWebGLRendering]): Deleted.
(-[WebPreferences setForceSoftwareWebGLRendering:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

3:24 PM Changeset in webkit [247452] by dino@apple.com
  • 52 edits in trunk/Source/WebCore

Move more WebGL things into unified builds
https://bugs.webkit.org/show_bug.cgi?id=199787

Reviewed by Wenson Hsieh.

Unify as many WebGL files as possible.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGLFramebuffer.cpp:
  • html/canvas/WebGLObject.h: Move a helper function into an inline.

(WebCore::objectOrZero):

  • html/canvas/WebGLRenderingContextBase.cpp:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:
3:14 PM Changeset in webkit [247451] by Alan Coon
  • 2 edits in tags/Safari-608.1.36/Source/WebKit

Cherry-pick r247436. rdar://problem/53106179

REGRESSION: Chase app crashes immediately after authentication
https://bugs.webkit.org/show_bug.cgi?id=199798
<rdar://problem/53106179>

Reviewed by Alex Christensen.

After r247411, we sometimes try to consult _page from WKWebView, before WKWebView's _page has been set. This
happens under a check for -[WKWebView _isEditable], from within -[WKContentView setupInteraction], which happens
if the host app is not linked on the iOS 12 SDK or earlier. To mitigate this, simply add a null check in
-_isEditable.

There's currently no great way to test this, since we don't have a mechanism for simulating linked-on checks.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _isEditable]):

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

2:40 PM Changeset in webkit [247450] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Add missing webgpu includes
https://bugs.webkit.org/show_bug.cgi?id=199802
<rdar://problem/53119120>

Reviewed by Myles C. Maxfield.

WHLSLFunctionWriter.cpp fails to compile on tvOS and watchOS due to
missing includes. This file likely compiles on other platforms due to
the Unified Sources facility that clumps several implementation files
together, exposing those implementation files to the others' includes.
It fails on tvOS and watchOS due to the different ways these
implementation files can get clumped together on different platforms.

No new tests as there is no functional change.

  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:
2:36 PM Changeset in webkit [247449] by Alan Coon
  • 16 edits
    14 deletes in tags/Safari-608.1.36

Revert r247366. rdar://problem/53118665

2:36 PM Changeset in webkit [247448] by Alan Coon
  • 2 edits in tags/Safari-608.1.36/Source/WebCore

Revert r247378. rdar://problem/53118665

2:36 PM Changeset in webkit [247447] by Alan Coon
  • 11 edits
    3 deletes in tags/Safari-608.1.36/Source/WebCore

Revert r247397. rdar://problem/53118665

1:45 PM Changeset in webkit [247446] by Alan Coon
  • 7 edits in trunk/Source

Versioning.

1:42 PM Changeset in webkit [247445] by Michael Catanzaro
  • 36 edits
    2 copies
    1 move
    1 delete in trunk

Unreviewed, rolling out r247440.

Broke builds

Reverted changeset:

"[JSC] Improve wasm wpt test results by fixing miscellaneous
issues"
https://bugs.webkit.org/show_bug.cgi?id=199783
https://trac.webkit.org/changeset/247440

1:40 PM Changeset in webkit [247444] by dbates@webkit.org
  • 15 edits
    4 adds in trunk

Typing into a cell in a Google Sheet lags behind by one character
https://bugs.webkit.org/show_bug.cgi?id=199587
<rdar://problem/51616845>

Reviewed by Brent Fulgham.

Source/WebCore:

Add a Google Sheets quirk. Put all DOM timers scheduled from keydown and keypress event listeners
into a holding tank. The timers continue to tick, but are barred from executing their action until
the next text insertion or deletion or 32 ms (on device) have elapsed, whichever is sooner. We only
allocate a holding tank once per document, only if the quirk is active, and this allocation is done
when the document schedules a timer on keydown or keypress. The holding tank lives for the lifetime
of the document.

The story behind the quirk:

On keypress Google Sheets schedules timers and expects that a DOM update will occur (i.e. text
will be inserted or deleted) within the same event loop iteration as the dispatched keypress. The
UI Events spec. [1] makes no such guarantee of when a DOM update must occur in relation to the keypress
event. It could happen in the same event loop iteration as the key press (as Google expects), the
next iteration, 500ms later, 2 minutes later, etc. What the spec does guarantee is that by the time
a DOM input event is dispatched that the DOM will be updated. And this is the solution to the problem
Google Sheets is trying to solve, but is doing so using pre-IE 9 technology (though similar
functionality was available via onpropertychange in IE < 9).

See also <https://github.com/w3c/uievents/issues/238>, which is tracking a spec. text update for
this quirk.

Test: fast/events/ios/dom-update-on-keydown-quirk.html

[1] <https://w3c.github.io/uievents/> (Editor's Draft, 14 October 2018)

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add some files to the project.

  • dom/Document.cpp:

(WebCore::Document::domTimerHoldingTank): Added.

  • dom/Document.h:

(WebCore::Document::domTimerHoldingTankIfExists): Added.

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::install): Put the newly instantiated timer into the holding tank.
(WebCore::DOMTimer::removeById): Remove the timer from the holding tank.
(WebCore::DOMTimer::fired): Check if the timer is in the holding tank. If it is and it is a one-
shot timer then schedule it for the next event loop iteration. If it's a repeating timer just
let it continue ticking. Otherwise, do what we no now and execute the timer's action. The reason
we do not suspend timers in the holding tank is because:

  1. Far out timers (Google Sheets registers timers as far out as 5 minutes!) are not penalized. Though smart supension logic could avoid this. See (3).
  1. Empirical observations indicate that the keyboard will perform the insertion or deletion reasonably quickly (not the same event loop iteration as the keydown, but within two iterations out). So, the timers in the holding tank are short-lived.
  1. Simplifies the code. There is no need to keep additional bookkeeping to track multiple timer suspension reasons (timers currently can only have one suspension reason) or alternatively defer scheduling a timer until a later time and computing a new "fair" firing time when scheduled.
  • page/EventHandler.cpp:

(WebCore::EventHandler::internalKeyEvent): Place a token on the stack to put all DOM timers
scheduled on keydown and keypress into the holding tank if the quirk is enabled.

  • page/Quirks.cpp:

(WebCore::Quirks::needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommand const): Added.

  • page/Quirks.h:
  • page/Settings.yaml: Added setting so that this quirk can be enabled from a layout test. This setting

also lets us enable the quirk for all sites or for certain third-party apps if desired.

  • page/ios/DOMTimerHoldingTank.cpp: Added.

(WebCore::DOMTimerHoldingTank::DOMTimerHoldingTank):
(WebCore::DOMTimerHoldingTank::add):
(WebCore::DOMTimerHoldingTank::remove):
(WebCore::DOMTimerHoldingTank::contains):
(WebCore::DOMTimerHoldingTank::removeAll):
(WebCore::DOMTimerHoldingTank::stopExceededMaximumHoldTimer):

  • page/ios/DOMTimerHoldingTank.h: Added.

(WebCore::DeferDOMTimersForScope::DeferDOMTimersForScope):
(WebCore::DeferDOMTimersForScope::~DeferDOMTimersForScope):
(WebCore::DeferDOMTimersForScope::isDeferring):

Source/WebKit:

Remove all timers from the holding tank on text insertion or deletion (represented as an
editing command). Timers that were in the holding tank never stopped ticking and will now
be able to execute their action.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::executeEditingCommand):
(WebKit::WebPage::insertTextAsync):
(WebKit::WebPage::setCompositionAsync):
(WebKit::WebPage::confirmCompositionAsync):
Call platformWillPerformEditingCommand().

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::platformWillPerformEditingCommand): Added.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformWillPerformEditingCommand): Remove all the timers from the holding
tank if we have a holding tank.

LayoutTests:

Add a test that enables the quirk and ensures that the DOM is up-to-date on expiration of a
zero timer scheduled from keydown, keypress, keyup, and input.

  • fast/events/ios/dom-update-on-keydown-quirk-expected.txt: Added.
  • fast/events/ios/dom-update-on-keydown-quirk.html: Added.
1:36 PM Changeset in webkit [247443] by Alan Coon
  • 1 copy in tags/Safari-608.1.36

Tag Safari-608.1.36.

1:35 PM Changeset in webkit [247442] by Ryan Haddad
  • 19 edits
    17 deletes in trunk

Unreviewed, rolling out r247397, r247378, r247366.

Broke watchOS builds.

Reverted changesets:

"[WebGPU] Implement GPUError and error scopes"
https://bugs.webkit.org/show_bug.cgi?id=199655
https://trac.webkit.org/changeset/247366/webkit

"[WebGPU] Move error scopes out of GPUDevice for more portable error generation"
https://bugs.webkit.org/show_bug.cgi?id=199740
https://trac.webkit.org/changeset/247397/webkit

1:23 PM Changeset in webkit [247441] by commit-queue@webkit.org
  • 8 edits in trunk

MathML WPT test for RadicalDegreeBottomRaisePercent fails
https://bugs.webkit.org/show_bug.cgi?id=183631

Patch by Rob Buis <rbuis@igalia.com> on 2019-07-15
Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

Adjust test expectation.

  • web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1-expected.txt:

Source/WebCore:

When stretching the radical operator also take thickness
and radical gap into account:
https://mathml-refresh.github.io/mathml-core/#radicals-msqrt-mroot

Test: imported/w3c/web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1.html

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::layoutBlock):

LayoutTests:

Adjust test expectations.

  • platform/ios/mathml/presentation/roots-expected.txt:
  • platform/mac/mathml/presentation/roots-expected.txt:
  • platform/win/mathml/presentation/roots-expected.txt:
12:26 PM Changeset in webkit [247440] by ysuzuki@apple.com
  • 36 edits
    1 move
    139 adds
    2 deletes in trunk

[JSC] Improve wasm wpt test results by fixing miscellaneous issues
https://bugs.webkit.org/show_bug.cgi?id=199783

Reviewed by Mark Lam.

JSTests:

Fix our spec tests.

  • wasm/js-api/Module-compile.js:
  • wasm/js-api/test_basic_api.js:

(const.c.in.constructorProperties.switch):

  • wasm/js-api/validate.js:
  • wasm/js-api/web-assembly-instantiate.js:
  • wasm/spec-tests/jsapi.js:

(testJSAPI.get test):
(testJSAPI.set test):

LayoutTests/imported/w3c:

Import web-platform-tests/wasm/jsapi. Some of tests are failing just because imported wpt tests are old.
They are fixed in the upstream. When upgrading wpt tests, we can mark them PASS.

  • resources/import-expectations.json:
  • web-platform-tests/wasm/jsapi/assertions.js: Added.

(assert_function_name):
(assert_function_length):

  • web-platform-tests/wasm/jsapi/bad-imports.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/constructor/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.js: Added.

(assert_Global):
(test):
(test.get assert_array_equals):
(string_appeared_here.test):
(string_appeared_here.toString):
(string_appeared_here.valueOf):
(string_appeared_here.name.format_value):

  • web-platform-tests/wasm/jsapi/global/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/global/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.js: Added.

(test):
(string_appeared_here.name.of.immutableOptions.test):
(string_appeared_here.name.of.mutableOptions.test):

  • web-platform-tests/wasm/jsapi/global/value-set.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/value-set.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.html: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/global/valueOf.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/global/valueOf.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/global/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.js: Added.

(test_bad_imports):

  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.js: Added.

(assert_exported_function):

  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/instance/exports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/exports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/instance/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/instance/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/instance/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/interface.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/interface.any.html: Added.
  • web-platform-tests/wasm/jsapi/interface.any.js: Added.

(test_operations):
(test):
(const.name.of.interfaces.test):

  • web-platform-tests/wasm/jsapi/interface.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/interface.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/buffer.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/buffer.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.js: Added.

(assert_Memory):
(test):
(const.value.of.outOfRangeValues.test):
(test.get new):
(test.get assert_array_equals):

  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.js: Added.

(assert_ArrayBuffer):
(test):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/memory/grow.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/grow.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/memory/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/memory/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/memory/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.js: Added.

(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.js: Added.

(assert_ArrayBuffer):
(assert_sections):
(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/customSections.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/customSections.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.js: Added.

(setup):
(assert_ModuleExportDescriptor):
(assert_exports):
(test):

  • web-platform-tests/wasm/jsapi/module/exports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/exports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.js: Added.

(assert_ModuleImportDescriptor):
(assert_imports):
(setup):
(test):

  • web-platform-tests/wasm/jsapi/module/imports.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/imports.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/module/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/module/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/module/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/table/assertions.js: Added.

(assert_equal_to_array):

  • web-platform-tests/wasm/jsapi/table/constructor.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.js: Added.

(assert_Table):
(test):
(const.value.of.outOfRangeValues.test):
(test.get const):

  • web-platform-tests/wasm/jsapi/table/constructor.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/constructor.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.js: Added.

(setup):
(test):
(test.set assert_equal_to_array):
(test.const.fn):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/table/get-set.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/get-set.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.js: Added.

(nulls):
(test):
(valueOf):
(const.value.of.outOfRangeValues.test):

  • web-platform-tests/wasm/jsapi/table/grow.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/grow.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/length.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/length.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/length.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.html: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.js: Added.

(test):

  • web-platform-tests/wasm/jsapi/table/toString.any.worker-expected.txt: Added.
  • web-platform-tests/wasm/jsapi/table/toString.any.worker.html: Added.
  • web-platform-tests/wasm/jsapi/table/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/w3c-import.log: Added.
  • web-platform-tests/wasm/jsapi/wasm-constants.js: Added.

(bytes):
(bytesWithHeader):
(makeSig):
(makeSig_v_x):
(makeSig_v_xx):
(makeSig_r_v):
(makeSig_r_x):
(makeSig_r_xx):
(assertTraps):
(assertWasmThrows):

  • web-platform-tests/wasm/jsapi/wasm-module-builder.js: Added.

(Binary.prototype.emit_u8):
(Binary.prototype.emit_u16):
(Binary.prototype.emit_u32):
(Binary.prototype.emit_u32v):
(Binary.prototype.emit_bytes):
(Binary.prototype.emit_string):
(Binary.prototype.emit_header):
(Binary.prototype.emit_section):
(Binary):
(WasmFunctionBuilder):
(WasmFunctionBuilder.prototype.exportAs):
(WasmFunctionBuilder.prototype.exportFunc):
(WasmFunctionBuilder.prototype.addBody):
(WasmFunctionBuilder.prototype.addLocals):
(WasmFunctionBuilder.prototype.end):
(WasmGlobalBuilder):
(WasmGlobalBuilder.prototype.exportAs):
(WasmModuleBuilder):
(WasmModuleBuilder.prototype.addStart):
(WasmModuleBuilder.prototype.addMemory):
(WasmModuleBuilder.prototype.addExplicitSection):
(WasmModuleBuilder.prototype.addType):
(WasmModuleBuilder.prototype.addGlobal):
(WasmModuleBuilder.prototype.addFunction):
(WasmModuleBuilder.prototype.addImport):
(WasmModuleBuilder.prototype.addImportedGlobal):
(WasmModuleBuilder.prototype.addImportedMemory):
(WasmModuleBuilder.prototype.addImportedTable):
(WasmModuleBuilder.prototype.addExport):
(WasmModuleBuilder.prototype.addExportOfKind):
(WasmModuleBuilder.prototype.addDataSegment):
(WasmModuleBuilder.prototype.exportMemoryAs):
(WasmModuleBuilder.prototype.addFunctionTableInit):
(WasmModuleBuilder.prototype.appendToTable):
(WasmModuleBuilder.prototype.setFunctionTableLength):
(WasmModuleBuilder.prototype.toArray):
(WasmModuleBuilder.prototype.toBuffer):
(WasmModuleBuilder.prototype.instantiate):

Source/JavaScriptCore:

This patch fixes miscellaneous issues in our Wasm JS API implementation to improve WPT score.
I picked trivial ones in this patch to make this easily reviewable.

  1. Remove WebAssemblyPrototype. It does not exist in the spec. Merging WebAssemblyPrototype into JSWebAssembly.
  2. Fix various attributes. It does not match to the usual JSC builtin's convention. But this change is correct because they are changed to be matched against WebIDL definition, and WebAssembly implementation follows WebIDL. In the future, we could move WebCore WebIDL things into WTF layer and even use (or leverage some of utility functions) in our WebAssembly JS API implementation.
  3. Fix how we interpret "present" in WebAssembly spec. This does not mean HasProperty result. It follows to WebIDL spec, and it means that Get result is not undefined.
  4. Add argument count check to Module.customSections, which is required because the method is defined in WebIDL.
  5. Fix toNonWrappingUint32 to match it to WebIDL's conversion rule.
  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • builtins/WebAssembly.js: Renamed from Source/JavaScriptCore/builtins/WebAssemblyPrototype.js.
  • jit/Repatch.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSModuleLoader.cpp:

(JSC::moduleLoaderParseModule):

  • wasm/js/JSWebAssembly.cpp:

(JSC::JSWebAssembly::create):
(JSC::JSWebAssembly::finishCreation):
(JSC::reject):
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyValidateFunc):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):

  • wasm/js/JSWebAssembly.h:
  • wasm/js/JSWebAssemblyHelpers.h:

(JSC::toNonWrappingUint32):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::WebAssemblyCompileErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyInstanceConstructor.cpp:

(JSC::WebAssemblyInstanceConstructor::finishCreation):

  • wasm/js/WebAssemblyInstancePrototype.cpp:
  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::WebAssemblyLinkErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryConstructor.cpp:

(JSC::constructJSWebAssemblyMemory):
(JSC::WebAssemblyMemoryConstructor::finishCreation):

  • wasm/js/WebAssemblyMemoryPrototype.cpp:
  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::webAssemblyModuleCustomSections):
(JSC::WebAssemblyModuleConstructor::finishCreation):

  • wasm/js/WebAssemblyPrototype.cpp: Removed.
  • wasm/js/WebAssemblyPrototype.h: Removed.
  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):

  • wasm/js/WebAssemblyTableConstructor.cpp:

(JSC::constructJSWebAssemblyTable):
(JSC::WebAssemblyTableConstructor::finishCreation):

  • wasm/js/WebAssemblyTablePrototype.cpp:

Source/WebCore:

Remove WebAssemblyPrototype.

Tests: imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.html

imported/w3c/web-platform-tests/wasm/jsapi/constructor/instantiate-bad-imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/value-set.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/global/valueOf.any.html
imported/w3c/web-platform-tests/wasm/jsapi/global/valueOf.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor-bad-imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/exports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/exports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/instance/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/interface.any.html
imported/w3c/web-platform-tests/wasm/jsapi/interface.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/buffer.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/buffer.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/grow.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/grow.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/memory/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/customSections.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/customSections.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/exports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/exports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/imports.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/imports.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/module/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/module/toString.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/constructor.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/constructor.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/get-set.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/get-set.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/grow.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/grow.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/length.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/length.any.worker.html
imported/w3c/web-platform-tests/wasm/jsapi/table/toString.any.html
imported/w3c/web-platform-tests/wasm/jsapi/table/toString.any.worker.html

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):

LayoutTests:

  • platform/ios-simulator/TestExpectations:
  • platform/win/TestExpectations:
12:09 PM Changeset in webkit [247439] by Wenson Hsieh
  • 10 edits in trunk

[macOS 10.15] Cannot unbold selected text when the system font is used
https://bugs.webkit.org/show_bug.cgi?id=199788
<rdar://problem/52142570>

Reviewed by Tim Horton.

Source/WebKit:

In macOS 10.15, +[NSFont fontWithName:size:] no longer recognizes system fonts (of name
".SFNS-*") and returns nil instead. However, our existing implementation of
WebPageProxy::fontAtSelection works by grabbing the font name in the web process, and
sending it over to the UI process, where it is mapped to an NSFont. As a result, this always
results in a nil font in macOS 10.15, which causes us to never update NSFontManager's
selected font. In turn, this means that once selected text is bolded, it can't be unbolded
via NSFontManager, since NSFontManager thinks that the text is still not bold.

To fix this, we simply encode and send a platform FontInfo instead of sending the font name.
This allows the UI process to reconstruct NSFonts from font attribute dictionaries instead,
and update the font manager.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::updateFontManagerIfNeeded):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::fontAtSelection):

Refactor this to send a FontInfo (containing a font attribute dictionary) instead of a font
name.

(WebKit::WebPageProxy::fontAtSelectionCallback): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Change FontAtSelection to use sendWithAsyncReply instead of sending a callback ID. This also
allows us to remove FontAtSelectionCallback.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::fontAtSelection):

Tools:

Add a new API test to verify that bolding and unbolding updates the
shared font manager's selected font.

  • TestWebKitAPI/Tests/mac/FontManagerTests.mm:

(TestWebKitAPI::TEST):

11:59 AM Changeset in webkit [247438] by youenn@apple.com
  • 20 edits
    2 adds in trunk

Enable a debug WebRTC mode without any encryption
https://bugs.webkit.org/show_bug.cgi?id=199177
<rdar://problem/52074986>

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • inspector/protocol/Page.json:

Source/ThirdParty/libwebrtc:

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

For every RTCPeerConnection, first set whether to use encryption or not
based on page settings.
If encryption is disabled, log it.
Add internals API to toggle the switch from tests.
Test: webrtc/disable-encryption.html

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::createLibWebRTCPeerConnectionBackend):

  • inspector/agents/InspectorPageAgent.cpp:
  • page/Settings.yaml:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::setEnableWebRTCEncryption):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setEnableWebRTCEncryption):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

LayoutTests:

  • webrtc/disable-encryption-expected.txt: Added.
  • webrtc/disable-encryption.html: Added.
11:56 AM Changeset in webkit [247437] by jiewen_tan@apple.com
  • 4 edits in trunk

[iOS] SOAuthorizationSession should tell AppSSO whether the UIClient is capable of showing the extension UI
https://bugs.webkit.org/show_bug.cgi?id=199790
<rdar://problem/52790112>

Reviewed by Brent Fulgham.

Source/WebKit:

On iOS, WebKit relies on a SPI -[WKUIDelegatePrivate _presentingViewControllerForWebView:] to present the
extension UI. However, third party clients often don't implement this SPI. Therefore, WebKit will not be
able to present the extension UI for them.

To be able to show the extension UI for third party WebKit clients, WebKit should unset SOAuthorization.enableEmbeddedAuthorizationViewController
whenever clients don't implement the above SPI such that AppSSO could show the UI in their UI process.

  • UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:

(WebKit::SOAuthorizationSession::start):

Tools:

Add tests to check SOAuthorization.enableEmbeddedAuthorizationViewController accordingly.

  • TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:

(-[TestSOAuthorizationDelegate _presentingViewControllerForWebView:]):
(configureSOAuthorizationWebView):
(TestWebKitAPI::TEST):
(-[TestSOAuthorizationNavigationDelegate init]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:didFinishNavigation:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]): Deleted.

11:50 AM Changeset in webkit [247436] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

REGRESSION: Chase app crashes immediately after authentication
https://bugs.webkit.org/show_bug.cgi?id=199798
<rdar://problem/53106179>

Reviewed by Alex Christensen.

After r247411, we sometimes try to consult _page from WKWebView, before WKWebView's _page has been set. This
happens under a check for -[WKWebView _isEditable], from within -[WKContentView setupInteraction], which happens
if the host app is not linked on the iOS 12 SDK or earlier. To mitigate this, simply add a null check in
-_isEditable.

There's currently no great way to test this, since we don't have a mechanism for simulating linked-on checks.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isEditable]):

11:03 AM Changeset in webkit [247435] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: AXI: Audit: Typos in Accessibility audits
https://bugs.webkit.org/show_bug.cgi?id=199716
<rdar://problem/52721711>

Patch by Greg Doolittle <gr3g@apple.com> on 2019-07-15
Reviewed by Devin Rousso.

  • UserInterface/Controllers/AuditManager.js:
10:17 AM Changeset in webkit [247434] by sihui_liu@apple.com
  • 6 edits in trunk

window.openDatabase is not writable
https://bugs.webkit.org/show_bug.cgi?id=199737
<rdar://problem/52551332>

Reviewed by Chris Dumez.

Source/WebCore:

In r246707 we made openDatabase an undetectable attribute of window, and it was set to be read-only. This broke
some sites which replace window.openDatabase with their own implementation when window.openDatabase does not
exists or WebSQL is not implemented.

This patch removes the readonly property and adds a setter for openDatabase.

  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setOpenDatabase):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html:
9:54 AM Changeset in webkit [247433] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Parse and display layout test failures
https://bugs.webkit.org/show_bug.cgi?id=199709

Rubber-stamped by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests.start): Initialize log_observer.
(RunWebKitTests._strip_python_logging_prefix): Copied from similar code in build.webkit.org buildbot config.
(RunWebKitTests._parseRunWebKitTestsOutput): Ditto.
(RunWebKitTests.commandComplete): Gather and parse the stdout and stderr logs.
(RunWebKitTests.evaluateResult): Analyze the results and decide build status.
(RunWebKitTests.getResultSummary): Update build and step summary.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
9:18 AM Changeset in webkit [247432] by Ryan Haddad
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, attempt to fix production builds after r247403.

9:00 AM Changeset in webkit [247431] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Device Settings: update Safari user agent from 12.2 to 13.0
https://bugs.webkit.org/show_bug.cgi?id=199758

Reviewed by Maciej Stachowiak.

  • UserInterface/Base/Main.js:

(WI._handleDeviceSettingsToolbarButtonClicked):

7:32 AM Changeset in webkit [247430] by youenn@apple.com
  • 4 edits in trunk

Filter SDP c lines
https://bugs.webkit.org/show_bug.cgi?id=199791

Reviewed by Eric Carlson.

Source/WebCore:

As discussed in https://github.com/rtcweb-wg/mdns-ice-candidates/issues/91,
use 0.0.0.0 for c lines when filtering the SDP.
Covered by updated test.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::filterSDP const):

LayoutTests:

  • webrtc/datachannel/filter-ice-candidate.html:
6:39 AM Changeset in webkit [247429] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

naver.com: Video stops when tapping on the video to use buttons
https://bugs.webkit.org/show_bug.cgi?id=199784
<rdar://problem/48068610>

Reviewed by Maciej Stachowiak.

Opt out of simulated mouse event sending for tv.naver.com.
When tv.naver.com receives the simulated mouseUp at touchEnd, it pauses the video right away and calls preventDefault()
which prevents us from running the hover heuristics.

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):

5:37 AM WebKitGTK/2.24.x edited by Michael Catanzaro
(diff)
4:58 AM Changeset in webkit [247428] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Unreviewed, rolling out r247393.
https://bugs.webkit.org/show_bug.cgi?id=199797

broke mips and arm EWS (Requested by guijemont on #webkit).

Reverted changeset:

"run-javascriptcore-tests won't report test results for
testmasm, testair, testb3, testdfg and test api"
https://bugs.webkit.org/show_bug.cgi?id=199489
https://trac.webkit.org/changeset/247393

1:58 AM Changeset in webkit [247427] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore

[GTK] GitHub breaks on FreeBSD because of "unsupported browser"
https://bugs.webkit.org/show_bug.cgi?id=199745

Reviewed by Carlos Garcia Campos.

It's been a while since I last updated the fake version numbers in our user agent, both for
the user agent quirks for naughty websites and also the Safari version in our standard user
agent. Update them. This should fix github.com on FreeBSD at least. I also noticed some
wonkiness on Google Docs recently that I thought required this update, but I didn't do
anything about it at the time because I wasn't able to reproduce the issue when I tried
again later.

This could absolutely break websites, because the web is awful, but that's calculated risk.

  • platform/UserAgentQuirks.cpp:

(WebCore::UserAgentQuirks::stringForQuirk):

  • platform/glib/UserAgentGLib.cpp:

(WebCore::buildUserAgentString):

1:47 AM Changeset in webkit [247426] by Tadeu Zagallo
  • 3 edits in trunk/Source/JavaScriptCore

Concurrent GC should not rely on current phase to determine if it's safe to steal conn
https://bugs.webkit.org/show_bug.cgi?id=199786
<rdar://problem/52505197>

Reviewed by Saam Barati.

In r246507, we fixed a race condition in the concurrent GC where the mutator might steal
the conn from the collector thread while it transitions from the End phase to NotRunning.
However, that fix was not sufficient. In the case that the mutator steals the conn, and the
execution interleaves long enough for the mutator to progress to a different collection phase,
the collector will resume in a phase other than NotRunning, and hence the check added to
NotRunning will not suffice. To fix that, we add a new variable to track whether the collector
thread is running (m_collectorThreadIsRunning) and use it to determine whether it's safe to
steal the conn, rather than relying on m_currentPhase.

  • heap/Heap.cpp:

(JSC::Heap::runNotRunningPhase):
(JSC::Heap::requestCollection):

  • heap/Heap.h:

Jul 14, 2019:

3:18 PM Changeset in webkit [247425] by Chris Dumez
  • 5 edits in trunk/Source

Add threading assertion to WeakPtrFactory::createWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=199639

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • platform/ScrollableArea.cpp:
  • rendering/RenderObject.cpp:

Source/WTF:

Add threading assertion to WeakPtrFactory::createWeakPtr() to make sure it
is called on the same thread where the WeakPtrFactory wad constructed.

  • wtf/WeakPtr.h:

(WTF::WeakPtrFactory::WeakPtrFactory):
(WTF::WeakPtrFactory::createWeakPtr const):

1:47 PM Changeset in webkit [247424] by bshafiei@apple.com
  • 7 edits in tags/Safari-608.1.35.1/Source

Versioning.

1:35 PM Changeset in webkit [247423] by bshafiei@apple.com
  • 1 copy in tags/Safari-608.1.35.1

New tag.

1:21 PM Changeset in webkit [247422] by dino@apple.com
  • 5 edits
    2 adds in trunk

WebGL not supported on WKWebView on UIKit for Mac
https://bugs.webkit.org/show_bug.cgi?id=199785
<rdar://problem/52911449>

Reviewed by Antoine Quint.

Source/WebCore:

UIKit for Mac was not creating a CGLPixelFormatObj because
it wasn't using the code hidden in PLATFORM(MAC). Instead
we should be guarding for USE(OPENGL).

There are still some inconsistencies: <rdar://53062794>

Test: webgl/smell-test.html

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::allowOfflineRenderers const): We have to return
true for this, since we don't have access to the Window Server.

Source/WTF:

MacCatalyst has Apple Graphics Control, although
this area is very messy, see <rdar://53062794>.

  • wtf/Platform.h:

LayoutTests:

Even though we don't yet run tests on UIKit for Mac, we
should have the most simple "is WebGL working?" ref test.

  • webgl/smell-test-expected.html: Added.
  • webgl/smell-test.html: Added.
Note: See TracTimeline for information about the timeline view.