Timeline
May 16, 2020:
- 9:55 PM Changeset in webkit [261791] by
-
- 14 edits in trunk/Source/WebCore
Some color-related cleanup
https://bugs.webkit.org/show_bug.cgi?id=211991
Reviewed by Sam Weinig.
Change FloatComponents and ColorComponents to use std::array<>.
Add Color::toSRGBAComponentsLossy() to make explicit potentially lossy conversions
between P3 and sRGB colors, and call it in places where we do that conversion.
Add const in a few places.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/Color.cpp:
(WebCore::Color::Color):
(WebCore::Color::toSRGBAComponentsLossy const):
(WebCore::Color::asExtended const):
- platform/graphics/Color.h:
- platform/graphics/ColorUtilities.cpp:
(WebCore::ColorMatrix::ColorMatrix):
- platform/graphics/ColorUtilities.h:
(WebCore::FloatComponents::FloatComponents):
(): Deleted.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::create):
(WebCore::ExtendedColor::cssText const):
- platform/graphics/ExtendedColor.h:
(WebCore::ExtendedColor::red const):
(WebCore::ExtendedColor::green const):
(WebCore::ExtendedColor::blue const):
(WebCore::ExtendedColor::alpha const):
(WebCore::ExtendedColor::channels const):
(WebCore::ExtendedColor::ExtendedColor):
- platform/graphics/cg/ColorCG.cpp:
(WebCore::leakCGColor):
- platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegion const):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::InvertLightnessFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
- platform/graphics/gtk/ColorGtk.cpp:
(WebCore::Color::operator GdkRGBA const):
- platform/graphics/win/ColorDirect2D.cpp:
(WebCore::Color::operator D2D1_COLOR_F const):
(WebCore::Color::operator D2D1_VECTOR_4F const):
- 7:57 PM Changeset in webkit [261790] by
-
- 3 edits9 moves in trunk/Tools
Rename some API test files
https://bugs.webkit.org/show_bug.cgi?id=211992
Reviewed by Zalan Bujtas.
I'm tired of Quick Open of Color.cpp opening the test file rather than the one I want.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/Color.cpp.
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp.
- TestWebKitAPI/Tests/WebCore/FloatPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatPoint.cpp.
- TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatRect.cpp.
- TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatSize.cpp.
- TestWebKitAPI/Tests/WebCore/IntPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntPoint.cpp.
- TestWebKitAPI/Tests/WebCore/IntRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntRect.cpp.
- TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntSize.cpp.
- TestWebKitAPI/Tests/WebCore/LayoutUnitTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp.
- 4:18 PM Changeset in webkit [261789] by
-
- 2 edits in trunk/Source/WebCore
Fix the build after r261785.
- Modules/applepay/PaymentInstallmentConfiguration.mm:
(WebCore::fromDecimalNumber):
- 2:46 PM Changeset in webkit [261788] by
-
- 2 edits in trunk/Source/WebCore
Let Xcode have its way with WebCore project
- WebCore.xcodeproj/project.pbxproj:
- Resort TableLayout.cpp.
- 12:21 PM Changeset in webkit [261787] by
-
- 93 edits48 adds6 deletes in trunk/JSTests
[test262] Update to master for May
https://bugs.webkit.org/show_bug.cgi?id=211985
Reviewed by Mark Lam.
- test262/expectations.yaml:
- test262/harness/testIntl.js:
- test262/latest-changes-summary.txt:
- test262/test/annexB/built-ins/Array/from/iterator-method-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/match/custom-matcher-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/matchAll/custom-matcher-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/replace/custom-replacer-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/replaceAll/custom-replacer-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/search/custom-searcher-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/String/prototype/split/custom-splitter-emulates-undefined.js: Added.
- test262/test/annexB/built-ins/TypedArrayConstructors/from/iterator-method-emulates-undefined.js: Added.
(testWithTypedArrayConstructors):
- test262/test/annexB/language/expressions/yield/star-iterable-throw-emulates-undefined-throws-when-called.js:
- test262/test/built-ins/AsyncGeneratorFunction/proto-from-ctor-realm-prototype.js: Added.
- test262/test/built-ins/Atomics/waitAsync/false-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/good-views.js:
- test262/test/built-ins/Atomics/waitAsync/nan-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/negative-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-no-operation.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-add.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-and.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-compareExchange.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-exchange.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-or.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-store.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-sub.js:
- test262/test/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-xor.js:
- test262/test/built-ins/Atomics/waitAsync/null-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/object-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/poisoned-object-for-timeout-throws-agent.js:
- test262/test/built-ins/Atomics/waitAsync/symbol-for-index-throws-agent.js:
- test262/test/built-ins/Atomics/waitAsync/symbol-for-timeout-throws-agent.js:
- test262/test/built-ins/Atomics/waitAsync/symbol-for-value-throws-agent.js:
- test262/test/built-ins/Atomics/waitAsync/true-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/undefined-for-timeout-agent.js:
- test262/test/built-ins/Atomics/waitAsync/undefined-index-defaults-to-zero-agent.js:
- test262/test/built-ins/Atomics/waitAsync/value-not-equal-agent.js:
- test262/test/built-ins/Atomics/waitAsync/waiterlist-block-indexedposition-wake.js:
- test262/test/built-ins/Atomics/waitAsync/was-woken-before-timeout.js:
- test262/test/built-ins/BigInt/prototype/toString/a-z.js: Added.
- test262/test/built-ins/Function/proto-from-ctor-realm-prototype.js: Added.
- test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm-prototype.js: Added.
- test262/test/built-ins/NativeErrors/AggregateError/proto-from-ctor-realm.js:
- test262/test/built-ins/Number/isSafeInteger/safe-integers.js:
- test262/test/built-ins/Number/prototype/toString/a-z.js: Added.
- test262/test/built-ins/Object/assign/strings-and-symbol-order-proxy.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/built-ins/Object/defineProperties/proxy-no-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
- test262/test/built-ins/Object/freeze/proxy-no-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
- test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-no-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
- test262/test/built-ins/Object/isFrozen/proxy-no-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
- test262/test/built-ins/Object/isSealed/proxy-no-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
- test262/test/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A10.js: Removed.
- test262/test/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A11.js: Removed.
- test262/test/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A8.js: Removed.
- test262/test/built-ins/Object/prototype/hasOwnProperty/S15.2.4.5_A9.js: Removed.
- test262/test/built-ins/Object/prototype/hasOwnProperty/length.js: Added.
- test262/test/built-ins/Object/prototype/hasOwnProperty/topropertykey_before_toobject.js: Added.
(coercibleKey1.get toString):
(coercibleKey1.get valueOf):
(coercibleKey2.Symbol.toPrimitive):
- test262/test/built-ins/Object/prototype/toString/proxy-revoked-during-get-call.js: Added.
- test262/test/built-ins/Object/seal/proxy-no-ownkeys-returned-keys-order.js: Added.
(defineProperty):
- test262/test/built-ins/Promise/all/invoke-resolve-get-once-no-calls.js:
- test262/test/built-ins/Promise/all/resolve-not-callable-close.js: Added.
(const.iter.return.return):
(const.iter.Symbol.iterator):
(Promise.all.iter.then):
- test262/test/built-ins/Promise/allSettled/resolve-not-callable-close.js: Added.
(const.iter.return.return):
(const.iter.Symbol.iterator):
(Promise.allSettled.iter.then):
- test262/test/built-ins/Promise/any/resolve-not-callable-close.js: Added.
(const.iter.return.return):
(const.iter.Symbol.iterator):
(Promise.any.iter.then):
- test262/test/built-ins/Promise/race/resolve-not-callable-close.js: Added.
(const.iter.return.return):
(const.iter.Symbol.iterator):
(Promise.race.iter.then):
- test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-dayPeriod.js:
- test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-fractionalSecondDigits.js:
- test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-style.js:
- test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order.js:
- test262/test/intl402/RelativeTimeFormat/prototype/format/pl-pl-style-long.js:
(expected.of.Object.entries):
- test262/test/intl402/RelativeTimeFormat/prototype/format/pl-pl-style-narrow.js:
(expected.of.Object.entries):
- test262/test/intl402/RelativeTimeFormat/prototype/format/pl-pl-style-short.js:
(expected.of.Object.entries):
- test262/test/intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-long.js:
(expected.of.Object.entries):
- test262/test/intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-narrow.js:
(expected.of.Object.entries):
- test262/test/intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-short.js:
(expected.of.Object.entries):
- test262/test/language/expressions/async-generator/named-yield-star-sync-return.js:
(gen):
- test262/test/language/expressions/async-generator/named-yield-star-sync-throw.js:
(gen):
- test262/test/language/expressions/async-generator/yield-star-sync-return.js:
- test262/test/language/expressions/async-generator/yield-star-sync-throw.js:
- test262/test/language/expressions/class/async-gen-method-static/yield-star-sync-return.js:
(C):
- test262/test/language/expressions/class/async-gen-method-static/yield-star-sync-throw.js:
(C):
- test262/test/language/expressions/class/async-gen-method/yield-star-sync-return.js:
- test262/test/language/expressions/class/async-gen-method/yield-star-sync-throw.js:
- test262/test/language/expressions/class/elements/async-gen-private-method-static/yield-star-sync-return.js:
(C):
- test262/test/language/expressions/class/elements/async-gen-private-method-static/yield-star-sync-throw.js:
(C):
- test262/test/language/expressions/class/elements/async-gen-private-method/yield-star-sync-return.js:
- test262/test/language/expressions/class/elements/async-gen-private-method/yield-star-sync-throw.js:
- test262/test/language/expressions/class/elements/field-declaration.js: Added.
- test262/test/language/expressions/class/elements/fields-anonymous-function-length.js:
- test262/test/language/expressions/class/elements/private-method-referenced-from-static-method.js:
- test262/test/language/expressions/object/dstr/object-rest-proxy-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/expressions/object/method-definition/async-gen-yield-star-sync-return.js:
- test262/test/language/expressions/object/method-definition/async-gen-yield-star-sync-throw.js:
- test262/test/language/expressions/object/object-spread-proxy-ownkeys-returned-keys-order.js: Added.
(getOwnPropertyDescriptor):
(ownKeys):
- test262/test/language/identifiers/part-unicode-10.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-10.0.0.js:
- test262/test/language/identifiers/part-unicode-11.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-11.0.0.js:
- test262/test/language/identifiers/part-unicode-12.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-12.0.0.js:
- test262/test/language/identifiers/part-unicode-13.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-13.0.0.js:
- test262/test/language/identifiers/part-unicode-5.2.0-escaped.js:
- test262/test/language/identifiers/part-unicode-5.2.0.js:
- test262/test/language/identifiers/part-unicode-6.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-6.0.0.js:
- test262/test/language/identifiers/part-unicode-6.1.0-escaped.js:
- test262/test/language/identifiers/part-unicode-6.1.0.js:
- test262/test/language/identifiers/part-unicode-7.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-7.0.0.js:
- test262/test/language/identifiers/part-unicode-8.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-8.0.0.js:
- test262/test/language/identifiers/part-unicode-9.0.0-escaped.js:
- test262/test/language/identifiers/part-unicode-9.0.0.js:
- test262/test/language/module-code/eval-rqstd-once.js:
- test262/test/language/module-code/export-star-as-dflt.js: Added.
- test262/test/language/module-code/export-star-as-dflt_FIXTURE.js: Added.
- test262/test/language/statements/async-generator/yield-star-sync-return.js:
- test262/test/language/statements/async-generator/yield-star-sync-throw.js:
- test262/test/language/statements/class/async-gen-method-static/yield-star-sync-return.js:
- test262/test/language/statements/class/async-gen-method-static/yield-star-sync-throw.js:
- test262/test/language/statements/class/async-gen-method/yield-star-sync-return.js:
- test262/test/language/statements/class/async-gen-method/yield-star-sync-throw.js:
- test262/test/language/statements/class/elements/async-gen-private-method-static/yield-star-sync-return.js:
- test262/test/language/statements/class/elements/async-gen-private-method-static/yield-star-sync-throw.js:
- test262/test/language/statements/class/elements/async-gen-private-method/yield-star-sync-return.js:
- test262/test/language/statements/class/elements/async-gen-private-method/yield-star-sync-throw.js:
- test262/test/language/statements/class/elements/field-declaration.js: Added.
(C):
- test262/test/language/statements/class/elements/fields-anonymous-function-length.js:
- test262/test/language/statements/class/elements/private-method-referenced-from-static-method.js:
- test262/test/language/statements/class/subclass/bound-function.js: Removed.
- test262/test/language/statements/class/subclass/class-definition-superclass-generator.js: Removed.
- test262/test/language/statements/class/subclass/superclass-arrow-function.js: Added.
(fn):
(A):
(C):
- test262/test/language/statements/class/subclass/superclass-async-function.js: Added.
(async fn):
(A):
(bound):
(C):
- test262/test/language/statements/class/subclass/superclass-async-generator-function.js: Added.
(async fn):
(A):
(bound):
(async bind):
- test262/test/language/statements/class/subclass/superclass-bound-function.js: Added.
(bound):
- test262/test/language/statements/class/subclass/superclass-generator-function.js: Added.
(fn):
(A):
(bound):
(C):
- test262/test262-Revision.txt:
- 12:16 PM Changeset in webkit [261786] by
-
- 2 edits in trunk/Source/WebCore
Add missing is<RenderTableSection> check.
Unreviewed.
- layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):
- 12:13 PM Changeset in webkit [261785] by
-
- 14 edits2 adds in trunk
REGRESSION (r260717): installmentConfiguration member is no longer available on ApplePayPaymentRequest
https://bugs.webkit.org/show_bug.cgi?id=211911
<rdar://problem/63236367>
Reviewed by Tim Horton.
Source/WebCore:
Prior to r260717, installmentConfiguration was a member of ApplePayRequestBase, making it
available on ApplePayRequest and ApplePayPaymentRequest. In r260717, it was mistakenly
moved to ApplePayRequest.
This change moves it back to ApplePayRequestBase, adds infrastructure for regression testing
ApplePayInstallmentConfiguration, and adds a regression test.
Test: http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html
- Modules/applepay/ApplePayInstallmentConfiguration.idl:
- Modules/applepay/ApplePayRequestBase.cpp:
(WebCore::convertAndValidate):
(WebCore::finishConverting): Deleted.
- Modules/applepay/ApplePayRequestBase.idl:
- Modules/applepay/PaymentInstallmentConfiguration.mm:
(WebCore::fromDecimalNumber):
(WebCore::applePaySetupFeatureType):
(WebCore::PaymentInstallmentConfiguration::applePayInstallmentConfiguration const):
- Modules/applepay/PaymentInstallmentConfigurationWebCore.h:
- Modules/applepay/paymentrequest/ApplePayRequest.idl:
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::showPaymentUI):
- testing/MockPaymentCoordinator.h:
- testing/MockPaymentCoordinator.idl:
Source/WebKit:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode):
(IPC::finishDecoding): Deleted.
(IPC::finishEncoding): Deleted.
LayoutTests:
- http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https-expected.txt: Added.
- http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html: Added.
- 10:10 AM Changeset in webkit [261784] by
-
- 4 edits2 adds in trunk
[LFC][TFC] Ignore table padding when borders are collapsed
https://bugs.webkit.org/show_bug.cgi?id=211984
Reviewed by Antti Koivisto.
Source/WebCore:
Table padding has no room left when the table border is collapsed with the inner table elements.
Test: fast/layoutformattingcontext/table-simple-border-collapse-with-padding.html
- layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isPaddingApplicable const):
LayoutTests:
- fast/layoutformattingcontext/table-simple-border-collapse-with-padding-expected.html: Added.
- fast/layoutformattingcontext/table-simple-border-collapse-with-padding.html: Added.
- 9:24 AM Changeset in webkit [261783] by
-
- 5 edits in trunk/LayoutTests
Make editing/spelling/editing-word-with-marker-2.html test what it claims and make it work on iOS
https://bugs.webkit.org/show_bug.cgi?id=211802
Reviewed by Darin Adler.
Went back and looked at the originally written version of this test that was added in r70826
and brought back the missing "insert whitespace after misspelling" sub-test. While I am here,
I also simplified the test and made the test work on iOS by using UIHelper. I also fixed some
idiosyncrasies that were introduced in r169687 and did other modernizations.
The fix for iOS was simple: just enable internals.setContinuousSpellCheckingEnabled() + use UIHelper
to activate the textarea + blur the textarea on reset (for maximal code reuse). I didn't enable this
via the WKTR option spellCheckingDots because this test should be capable of running in DumpRenderTree
though we don't actually run DumpRenderTree for iOS on any bots. So, I did this largely for just for me.
I removed the use of editing commands to clear the textarea in favor of just setting the element's
value attribute because it's simpler and exercises less code in the engine, which I hope will reduce
future flakiness + the purpose of the test is to test how a spelling marker is updated not an exercise
on how to clear a textarea using editing commands. That kind of exercise is expected to be covered
by dedicated editing tests, though I haven't checked that they exist, but would be suprised if they
didn't.
- editing/spelling/editing-word-with-marker-2-expected.txt:
- editing/spelling/editing-word-with-marker-2.html:
- platform/ios-wk1/TestExpectations: Unskip.
- platform/ios-wk2/TestExpectations: Ditto.
- 8:27 AM Changeset in webkit [261782] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Take vertical spacing into account when setting the height of a cell with rowspan
https://bugs.webkit.org/show_bug.cgi?id=211976
Reviewed by Antti Koivisto.
Source/WebCore:
When a cell spans over multiple rows, the height of the cell includes the vertical spacing between those spanned rows as well.
Test: fast/layoutformattingcontext/table-simple-rowspan-with-spacing.html
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
LayoutTests:
- fast/layoutformattingcontext/table-simple-rowspan-with-spacing-expected.html: Added.
- fast/layoutformattingcontext/table-simple-rowspan-with-spacing.html: Added.
- 2:21 AM Changeset in webkit [261781] by
-
- 3 edits in trunk/Source/WebKit
[GTK] Do not leak pages created by window.open
https://bugs.webkit.org/show_bug.cgi?id=211970
Reviewed by Carlos Garcia Campos.
Previously webkitWebViewCreateNewPage created unbalanced refence to WebPageProxy and returned
it as a raw pointer. That raw pointer was later wrapped in a RefPtr in WebKitUIClient.
This change ensures that all refs are balanced by returnin RefPtr instead of
a raw pointer.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
- UIProcess/API/glib/WebKitWebViewPrivate.h:
- 1:24 AM Changeset in webkit [261780] by
-
- 88 edits in trunk
[JSC] Make OutOfMemory error as instance of RangeError
https://bugs.webkit.org/show_bug.cgi?id=211952
Reviewed by Mark Lam.
JSTests:
- ChakraCore/test/Error/outofmem.baseline-jsc:
- es6/String.prototype_methods_String.prototype.padEnd.js:
(TestMemoryLimits):
- es6/String.prototype_methods_String.prototype.padStart.js:
(TestMemoryLimits):
- slowMicrobenchmarks/function-constructor-with-huge-strings.js:
- stress/array-join-on-strings-need-overflow-checks.js:
- stress/big-wasm-memory-grow-no-max.js:
(test):
- stress/big-wasm-memory-grow.js:
(test):
- stress/big-wasm-memory.js:
(test):
- stress/bigint-exponential-oom.js:
(shouldThrow):
- stress/bigint-int32-min-shift.js:
(shouldThrow):
- stress/check-symbol-description-oom.js:
- stress/constructFunctionSkippingEvalEnabledCheck-should-throw-out-of-memory-error.js:
- stress/intl-canonicalize-locale-list-error-oom.js:
(shouldThrow):
- stress/joined-strings-should-not-exceed-max-string-length.js:
- stress/js-fixed-array-out-of-memory.js:
(test):
- stress/json-stringified-overflow-2.js:
(catch):
- stress/json-stringified-overflow.js:
(catch):
- stress/json-stringify-string-builder-overflow.js:
- stress/missing-exception-check-in-JSValue-toWTFStringSlowCase.js:
- stress/missing-exception-check-in-array-prototype-fastJoin.js:
- stress/missing-exception-check-in-canonicalizeLocaleList.js:
- stress/missing-exception-check-in-json-stringifier-gap.js:
- stress/missing-exception-check-in-string-compare.js:
- stress/missing-exception-check-in-string-greater-than-compare.js:
- stress/missing-exception-check-in-string-greater-than-or-equal-compare.js:
- stress/missing-exception-check-in-string-lastIndexOf.js:
- stress/missing-exception-check-in-string-less-than-compare.js:
- stress/missing-exception-check-in-string-less-than-or-equal-compare.js:
- stress/missing-exception-check-in-string-toLower.js:
- stress/missing-exception-check-in-string-toUpper.js:
- stress/new_array_with_spread-should-cap-array-size-to-MIN_ARRAY_STORAGE_CONSTRUCTION_LENGTH.js:
- stress/out-of-memory-while-constructing-BytecodeGenerator.js:
- stress/regexp-prototype-exec-on-too-long-rope.js:
- stress/regexp-prototype-match-on-too-long-rope.js:
- stress/regexp-prototype-test-on-too-long-rope.js:
- stress/regress-169783.js:
(doTest):
- stress/regress-178385.js:
- stress/regress-178386.js:
- stress/regress-185888.js:
- stress/regress-189132.js:
- stress/regress-190187.js:
- stress/regress-191563.js:
- stress/scoped-arguments-table-should-be-tolerant-for-oom.js:
(i.canThrow):
- stress/string-16bit-repeat-overflow.js:
- stress/string-overflow-createError-builder.js:
- stress/string-overflow-createError-fit.js:
- stress/string-overflow-createError.js:
- stress/string-prototype-charCodeAt-on-too-long-rope.js:
- stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js:
- stress/switch-string-oom.js:
(testLowerTiers):
(testFTL):
- stress/test-exception-assert-in-ExceptionHelpers-createError.js:
- stress/test-out-of-memory.js:
- stress/typed-array-subarray-can-throw-oom-error.js:
(get bar):
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
- wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
Source/JavaScriptCore:
The spec sometimes requires "check parameters and throw RangeError" before allocating an object.
But we are just allocating an object and throwing an out-of-memory error since wrong parameter will
cause out-of-memory. If out-of-memory error is RangeError, then we can keep our current behavior while
we can make us spec compliant. And note that out-of-memory error is RangeError in SpiderMonkey and V8.
This patch makes out-of-memory error as RangeError instead of Error. We also fix @throwOutOfMemoryError
in builtin code: the previous thrown errors are not marked as out-of-memory error.
- bytecode/BytecodeList.rb:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitThrowStaticError):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitThrowTypeError):
(JSC::BytecodeGenerator::emitThrowRangeError):
(JSC::BytecodeGenerator::emitThrowOutOfMemoryError):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::RegExpNode::emitBytecode):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwTypeError):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_throwRangeError):
- dfg/DFGOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/Error.cpp:
(JSC::createError):
(JSC::createOutOfMemoryError):
- runtime/Error.h:
- runtime/ErrorType.cpp:
(JSC::errorTypeName):
(WTF::printInternal):
- runtime/ErrorType.h: We introduced ErrorTypeWithExtension separately from ErrorType to keep ErrorType one-on-one to spec-specified error types.
LayoutTests:
- inspector/debugger/no-pause-out-of-memory-exception-expected.txt:
- js/array-join-expected.txt:
- js/dom/concat-large-strings-crash-expected.txt:
- js/dom/concat-large-strings-crash2-expected.txt:
- js/dom/script-tests/string-replacement-outofmemory.js:
- js/dom/string-concatenate-outofmemory-expected.txt:
- js/dom/string-replacement-outofmemory-expected.txt:
- js/large-expressions-expected.txt:
- js/resources/string-concatenate-outofmemory.js:
- js/script-tests/array-join.js:
- js/script-tests/stack-overflow-regexp.js:
(shouldThrow.recursiveCall):
(shouldThrow):
- js/script-tests/string-padend.js:
- js/script-tests/string-padstart.js:
- js/script-tests/string-repeat.js:
- js/script-tests/stringimpl-to-jsstring-on-large-strings-1.js:
- js/stack-overflow-regexp-expected.txt:
- js/string-padend-expected.txt:
- js/string-padstart-expected.txt:
- js/string-repeat-expected.txt:
- js/stringimpl-to-jsstring-on-large-strings-1-expected.txt:
May 15, 2020:
- 10:45 PM Changeset in webkit [261779] by
-
- 4 edits in trunk/Tools
[GTK][WPE] Add default initialization of WebsiteDataStore to WebKitTestRunner after r261758
https://bugs.webkit.org/show_bug.cgi?id=211977
As GTK/WPE does not explicitly create WebSiteDataStore for the tests,
assign the default one.
Not sure if this is the correct fix, but should allow running tests
again.
Reviewed by Žan Doberšek.
- WebKitTestRunner/TestController.cpp: Add GTK/WPE guards.
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
WebsiteDataStore.
- WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
websiteDataStore.
- 9:32 PM Changeset in webkit [261778] by
-
- 3 edits2 adds in trunk
Nullptr crash in MediaQueryMatcher::evaluateAll
https://bugs.webkit.org/show_bug.cgi?id=211963
<rdar://problem/62850977>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: fast/media/media-query-list-mutation.html
- css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::evaluateAll):
Copy the vector before iterating.
LayoutTests:
- fast/media/media-query-list-mutation-expected.txt: Added.
- fast/media/media-query-list-mutation.html: Added.
- 9:09 PM Changeset in webkit [261777] by
-
- 3 edits2 adds in trunk
Nullptr crash in WebCore::Node::treeScope() when processing nested list insertion commands.
https://bugs.webkit.org/show_bug.cgi?id=211964
<rdar://problem/63224871>
Reviewed by Geoffrey Garen.
Source/WebCore:
Load event may fire in fixOrphanedListChild() and change the node tree. In doApplyForSingleParagraph check for
disconnected node returned by fixOrphanedListChild() and bail out.
Test: editing/inserting/nested-list-insertion-crash.html
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):
LayoutTests:
Added a regression test for the crash.
- editing/inserting/nested-list-insertion-crash-expected.txt: Added.
- editing/inserting/nested-list-insertion-crash.html: Added.
- 8:45 PM Changeset in webkit [261776] by
-
- 57 edits in trunk
Use enum serialization instead of casting to/from uint32_t
https://bugs.webkit.org/show_bug.cgi?id=211885
Source/WebCore:
<rdar://problem/60106629> and <rdar://problem/60107663>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
This doesn't change anything except make stricter checks at IPC boundaries.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
- editing/EditingBehavior.h:
- editing/Editor.cpp:
(WebCore::Editor::shouldSmartDelete):
(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::misspelledWordAtCaretOrRange const):
(WebCore::Editor::guessesForMisspelledOrUngrammatical):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::handleAcceptedCandidate):
- editing/EditorCommand.cpp:
(WebCore::executeDeleteBackward):
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
(WebCore::executeDeleteForward):
(WebCore::executeDeleteToBeginningOfLine):
(WebCore::executeDeleteToBeginningOfParagraph):
(WebCore::executeDeleteToEndOfLine):
(WebCore::executeDeleteToEndOfParagraph):
(WebCore::executeDeleteWordBackward):
(WebCore::executeDeleteWordForward):
(WebCore::executeForwardDelete):
(WebCore::executeMoveBackward):
(WebCore::executeMoveBackwardAndModifySelection):
(WebCore::executeMoveDown):
(WebCore::executeMoveDownAndModifySelection):
(WebCore::executeMoveForward):
(WebCore::executeMoveForwardAndModifySelection):
(WebCore::executeMoveLeft):
(WebCore::executeMoveLeftAndModifySelection):
(WebCore::executeMoveRight):
(WebCore::executeMoveRightAndModifySelection):
(WebCore::executeMoveToBeginningOfDocument):
(WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
(WebCore::executeMoveToBeginningOfLine):
(WebCore::executeMoveToBeginningOfLineAndModifySelection):
(WebCore::executeMoveToBeginningOfParagraph):
(WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
(WebCore::executeMoveToBeginningOfSentence):
(WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfDocument):
(WebCore::executeMoveToEndOfDocumentAndModifySelection):
(WebCore::executeMoveToEndOfSentence):
(WebCore::executeMoveToEndOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfLine):
(WebCore::executeMoveToEndOfLineAndModifySelection):
(WebCore::executeMoveToEndOfParagraph):
(WebCore::executeMoveToEndOfParagraphAndModifySelection):
(WebCore::executeMoveParagraphBackwardAndModifySelection):
(WebCore::executeMoveParagraphForwardAndModifySelection):
(WebCore::executeMoveUp):
(WebCore::executeMoveUpAndModifySelection):
(WebCore::executeMoveWordBackward):
(WebCore::executeMoveWordBackwardAndModifySelection):
(WebCore::executeMoveWordForward):
(WebCore::executeMoveWordForwardAndModifySelection):
(WebCore::executeMoveWordLeft):
(WebCore::executeMoveWordLeftAndModifySelection):
(WebCore::executeMoveWordRight):
(WebCore::executeMoveWordRightAndModifySelection):
(WebCore::executeMoveToLeftEndOfLine):
(WebCore::executeMoveToLeftEndOfLineAndModifySelection):
(WebCore::executeMoveToRightEndOfLine):
(WebCore::executeMoveToRightEndOfLineAndModifySelection):
(WebCore::executeSelectLine):
(WebCore::executeSelectParagraph):
(WebCore::executeSelectSentence):
(WebCore::executeSelectWord):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::willBeModified):
(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyExtendingLeft):
(WebCore::FrameSelection::modifyExtendingBackward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):
(WebCore::isBoundary):
(WebCore::FrameSelection::textSelectionIntent):
(WebCore::textSelectionWithDirectionAndGranularity):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::clear):
(WebCore::FrameSelection::willBeRemovedFromFrame):
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):
(WebCore::FrameSelection::rangeByAlteringCurrentSelection const):
- editing/FrameSelection.h:
- editing/TextGranularity.h:
(): Deleted.
- editing/TypingCommand.cpp:
(WebCore::editActionForTypingCommand):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::deleteSelection):
- editing/TypingCommand.h:
- editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
- editing/VisibleSelection.h:
- editing/VisibleUnits.cpp:
(WebCore::directionIsDownstream):
(WebCore::atBoundaryOfGranularity):
(WebCore::withinTextUnitOfGranularity):
(WebCore::nextWordBoundaryInDirection):
(WebCore::nextSentenceBoundaryInDirection):
(WebCore::nextParagraphBoundaryInDirection):
(WebCore::positionOfNextBoundaryOfGranularity):
(WebCore::enclosingTextUnitOfGranularity):
(WebCore::charactersAroundPosition):
(WebCore::wordRangeFromPosition):
(WebCore::closestWordBoundaryForPosition):
(WebCore::rangeExpandedByCharactersInDirectionAtWordBoundary):
(WebCore::wordBoundaryForPositionWithoutCrossingLine):
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectItemAroundHitTestResult):
- editing/cocoa/DictionaryLookup.mm:
- editing/mac/DictionaryLookupLegacy.mm:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
- loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::webGLPolicyForURL const):
(WebCore::FrameLoaderClient::resolveWebGLPolicyForURL const):
(): Deleted.
- loader/FrameLoaderTypes.h:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- page/DOMSelection.cpp:
(WebCore::DOMSelection::modify):
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EventHandler.cpp:
(WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestContextualWordFromMouseEvent):
(WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::setInitialKeyboardSelection):
(WebCore::handleKeyboardSelectionMovement):
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isOverTextInsideFormControlElement const):
Source/WebKit:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
- Scripts/webkit/messages.py:
- Shared/DocumentEditingContext.h:
- Shared/ios/GestureTypes.h:
- UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
(WebKit::toAPI):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::toWebCoreWebGLLoadPolicy):
(WebKit::NavigationState::NavigationClient::webGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::resolveWebGLLoadPolicy const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView selectForWebView:]):
(toUIWKSelectionFlags):
(toSelectionFlags):
(toWKTextGranularity):
(toWKSelectionDirection):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:withFlags:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:withFlags:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView selectWordForReplacement]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::gestureCallback):
(WebKit::WebPageProxy::touchesCallback):
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectWithTwoTouches):
(WebKit::WebPageProxy::extendSelection):
(WebKit::WebPageProxy::requestRectsForGranularityWithSelectionOffset):
- WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::webGLPolicyForURL const):
(WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
(WebKit::WebPage::getSelectionContext):
(WebKit::WebPage::selectWithGesture):
(WebKit::rangeAtWordBoundaryForPosition):
(WebKit::WebPage::updateSelectionWithTouches):
(WebKit::WebPage::selectWithTwoTouches):
(WebKit::WebPage::extendSelection):
(WebKit::WebPage::selectWordBackward):
(WebKit::WebPage::moveSelectionByOffset):
(WebKit::WebPage::getRectsForGranularityWithSelectionOffset):
(WebKit::WebPage::selectPositionAtBoundaryWithDirection):
(WebKit::WebPage::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPage::rangeForGranularityAtPoint):
(WebKit::WebPage::selectTextWithGranularityAtPoint):
(WebKit::WebPage::beginSelectionInDirection):
(WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):
(WebKit::WebPage::requestDictationContext):
(WebKit::WebPage::applyAutocorrectionInternal):
(WebKit::WebPage::autocorrectionContext):
(WebKit::dataDetectorLinkPositionInformation):
(WebKit::moveByGranularityRespectingWordBoundary):
(WebKit::WebPage::requestDocumentEditingContext):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::webGLPolicyForURL):
(WebKit::WebPage::resolveWebGLPolicyForURL):
Source/WebKitLegacy/ios:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
- WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
(-[WebFrame setSelectionGranularity:]):
- WebCoreSupport/WebVisiblePosition.mm:
(toTextGranularity):
(toSelectionDirection):
Source/WebKitLegacy/mac:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
- DOM/DOMUIKitExtensions.mm:
(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::webGLPolicyForURL const):
(WebFrameLoaderClient::resolveWebGLPolicyForURL const):
- WebView/WebHTMLView.mm:
(-[WebHTMLView _canSmartCopyOrDelete]):
- WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::increaseTextSelection):
(AccessibilityUIElement::decreaseTextSelection):
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
- 7:14 PM Changeset in webkit [261775] by
-
- 22 edits in trunk/Source/WebCore
Rename the mapLocalToContainer() container argument, since it's not just used for repaint
https://bugs.webkit.org/show_bug.cgi?id=211974
Reviewed by Zalan Bujtas.
mapLocalToContainer() is a generic geometry mapping function, and not just used for repaint,
so rename the "repaintContainer" argument to "ancestorContainer".
Also fix some weirdly named variables in RenderMultiColumnFlow.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer const):
- rendering/RenderBox.h:
- rendering/RenderFragmentedFlow.cpp:
(WebCore::RenderFragmentedFlow::mapLocalToContainer const):
- rendering/RenderFragmentedFlow.h:
- rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer const):
(WebCore::RenderInline::pushMappingToContainer const):
- rendering/RenderMultiColumnFlow.cpp:
(WebCore::RenderMultiColumnFlow::addFragmentToThread):
(WebCore::RenderMultiColumnFlow::mapFromFlowToFragment const):
(WebCore::RenderMultiColumnFlow::physicalTranslationOffsetFromFlowToFragment const):
(WebCore::RenderMultiColumnFlow::physicalTranslationFromFlowToFragment const):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::mapLocalToContainer const):
(WebCore::RenderObject::localToContainerQuad const):
(WebCore::RenderObject::localToContainerPoint const):
- rendering/RenderObject.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer const):
- rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer const):
- rendering/svg/RenderSVGForeignObject.h:
- rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer const):
- rendering/svg/RenderSVGInline.h:
- rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer const):
- rendering/svg/RenderSVGModelObject.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer const):
- rendering/svg/RenderSVGRoot.h:
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer const):
- rendering/svg/RenderSVGText.h:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
- rendering/svg/SVGRenderSupport.h:
- 7:07 PM Changeset in webkit [261774] by
-
- 3 edits2 adds in trunk
REGRESSION (r249091): Can't click on a video in the second column of a paginated web view
https://bugs.webkit.org/show_bug.cgi?id=211973
<rdar://problem/61418775>
Reviewed by Zalan Bujtas.
Source/WebCore:
In r249091 I made clip layer computation use offsetFromAncestor() by default, but this turns
out to give different behavior from mapping via renderers in columns.
The bug was that accumulateOffsetTowardsAncestor() would map through the
RenderMultiColumnFlow columns if the ancestorLayer was the one that was using columns,
but mapping via renderers only maps through columns if converting to some ancestor of
the columnated renderer.
I did not investigate why this only affects video.
Test: fast/multicol/clipped-video-in-second-column.html
- rendering/RenderLayer.cpp:
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::calculateClipRects const):
LayoutTests:
- fast/multicol/clipped-video-in-second-column-expected.html: Added.
- fast/multicol/clipped-video-in-second-column.html: Added.
- 6:23 PM Changeset in webkit [261773] by
-
- 3 edits1 add in trunk
[JSC] getFunctionRealm should not use recursion
https://bugs.webkit.org/show_bug.cgi?id=211965
<rdar://problem/63268287>
Reviewed by Saam Barati.
JSTests:
- stress/get-function-realm-not-doing-recursion.js: Added.
(canThrow):
(const.emptyFunction):
Source/JavaScriptCore:
This patch avoids using recursion in getFunctionRealm to avoid stack-overflow.
- runtime/InternalFunction.cpp:
(JSC::getFunctionRealm):
- 6:17 PM Changeset in webkit [261772] by
-
- 5 edits2 adds in trunk
Web Inspector: Fails to pretty-print a particular CSS file
https://bugs.webkit.org/show_bug.cgi?id=211930
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Workers/Formatter/CSSFormatter.js:
(CSSFormatter.prototype._format):
Keep a stack of special sequences (e.g.",',/*, etc.), only outputting the text in
between the start and end of the sequence when the stack is empty. Ignore all other special
sequences when in a comma sequence. Add proper checks for if the star/end is escaped.
Drive-by: minor refactor so that the arrow functions are created outside the loop.
LayoutTests:
- inspector/formatting/formatting-css.html:
- inspector/formatting/formatting-css-expected.txt:
- inspector/formatting/resources/css-tests/url.css: Added.
- inspector/formatting/resources/css-tests/url-expected.css: Added.
- 5:43 PM Changeset in webkit [261771] by
-
- 1 copy in tags/Safari-610.1.13
Tag Safari-610.1.13.
- 5:03 PM Changeset in webkit [261770] by
-
- 3 edits in trunk/LayoutTests
media/video-poster-set-after-playback.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211856
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- platform/mac/TestExpectations: Ditto.
- 4:57 PM Changeset in webkit [261769] by
-
- 4 edits in trunk/Source/WebCore
OES_texture_float internal format conversion must depend on WEBGL_color_buffer_float
https://bugs.webkit.org/show_bug.cgi?id=211971
Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-15
Reviewed by Dean Jackson.
Only adjust the internal formats of textures created for the WebGL
1.0 OES_texture_float extension if the WEBGL_color_buffer_float
extension has been enabled.
Covered by the WebGL 1.0 OES_texture_float conformance tests when
run on iOS with another forthcoming fix to ANGLE which will enable
the OES_texture_float extension on that platform.
- platform/graphics/angle/ExtensionsGLANGLE.cpp:
(WebCore::ExtensionsGLANGLE::ensureEnabled):
(WebCore::ExtensionsGLANGLE::adjustWebGL1TextureInternalFormat):
- platform/graphics/angle/ExtensionsGLANGLE.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::texImage2DDirect):
- 4:43 PM Changeset in webkit [261768] by
-
- 2 edits in trunk/Tools
[iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
https://bugs.webkit.org/show_bug.cgi?id=208451
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST): Re-enable the test for iOS.
- 4:26 PM Changeset in webkit [261767] by
-
- 4 edits2 adds in trunk
[css-grid] Treat percentages as auto for the minimum contribution
https://bugs.webkit.org/show_bug.cgi?id=195967
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import WPT test.
- web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages-expected.txt: Added.
- web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages.html: Added.
- web-platform-tests/css/css-grid/grid-definition/w3c-import.log:
Source/WebCore:
The minimum contribution of a grid item is the outer size resulting from
the minimum size if the computed preferred size behaves as auto, or the
min-content contribution otherwise.
If the preferred size is a percentage, it should be resolved with
respect to the grid area, which depends on the minimum contribution
of the item. Thus the percentage is cyclic and behaves as auto.
Before this change, WebKit only checked whether the preferred size is
auto, not whether it behaves as auto. In fact this was according to
an older version of the spec, but it was changed in
https://github.com/w3c/csswg-drafts/issues/2367
Test: imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages.html
Some cases in the test still fail due to bug 209461.
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
- 3:39 PM Changeset in webkit [261766] by
-
- 2 edits in trunk/Tools
Update Sihui Liu's status to reviewer
https://bugs.webkit.org/show_bug.cgi?id=211966
Reviewed by Per Arne Vollan.
See email thread on webkit-reviewers on 5/7, "Reviewer nomination:
Sihui Liu".
- Scripts/webkitpy/common/config/contributors.json:
- 3:32 PM Changeset in webkit [261765] by
-
- 2 edits in trunk/Tools
TestWebKitAPI.WKHTTPCookieStore.Basic is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211752
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
The ordering of cookiesDidChangeInCookieStore callbacks with regard to other callbacks isn't quite deterministic.
No problem. If the number of callbacks isn't what it is expected, wait until it is.
When I reproduce this test failure, I need to spin the run loop at max once to have it succeed, but the bots may take a few more run loop spins.
Spin until the number of callbacks is the expected value.
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore):
- 2:55 PM Changeset in webkit [261764] by
-
- 11 edits in trunk
Make host parser fail on
https://bugs.webkit.org/show_bug.cgi?id=211901
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-origin-expected.txt:
- web-platform-tests/url/a-element-origin-xhtml-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/failure-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/url-origin-expected.txt:
- web-platform-tests/url/urltestdata.json:
Source/WTF:
This matches the behavior of Chrome and Firefox, and now the specification!
I updated the URL wpt data, and this introduces new PASSes.
- wtf/URLParser.cpp:
(WTF::isC0Control):
(WTF::isForbiddenHostCodePoint):
- 2:40 PM Changeset in webkit [261763] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix internal arm64e build.
- dfg/DFGSpeculativeJIT.cpp:
- 2:32 PM Changeset in webkit [261762] by
-
- 6 edits in trunk
[iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=211786
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Use CFNetwork SPI to stop it from unlinking the downloaded file after resuming then completing.
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
Add a short sleep (<1/10s) to make this test so it would've almost always failed without this fix.
Checking the file immediately usually succeeded, but waiting a few run loop iterations revealed that CFNetwork
was deleting resumed then finished downloads.
- 2:31 PM Changeset in webkit [261761] by
-
- 4 edits in trunk
Regression (iOS 13.4, r249142): WKWebView.loading is never reset after a Back navigation in an iframe
https://bugs.webkit.org/show_bug.cgi?id=211449
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-15
Reviewed by Geoffrey Garen.
Source/WebKit:
Always call clearPendingAPIRequest in WebPageProxy::didStartProvisionalLoadForFrameShared.
r249142 regressed this and caused more "loading appears to continue forever" bugs fixed in r249890.
This should fix both, by removing the problematic half of r249142.
Covered by an API test.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[LoadingObserver changesObserved]):
(-[LoadingObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
- 2:27 PM Changeset in webkit [261760] by
-
- 2 edits in trunk/LayoutTests
Cursor should not update on a 20ms timer
https://bugs.webkit.org/show_bug.cgi?id=211884
<rdar://problem/63220368>
Unreviewed.
This is a mouse-specific test and should not be run on iOS.
- platform/ios/TestExpectations:
- 2:04 PM Changeset in webkit [261759] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] css2.1/20110323/replaced-intrinsic-ratio-001.htm is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209350
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:50 PM Changeset in webkit [261758] by
-
- 5 edits in trunk/Tools
Make sure we use current data store in WKTR's TestController
https://bugs.webkit.org/show_bug.cgi?id=211920
Reviewed by Alex Christensen.
Make sure we use current data store in WKTR's TestController. Currently, a lot of code
uses defaultDataStore(), even though the test may be using another data store (e.g. an
ephemeral one). I suspect this is contributing to test flakiness.
We now also make sure that TestController::websiteDataStore() returns the actual store
that will be used by the test when resetPreferencesToConsistentValues() is called.
Previously, it would not since it would get the store from the m_mainView and m_mainView
would only get initialized after calling resetPreferencesToConsistentValues(). To support
this, we now initialize a m_websiteDataStore member in platformInitializeDataStore(),
which gets called right before resetPreferencesToConsistentValues(). When
platformCreateWebView() gets called right after resetPreferencesToConsistentValues(),
it now simply relies on m_websiteDataStore instead of creating the data store at this
point.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestController::clearServiceWorkerRegistrations):
(WTR::TestController::clearDOMCache):
(WTR::TestController::clearDOMCaches):
(WTR::TestController::hasDOMCache):
(WTR::TestController::domCacheSize):
(WTR::TestController::clearStatisticsDataForDomain):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- 1:42 PM Changeset in webkit [261757] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix internal fast tls build.
- jit/AssemblyHelpers.cpp:
- 1:07 PM Changeset in webkit [261756] by
-
- 6 edits2 adds in trunk
[Web Animations] Animation with a single keyframe is not accelerated
https://bugs.webkit.org/show_bug.cgi?id=188730
<rdar://problem/43481113>
Reviewed by Dean Jackson.
Source/WebCore:
Test: webanimations/accelerated-animation-single-keyframe.html
Prior to attempting to run an accelerated effect, ensure that the KeyframeList passed to
RenderLayerModelObject::startAnimation() does not have implicit keyframes since eventually
GraphicsLayerCA::animationCanBeAccelerated() would be called and would reject a single-keyframe
animation. To do this, we use the same code used in Style::Resolver::keyframeStylesForAnimation()
which we refactor in the new KeyframeList::fillImplicitKeyframes() method.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
- rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::hasImplicitKeyframes const):
(WebCore::KeyframeList::copyKeyframes):
(WebCore::zeroPercentKeyframe):
(WebCore::hundredPercentKeyframe):
(WebCore::KeyframeList::fillImplicitKeyframes):
- rendering/style/KeyframeList.h:
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::keyframeStylesForAnimation):
LayoutTests:
Add a new test that runs a single-keyframe transform animation and checks that it runs accelerated.
- webanimations/accelerated-animation-single-keyframe-expected.txt: Added.
- webanimations/accelerated-animation-single-keyframe.html: Added.
- 12:39 PM Changeset in webkit [261755] by
-
- 741 edits in trunk/Source/JavaScriptCore
[IWYU] Remove unnecessary includes from JSC implementation files
https://bugs.webkit.org/show_bug.cgi?id=211867
Reviewed by Keith Miller.
- API/:
- assembler/:
- b3/:
- bindings/:
- builtins/BuiltinExecutables.cpp:
- bytecode/:
- bytecompiler/:
- debugger/:
- dfg/:
- disassembler/:
- ftl/:
- heap/:
- inspector/:
- interpreter/:
- jit/:
- jsc.cpp:
- llint/:
- parser/:
- profiler/:
- runtime/:
- testRegExp.cpp:
- tools/:
- wasm/:
- yarr/:
- 12:24 PM Changeset in webkit [261754] by
-
- 2 edits in trunk/Source/JavaScriptCore
-Wtype-limits warning spam from CCallHelpers.h
https://bugs.webkit.org/show_bug.cgi?id=211701
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-05-15
Reviewed by Darin Adler.
Skip the problematic loops when TargetSize or NumberOfRegisters is 0 using constexpr if.
Solution suggested by Mark Lam.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupStubArgs):
(JSC::CCallHelpers::clampArrayToSize):
- 12:02 PM Changeset in webkit [261753] by
-
- 3 edits in trunk/LayoutTests
media/video-poster-set-after-playback.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211856
<rdar://problem/63194296>
Unreviewed test fix.
- media/video-poster-set-after-playback-expected.txt:
- media/video-poster-set-after-playback.html: Wait for
Videodisplay mode before
pausing to ensure there is a video frame.
- 11:45 AM Changeset in webkit [261752] by
-
- 6 edits2 adds in trunk
The initial value of "transform-box" should be "view-box"
https://bugs.webkit.org/show_bug.cgi?id=211927
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-05-15
Reviewed by Simon Fraser.
Source/WebCore:
Specs: https://drafts.csswg.org/css-transforms/#transform-box.
Test: svg/transforms/svg-transform-box-initial.html
- css/CSSProperties.json:
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialTransformBox):
LayoutTests:
- fast/css/transform-box-parsing-expected.txt:
- fast/css/transform-box-parsing.html:
- svg/transforms/svg-transform-box-initial-expected.html: Added.
- svg/transforms/svg-transform-box-initial.html: Added.
- 11:33 AM Changeset in webkit [261751] by
-
- 4 edits in trunk/Source/ThirdParty/ANGLE
REGRESSION (r259589): Google Maps background layer fades out and back in
https://bugs.webkit.org/show_bug.cgi?id=210992
Patch by James Darpinian <James Darpinian> on 2020-05-14
Reviewed by Dean Jackson.
ANGLE rendering feedback loop detection was incorrect if a texture attached
to a framebuffer was also bound to an active texture unit, and then that texture
unit became inactive because a sampler uniform was set.
- src/libANGLE/Context.cpp:
(gl::Context::onSamplerUniformChange):
- src/libANGLE/State.cpp:
(gl::State::setTextureIndexInactive):
- src/libANGLE/State.h:
- 11:33 AM Changeset in webkit [261750] by
-
- 539 edits265 adds19 deletes in trunk/Source/ThirdParty/ANGLE
Update ANGLE to 2020-03-27
https://bugs.webkit.org/show_bug.cgi?id=209689
Patch by Kenneth Russell <kbr@chromium.org> on 2020-04-06
Reviewed by Darin Adler.
Use update-angle.sh script by James Darpinian to roll ANGLE to
commit b387ce9389ede6a4ed3b831ab1b8187927fa295f in
https://chromium.googlesource.com/angle/angle .
changes.diff has been auto-updated with Apple's diffs relative to
upstream. No additional manual changes are made in this roll.
Long autogenerated file list omitted.
- 11:12 AM Changeset in webkit [261749] by
-
- 3 edits in trunk/Source/WebCore
Fix for crash in accessibility/mac/replace-text-with-range-on-webarea-element.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211954
Reviewed by Chris Fleizach.
Fixes crash in isolated tree mode in accessibility/mac/replace-text-with-range-on-webarea-element.html.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::postTextStateChangeNotification): Check for null object before dereferencing.
(WebCore::AXObjectCache::rootWebArea): Reverted to returning an AXObject since it is not needed to return AXCoreObject.
- accessibility/AXObjectCache.h:
- 10:10 AM Changeset in webkit [261748] by
-
- 2 edits in branches/safari-610.1.13-branch/Source/WebKit
Cherry-pick r261719. rdar://problem/63278098
Regression(r261163) Causes crashes on builds without libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=211924
<rdar://problem/63206792>
Reviewed by Jer Noble.
- WebProcess/Network/NetworkProcessConnection.cpp: (WebKit::NetworkProcessConnection::NetworkProcessConnection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:44 AM Changeset in webkit [261747] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove debugging dataLogs in LinkBuffer::copyCompactAndLinkCode() for release builds.
https://bugs.webkit.org/show_bug.cgi?id=211961
<rdar://problem/63264848>
Reviewed by Keith Miller.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
- 9:04 AM Changeset in webkit [261746] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS wk2 Debug ] multiple fast/text/international/system-language tests are flaky crashing - WTFCrashWithInfo - WebKit::ResourceLoadStatisticsDatabaseStore::openAndUpdateSchemaIfNecessary()
https://bugs.webkit.org/show_bug.cgi?id=211958
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 7:44 AM Changeset in webkit [261745] by
-
- 7 edits1 add in trunk/Source/WebCore
[LFC][TFC] Move column and row balancing logic to a dedicated class
https://bugs.webkit.org/show_bug.cgi?id=211937
Reviewed by Antti Koivisto.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraSpace):
(WebCore::Layout::ColumnSpan::hasSpan): Deleted.
(WebCore::Layout::ColumnSpan::isSpanned): Deleted.
(WebCore::Layout::ColumnSpan::spanCount): Deleted.
(WebCore::Layout::ColumnSpan::startSpan): Deleted.
(WebCore::Layout::ColumnSpan::endSpan): Deleted.
(WebCore::Layout::ColumnSpan::index): Deleted.
(WebCore::Layout::ColumnSpan::size): Deleted.
(WebCore::Layout::ColumnSpan::spacing): Deleted.
(WebCore::Layout::RowSpan::hasSpan): Deleted.
(WebCore::Layout::RowSpan::isSpanned): Deleted.
(WebCore::Layout::RowSpan::spanCount): Deleted.
(WebCore::Layout::RowSpan::startSpan): Deleted.
(WebCore::Layout::RowSpan::endSpan): Deleted.
(WebCore::Layout::RowSpan::index): Deleted.
(WebCore::Layout::RowSpan::size): Deleted.
(WebCore::Layout::RowSpan::spacing): Deleted.
(WebCore::Layout::GridSpace::isEmpty const): Deleted.
(): Deleted.
(WebCore::Layout::max): Deleted.
(WebCore::Layout::operator-): Deleted.
(WebCore::Layout::operator+=): Deleted.
(WebCore::Layout::operator-=): Deleted.
(WebCore::Layout::operator/): Deleted.
(WebCore::Layout::distributeAvailableSpace): Deleted.
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace): Deleted.
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraVerticalSpace): Deleted.
- layout/tableformatting/TableFormattingContext.h:
- layout/tableformatting/TableFormattingState.h:
(WebCore::Layout::TableFormattingState::tableGrid const):
- layout/tableformatting/TableGrid.h:
(WebCore::Layout::TableGrid::widthConstraints const):
(WebCore::Layout::TableGrid::Rows::list const):
(WebCore::Layout::TableGrid::widthConstraints): Deleted.
(WebCore::Layout::TableGrid::Rows::rowList const): Deleted.
- 7:40 AM Changeset in webkit [261744] by
-
- 4 edits in trunk
[GStreamer][MediaStream] Fix missing video size
https://bugs.webkit.org/show_bug.cgi?id=211938
Reviewed by Philippe Normand.
Source/WebCore:
r261683 redefined m_currentVideoStreamId. Under the new design, tracks
have several states:
- "wanted": a track has been selected from JavaScript, or chosen by default.
- "requested": a track that is expected to be chosen by the next STREAMS_SELECTED message.
- "current": a track that has been selected after the STREAMS_SELECTED message has been handled.
naturalSize() used to check m_currentVideoStreamId to look for the
video size, but this is called relatively early before the track
becomes "current" under the new design.
Since the size tags can't be queried at any time, it makes sense to
use m_wantedVideoStreamId instead.
This fixes the following tests which were previously regressed:
fast/mediastream/get-user-media-constraints.html
fast/mediastream/getUserMedia-video-rescaling.html
fast/mediastream/mediastreamtrack-video-clone.html
imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html
fast/mediastream/media-stream-renders-first-frame.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const):
LayoutTests:
Updated test expectations.
- platform/gtk/TestExpectations:
- 7:27 AM Changeset in webkit [261743] by
-
- 3 edits in trunk/JSTests
Skip tests in ARM and MIPS post r261667
Unreviewed Gardening.
These tests started failing on both ARMv7 and MIPS post r261667.
Skipping for now until an investigation takes place.
- stress/big-int-mod-memory-stress.js:
- stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js:
- 6:59 AM Changeset in webkit [261742] by
-
- 8 edits2 adds in trunk
[Wheel event region] Invalidation when changing listeners on elements
https://bugs.webkit.org/show_bug.cgi?id=211895
Reviewed by Simon Fraser.
Source/WebCore:
Doesn't handle root (window/document) invalidation yet.
Test: fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::removeAllEventListeners):
Invalidate element style on wheel event changes.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::invalidateEventRegion):
Build on non-iOS platforms.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::maintainsEventRegion const):
Factor into function so it can be shared with RenderLayer::invalidateEventRegion.
(WebCore::RenderLayerBacking::updateEventRegion):
- rendering/RenderLayerBacking.h:
LayoutTests:
- fast/scrolling/mac/wheel-event-listener-region-element-invalidation-expected.txt: Added.
- fast/scrolling/mac/wheel-event-listener-region-element-invalidation.html: Added.
- 6:19 AM Changeset in webkit [261741] by
-
- 4 edits2 adds in trunk
Cursor should not update on a 20ms timer
https://bugs.webkit.org/show_bug.cgi?id=211884
<rdar://problem/63220368>
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/events/mouse-cursor-udpate-during-raf.html
Update cursors after rAF callbacks have been serviced and layout has been updated.
- page/Page.cpp:
(WebCore::Page::updateRendering):
(WebCore::Page::doAfterUpdateRendering):
LayoutTests:
Add a new test that checks that changing cursor during a rAF callback is applied on the immediate next run loop.
- fast/events/mouse-cursor-no-mousemove.html: Since cursor update happens in Page::updateRendering() after
rAF callbacks have been serviced, wait until the next run loop after an animation frame to check the new cursor.
- fast/events/mouse-cursor-udpate-during-raf-expected.txt: Added.
- fast/events/mouse-cursor-udpate-during-raf.html: Added.
- 5:40 AM Changeset in webkit [261740] by
-
- 2 edits in trunk/Source/WebCore
Update the isolated tree only if isolated tree mode is enabled.
https://bugs.webkit.org/show_bug.cgi?id=211936
Reviewed by Chris Fleizach.
Check for isIsolatedTreeEnabled before updating the isolated tree.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- 5:32 AM Changeset in webkit [261739] by
-
- 2 edits in trunk/Tools
[buildbot] Increase blocksize of file transfer in UploadTestResults step
https://bugs.webkit.org/show_bug.cgi?id=211847
Reviewed by Aakash Jain.
All other steps involving file transfer uploads use 256kb as block
size. Make this step in line with others.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(UploadTestResults.init):
- 3:13 AM Changeset in webkit [261738] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update test expectations after 261730
https://bugs.webkit.org/show_bug.cgi?id=211949
Unreviewed gardening.
Updates of several flaky failures.
- platform/gtk/TestExpectations:
- 1:58 AM Changeset in webkit [261737] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix ARM NEON only assert
https://bugs.webkit.org/show_bug.cgi?id=211889
Reviewed by Mark Lam.
Fix assert that breaks if ARM does not contain NEON extensions -
the register d16 is only defined if NEON exists.
- assembler/ARMv7Assembler.h:
(JSC::RegisterNames::asSingle):
(JSC::RegisterNames::asSingleUpper):
- 1:54 AM Changeset in webkit [261736] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Gardening, update test expectations
https://bugs.webkit.org/show_bug.cgi?id=211944
Unreviewed gardening.
webgl/1.0.3/conformance/more/functions/copyTexImage2DBadArgs.html is
crashing.
- platform/glib/TestExpectations:
- 1:27 AM Changeset in webkit [261735] by
-
- 9 edits in trunk
[GTK3] Bring back usage of GtkMenu for context menus
https://bugs.webkit.org/show_bug.cgi?id=211557
Reviewed by Carlos Garcia Campos.
Source/WebCore:
No new tests needed.
- platform/gtk/GtkVersioning.h: Remove GtkPopover functions used only for context menus.
Source/WebKit:
- UIProcess/API/glib/WebKitWebView.cpp:
(contextMenuDismissed): Removed.
(webkitWebViewPopulateContextMenu): Use WebContextMenuProxyGtk::widgetDismissedSignal
and move the code from contextMenuDismissed() into an inline lambda.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(activeContextMenuClosed): Removed.
(webkitWebViewBaseSetActiveContextMenuProxy): Use WebContextMenuProxyGtk::widgetDismissedSignal
and move the code from activeContextMenuClosed() into an inline lambda.
- UIProcess/gtk/WebContextMenuProxyGtk.cpp: Add helper functions to manipulate the actual
widget used for context menus depending on whether GTK3 or GTK4 is being used. The GTK3
versions bring back bits of code removed in r260889.
(WebKit::createMenuWidget): Added.
(WebKit::popupMenuWidget): Added.
(WebKit::popdownMenuWidget): Added.
(WebKit::menuWidgetHasItems): Added.
(WebKit::bindModelToMenuWidget): Added.
(WebKit::WebContextMenuProxyGtk::populate): Use context menu widget helper functions.
(WebKit::WebContextMenuProxyGtk::showContextMenuWithItems): Ditto.
(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Ditto. Also handle the
signal triggered when the context menu is dismissed and arrange to call
webkitWebViewContextMenuDismissed() and webkitWebViewBaseContextMenuDismissed().
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Use helper functions.
- UIProcess/gtk/WebContextMenuProxyGtk.h: Add WebContextMenuProxyGtk::widgetDismissedSignal
constant.
Tools:
- TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: Add preprocessor conditionals
for GTK4 and bring back some bits previously removed in r260889 for GTK3.
- 1:20 AM Changeset in webkit [261734] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update test expectations after r261678
https://bugs.webkit.org/show_bug.cgi?id=211941
Unreviewed gardening.
Two multiple-codeunit-vertical-upright tests are failing after r261678.
- platform/gtk/TestExpectations:
- 12:44 AM Changeset in webkit [261733] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update expectations after r261683
https://bugs.webkit.org/show_bug.cgi?id=211939
Unreviewed gardening.
Several gstreamer tests are failing after r261683.
- platform/gtk/TestExpectations:
- 12:00 AM Changeset in webkit [261732] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix build warning after r261113
Remove unused variable.
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):