[webkit-changes] [294000] trunk/Source/JavaScriptCore
Title: [294000] trunk/Source/_javascript_Core Revision 294000 Author ross.kirsl...@sony.com Date 2022-05-09 22:20:24 -0700 (Mon, 09 May 2022) Log Message Unreviewed, address Darin's feedback on r250361. * runtime/JSCJSValueInlines.h: (JSC::JSValue::toIntegerWithoutRounding const): Normalize away -0 by unconditionally adding positive 0 (instead of making a separate zero check). Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (293999 => 294000) --- trunk/Source/_javascript_Core/ChangeLog 2022-05-10 05:08:23 UTC (rev 293999) +++ trunk/Source/_javascript_Core/ChangeLog 2022-05-10 05:20:24 UTC (rev 294000) @@ -1,5 +1,13 @@ 2022-05-09 Ross Kirsling +Unreviewed, address Darin's feedback on r250361. + +* runtime/JSCJSValueInlines.h: +(JSC::JSValue::toIntegerWithoutRounding const): +Normalize away -0 by unconditionally adding positive 0 (instead of making a separate zero check). + +2022-05-09 Ross Kirsling + Temporal round and total methods should accept string param https://bugs.webkit.org/show_bug.cgi?id=240249 Modified: trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h (293999 => 294000) --- trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h 2022-05-10 05:08:23 UTC (rev 293999) +++ trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h 2022-05-10 05:20:24 UTC (rev 294000) @@ -118,7 +118,7 @@ if (isInt32()) return asInt32(); double d = toNumber(globalObject); -return (std::isnan(d) || !d) ? 0.0 : d; +return std::isnan(d) ? 0.0 : d + 0.0; } // https://tc39.es/ecma262/#sec-tointegerorinfinity ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293999] trunk
Title: [293999] trunk Revision 293999 Author rn...@webkit.org Date 2022-05-09 22:08:23 -0700 (Mon, 09 May 2022) Log Message Introduction.md: Explain active DOM objects https://bugs.webkit.org/show_bug.cgi?id=240212 Reviewed by Chris Dumez. Added an elementary description of active DOM objects to Introduction.md. * Introduction.md: Modified Paths trunk/ChangeLog trunk/Introduction.md Diff Modified: trunk/ChangeLog (293998 => 293999) --- trunk/ChangeLog 2022-05-10 04:41:10 UTC (rev 293998) +++ trunk/ChangeLog 2022-05-10 05:08:23 UTC (rev 293999) @@ -1,3 +1,14 @@ +2022-05-09 Ryosuke Niwa + +Introduction.md: Explain active DOM objects +https://bugs.webkit.org/show_bug.cgi?id=240212 + +Reviewed by Chris Dumez. + +Added an elementary description of active DOM objects to Introduction.md. + +* Introduction.md: + 2022-05-08 Ryosuke Niwa Introduction.md: Fix typos found by mcatanzaro Modified: trunk/Introduction.md (293998 => 293999) --- trunk/Introduction.md 2022-05-10 04:41:10 UTC (rev 293998) +++ trunk/Introduction.md 2022-05-10 05:08:23 UTC (rev 293999) @@ -1004,10 +1004,84 @@ such as incrementing or decrementing the reference count of a `RefCounted` object or creating a new `WeakPtr` from `CanMakeWeakPtr` since these WTF classes' mutation operations are not thread safe. -FIXME: Discuss Active DOM objects +## Active DOM Objects -## Referencing Counting of DOM Nodes +Visit children and opaque roots are great way to express lifecycle relationships between JS wrappers +but there are cases in which a JS wrapper needs to be kept alive without any relation to other objects. +Consider [`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest). +In the following example, _javascript_ loses all references to the `XMLHttpRequest` object and its event listener +but when a new response gets received, an event will be dispatched on the object, +re-introducing a new _javascript_ reference to the object. +That is, the object survives garbage collection's +[mark and sweep cycles](https://en.wikipedia.org/wiki/Tracing_garbage_collection#Basic_algorithm) +without having any ties to other ["root" objects](https://en.wikipedia.org/wiki/Tracing_garbage_collection#Reachability_of_an_object). +```js +function fetchURL(url, callback) +{ +const request = new XMLHttpRequest(); +request.addEventListener("load", callback); +request.open("GET", url); +request.send(); +} +``` + +In WebKit, we consider such an object to have a *pending activity*. +Expressing the presence of such a pending activity is a primary use case of +[`ActiveDOMObject`](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/dom/ActiveDOMObject.h). + +By making an object inherit from [`ActiveDOMObject`](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/dom/ActiveDOMObject.h) +and [annotating IDL as such](https://github.com/WebKit/WebKit/blob/64cdede660d9eaea128fd151281f4715851c4fe2/Source/WebCore/xml/XMLHttpRequest.idl#L42), +WebKit will [automatically generate `isReachableFromOpaqueRoot` function](https://github.com/WebKit/WebKit/blob/64cdede660d9eaea128fd151281f4715851c4fe2/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm#L5029) +which returns true whenever `ActiveDOMObject::hasPendingActivity` returns true +even though the garbage collector may not have encountered any particular opaque root to speak of in this instance. + +In the case of [`XMLHttpRequest`](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/xml/XMLHttpRequest.h), +`hasPendingActivity` [will return true](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/xml/XMLHttpRequest.cpp#L1195) +so long as there is still an active network activity associated with the object. +Once the resource is fully fetched or failed, it ceases to have a pending activity. +This way, JS wrapper of `XMLHttpRequest` is kept alive so long as there is an active network activity. + +There is one other related use case of active DOM objects, +and that's when a document enters the [back-forward cache](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/history/BackForwardCache.h) +and when the entire [page](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/page/Page.h) has to pause +for [other reasons](https://github.com/WebKit/WebKit/blob/64cdede660d9eaea128fd151281f4715851c4fe2/Source/WebCore/dom/ActiveDOMObject.h#L45). + +When this happens, each active DOM object associated with the document +[gets suspended](https://github.com/WebKit/WebKit/blob/64cdede660d9eaea128fd151281f4715851c4fe2/Source/WebCore/dom/ActiveDOMObject.h#L70). +Each active DOM object can use this opportunity to prepare itself to pause whatever pending activity; +for example, `XMLHttpRequest` [will stop dispatching `progress` event](https://github.com/WebKit/WebKit/blob/64cdede660d9eaea128fd151281f4715851c4fe2/Source/WebCore/xml/XMLHttpRequest.cpp#L1157) +and media elements [will stop
[webkit-changes] [293998] trunk/Source/WebCore
Title: [293998] trunk/Source/WebCore Revision 293998 Author za...@apple.com Date 2022-05-09 21:41:10 -0700 (Mon, 09 May 2022) Log Message Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda https://bugs.webkit.org/show_bug.cgi?id=240266 Reviewed by Simon Fraser. * rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293997 => 293998) --- trunk/Source/WebCore/ChangeLog 2022-05-10 03:49:35 UTC (rev 293997) +++ trunk/Source/WebCore/ChangeLog 2022-05-10 04:41:10 UTC (rev 293998) @@ -1,3 +1,13 @@ +2022-05-09 Alan Bujtas + +Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda +https://bugs.webkit.org/show_bug.cgi?id=240266 + +Reviewed by Simon Fraser. + +* rendering/updating/RenderTreeBuilder.cpp: +(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): + 2022-05-07 Wenson Hsieh [iOS] Adjust some viewport behaviors when multitasking mode is enabled Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (293997 => 293998) --- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-05-10 03:49:35 UTC (rev 293997) +++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp 2022-05-10 04:41:10 UTC (rev 293998) @@ -591,8 +591,6 @@ if (!renderer.parent()) return; -auto& parent = *renderer.parent(); - bool wasFloating = oldStyle.isFloating(); bool wasOutOfFlowPositioned = oldStyle.hasOutOfFlowPosition(); bool isFloating = renderer.style().isFloating(); @@ -604,7 +602,7 @@ return; // Out of flow children of RenderMultiColumnFlow are not really part of the multicolumn flow. We need to ensure that changes in positioning like this // trigger insertions into the multicolumn flow. -if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is(enclosingFragmentedFlow)) { +if (auto* enclosingFragmentedFlow = renderer.parent()->enclosingFragmentedFlow(); is(enclosingFragmentedFlow)) { auto movingIntoMulticolumn = [&] { if (wasOutOfFlowPositioned && !isOutOfFlowPositioned) return true; @@ -643,6 +641,7 @@ } }; +auto& parent = *renderer.parent(); if (is(parent)) noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOutOfFlowPositioned && isOutOfFlowPositioned); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293997] trunk
Title: [293997] trunk Revision 293997 Author ross.kirsl...@sony.com Date 2022-05-09 20:49:35 -0700 (Mon, 09 May 2022) Log Message Temporal round and total methods should accept string param https://bugs.webkit.org/show_bug.cgi?id=240249 Reviewed by Yusuke Suzuki. This patch implements https://github.com/tc39/proposal-temporal/pull/1875, which allows certain required string options to be passed directly instead of as part of an options object. Namely: - `{Duration, Instant, PlainTime}::round` now accept `smallestUnit` as a string param - `Duration::total` now accepts `unit` as a string param * stress/temporal-duration.js: * stress/temporal-instant.js: * stress/temporal-plaintime.js: Add test cases. * test262/expectations.yaml: Mark 24 test cases passing. (This number should be 26, but two still fail as the harness expects PlainDateTime and ZonedDateTime to exist.) * runtime/TemporalDuration.cpp: (JSC::TemporalDuration::round const): (JSC::TemporalDuration::total const): * runtime/TemporalInstant.cpp: * runtime/TemporalPlainTime.cpp: (JSC::TemporalPlainTime::round const): Canonical link: https://commits.webkit.org/250433@main Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/temporal-duration.js trunk/JSTests/stress/temporal-instant.js trunk/JSTests/stress/temporal-plaintime.js trunk/JSTests/test262/expectations.yaml trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/TemporalDuration.cpp trunk/Source/_javascript_Core/runtime/TemporalInstant.cpp trunk/Source/_javascript_Core/runtime/TemporalPlainTime.cpp Diff Modified: trunk/JSTests/ChangeLog (293996 => 293997) --- trunk/JSTests/ChangeLog 2022-05-10 02:52:56 UTC (rev 293996) +++ trunk/JSTests/ChangeLog 2022-05-10 03:49:35 UTC (rev 293997) @@ -1,5 +1,21 @@ 2022-05-09 Ross Kirsling +Temporal round and total methods should accept string param +https://bugs.webkit.org/show_bug.cgi?id=240249 + +Reviewed by Yusuke Suzuki. + +* stress/temporal-duration.js: +* stress/temporal-instant.js: +* stress/temporal-plaintime.js: +Add test cases. + +* test262/expectations.yaml: +Mark 24 test cases passing. +(This number should be 26, but two still fail as the harness expects PlainDateTime and ZonedDateTime to exist.) + +2022-05-09 Ross Kirsling + Temporal and Date must reject expanded year -00 https://bugs.webkit.org/show_bug.cgi?id=240263 Modified: trunk/JSTests/stress/temporal-duration.js (293996 => 293997) --- trunk/JSTests/stress/temporal-duration.js 2022-05-10 02:52:56 UTC (rev 293996) +++ trunk/JSTests/stress/temporal-duration.js 2022-05-10 03:49:35 UTC (rev 293997) @@ -203,6 +203,7 @@ shouldThrow(() => Temporal.Duration.from('P1W').round({ largestUnit: 'seconds' }), RangeError); shouldThrow(() => Temporal.Duration.from('P1D').round({ largestUnit: 'months' }), RangeError); shouldThrow(() => Temporal.Duration.from('P1D').round({ largestUnit: 'weeks' }), RangeError); +shouldBe(posAbsolute.round('day').toString(), 'P1D'); shouldBe(posAbsolute.round({ largestUnit: 'day' }).toString(), 'P1DT2H3M4.005006007S'); shouldBe(posAbsolute.round({ largestUnit: 'auto' }).toString(), 'P1DT2H3M4.005006007S'); shouldBe(posAbsolute.round({ smallestUnit: 'day' }).toString(), 'P1D'); @@ -229,6 +230,7 @@ shouldThrow(() => Temporal.Duration.from('P1W').total({ unit: 'seconds' }), RangeError); shouldThrow(() => Temporal.Duration.from('P1D').total({ unit: 'months' }), RangeError); shouldThrow(() => Temporal.Duration.from('P1D').total({ unit: 'weeks' }), RangeError); +shouldBe(posAbsolute.total('days'), 1.0854630209028588); shouldBe(posAbsolute.total({ unit: 'days' }), 1.0854630209028588); shouldBe(posAbsolute.total({ unit: 'hours' }), 26.051112501668612); shouldBe(posAbsolute.total({ unit: 'minutes' }), 1563.0667501001167); Modified: trunk/JSTests/stress/temporal-instant.js (293996 => 293997) --- trunk/JSTests/stress/temporal-instant.js 2022-05-10 02:52:56 UTC (rev 293996) +++ trunk/JSTests/stress/temporal-instant.js 2022-05-10 03:49:35 UTC (rev 293997) @@ -229,6 +229,10 @@ // truncates to minute [i1, i2, i3].forEach((i) => shouldBe(i.toString({ smallestUnit: 'minute' }), '1976-11-18T15:23Z')); +// ...as opposed to rounding first +shouldBe(i3.round('minute').toString(), '1976-11-18T15:24:00Z'); +shouldBe(i3.round({ smallestUnit: 'minute' }).toString(), '1976-11-18T15:24:00Z'); + // other smallestUnits are aliases for fractional digits shouldBe(i3.toString({ smallestUnit: 'second' }), i3.toString({ fractionalSecondDigits: 0 })); shouldBe(i3.toString({ smallestUnit: 'millisecond' }), i3.toString({ fractionalSecondDigits: 3 })); Modified: trunk/JSTests/stress/temporal-plaintime.js (293996 => 293997) --- trunk/JSTests/stress/temporal-plaintime.js 2022-05-10 02:52:56 UTC (rev 293996) +++ trunk/JSTests/stress/temporal-plaintime.js 2022-05-10 03:49:35 UTC (rev 293997) @@
[webkit-changes] [293996] trunk
Title: [293996] trunk Revision 293996 Author ross.kirsl...@sony.com Date 2022-05-09 19:52:56 -0700 (Mon, 09 May 2022) Log Message Temporal and Date must reject expanded year -00 https://bugs.webkit.org/show_bug.cgi?id=240263 Reviewed by Yusuke Suzuki. As of the following two PRs, -00 is officially disallowed as a representation of the year zero in ISO date strings. https://github.com/tc39/ecma262/pull/2550 https://github.com/tc39/proposal-temporal/pull/1992 This patch implements the change for Temporal and Date alike. * test262/expectations.yaml: Mark 24 test cases as passing. * runtime/ISO8601.cpp: (JSC::ISO8601::parseDate): * wtf/DateMath.cpp: (WTF::parseES5DatePortion): Canonical link: https://commits.webkit.org/250432@main Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/test262/expectations.yaml trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ISO8601.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/DateMath.cpp Diff Modified: trunk/JSTests/ChangeLog (293995 => 293996) --- trunk/JSTests/ChangeLog 2022-05-10 00:16:39 UTC (rev 293995) +++ trunk/JSTests/ChangeLog 2022-05-10 02:52:56 UTC (rev 293996) @@ -1,3 +1,13 @@ +2022-05-09 Ross Kirsling + +Temporal and Date must reject expanded year -00 +https://bugs.webkit.org/show_bug.cgi?id=240263 + +Reviewed by Yusuke Suzuki. + +* test262/expectations.yaml: +Mark 24 test cases as passing. + 2022-05-09 Keith Miller Unreviewed test gardening. Modified: trunk/JSTests/test262/expectations.yaml (293995 => 293996) --- trunk/JSTests/test262/expectations.yaml 2022-05-10 00:16:39 UTC (rev 293995) +++ trunk/JSTests/test262/expectations.yaml 2022-05-10 02:52:56 UTC (rev 293996) @@ -609,12 +609,6 @@ test/built-ins/Date/UTC/fp-evaluation-order.js: default: 'Test262Error: order of operations / precision in MakeTime Expected SameValue(«NaN», «29312») to be true' strict mode: 'Test262Error: order of operations / precision in MakeTime Expected SameValue(«NaN», «29312») to be true' -test/built-ins/Date/parse/year-zero.js: - default: 'Test262Error: reject minus zero as extended year Expected SameValue(«-6215944050», «NaN») to be true' - strict mode: 'Test262Error: reject minus zero as extended year Expected SameValue(«-6215944050», «NaN») to be true' -test/built-ins/Date/year-zero.js: - default: 'Test262Error: reject minus zero as extended year Expected SameValue(«-6215944050», «NaN») to be true' - strict mode: 'Test262Error: reject minus zero as extended year Expected SameValue(«-6215944050», «NaN») to be true' test/built-ins/Function/internals/Construct/derived-return-val-realm.js: default: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' strict mode: 'Test262Error: Expected a TypeError but got a different error constructor with the same name' @@ -1068,15 +1062,6 @@ test/built-ins/Temporal/Duration/prototype/total/unit-string-shorthand-string.js: default: 'TypeError: options argument is not an object or undefined' strict mode: 'TypeError: options argument is not an object or undefined' -test/built-ins/Temporal/Instant/compare/year-zero.js: - default: 'Test262Error: minus zero is invalid extended year (first argument) Expected a RangeError to be thrown but no exception was thrown at all' - strict mode: 'Test262Error: minus zero is invalid extended year (first argument) Expected a RangeError to be thrown but no exception was thrown at all' -test/built-ins/Temporal/Instant/from/year-zero.js: - default: 'Test262Error: reject minus zero as extended year Expected a RangeError to be thrown but no exception was thrown at all' - strict mode: 'Test262Error: reject minus zero as extended year Expected a RangeError to be thrown but no exception was thrown at all' -test/built-ins/Temporal/Instant/prototype/equals/year-zero.js: - default: 'Test262Error: reject minus zero as extended year Expected a RangeError to be thrown but no exception was thrown at all' - strict mode: 'Test262Error: reject minus zero as extended year Expected a RangeError to be thrown but no exception was thrown at all' test/built-ins/Temporal/Instant/prototype/round/rounding-direction.js: default: 'Test262Error: Rounding down is towards the Big Bang, not the epoch or 1 BCE (roundingMode trunc) Expected SameValue(«-652612463990», «-652612464000») to be true' strict mode: 'Test262Error: Rounding down is towards the Big Bang, not the epoch or 1 BCE (roundingMode trunc) Expected SameValue(«-652612463990», «-652612464000») to be true' @@ -1092,9 +1077,6 @@ test/built-ins/Temporal/Instant/prototype/since/largestunit.js: default: 'Test262Error: does not include higher units than necessary (largest unit unspecified) nanoseconds result Expected SameValue(«40», «101») to be true' strict mode: 'Test262Error: does not include higher units than necessary (largest
[webkit-changes] [293995] branches/safari-613-branch
Title: [293995] branches/safari-613-branch Revision 293995 Author alanc...@apple.com Date 2022-05-09 17:16:39 -0700 (Mon, 09 May 2022) Log Message Cherry-pick r292888. rdar://problem/80059355 [iOS] [WK2] Managed pasteboard should function for all managed domains https://bugs.webkit.org/show_bug.cgi?id=239319 rdar://80059355 Reviewed by Kate Cheney. Source/WebCore/PAL: Add an SPI method on `MCProfileConnection`. * pal/spi/ios/ManagedConfigurationSPI.h: Source/WebKit: Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all WebKit clients, if the current URL is managed. Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL * Platform/spi/ios/UIKitSPI.h: Drive-by fix: move the staged declarations of `-_dataOwnerForCopy` and `-_dataOwnerForPaste` out of the IPI section, and into the non-internal SDK section. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]): Tools: Add a new API test to verify that we fall back to consulting `-[MCProfileConnection isURLManaged:]` when determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the responder chain (specifically, the WKWebView). * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/249658@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292888 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-613-branch/Source/WebCore/PAL/ChangeLog branches/safari-613-branch/Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h branches/safari-613-branch/Source/WebKit/ChangeLog branches/safari-613-branch/Source/WebKit/Platform/spi/ios/UIKitSPI.h branches/safari-613-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm branches/safari-613-branch/Tools/ChangeLog branches/safari-613-branch/Tools/TestWebKitAPI/Tests/ios/UIPasteboardTests.mm Diff Modified: branches/safari-613-branch/Source/WebCore/PAL/ChangeLog (293994 => 293995) --- branches/safari-613-branch/Source/WebCore/PAL/ChangeLog 2022-05-10 00:06:59 UTC (rev 293994) +++ branches/safari-613-branch/Source/WebCore/PAL/ChangeLog 2022-05-10 00:16:39 UTC (rev 293995) @@ -1,3 +1,62 @@ +2022-05-06 Alan Coon + +Cherry-pick r292888. rdar://problem/80059355 + +[iOS] [WK2] Managed pasteboard should function for all managed domains +https://bugs.webkit.org/show_bug.cgi?id=239319 +rdar://80059355 + +Reviewed by Kate Cheney. + +Source/WebCore/PAL: + +Add an SPI method on `MCProfileConnection`. + +* pal/spi/ios/ManagedConfigurationSPI.h: + +Source/WebKit: + +Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back +to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection +isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all +WebKit clients, if the current URL is managed. + +Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL + +* Platform/spi/ios/UIKitSPI.h: + +Drive-by fix: move the staged declarations of `-_dataOwnerForCopy` and `-_dataOwnerForPaste` out of the IPI +section, and into the non-internal SDK section. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _dataOwnerForPasteboard:]): + +Tools: + +Add a new API test to verify that we fall back to consulting `-[MCProfileConnection isURLManaged:]` when +determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the +responder chain (specifically, the WKWebView). + +* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: +(+[TestUIPasteboard _performAsDataOwner:block:]): +(-[TestMCProfileConnection isURLManaged:]): +(TestWebKitAPI::TEST): + +Canonical link: https://commits.webkit.org/249658@main +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292888 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2022-04-14 Wenson Hsieh + +[iOS] [WK2] Managed pasteboard should function for all managed domains +https://bugs.webkit.org/show_bug.cgi?id=239319 +rdar://80059355 + +Reviewed by Kate Cheney. + +Add an SPI method on `MCProfileConnection`. + +* pal/spi/ios/ManagedConfigurationSPI.h: + 2022-04-19 Alan Coon
[webkit-changes] [293994] trunk/Source
Title: [293994] trunk/Source Revision 293994 Author wenson_hs...@apple.com Date 2022-05-09 17:06:59 -0700 (Mon, 09 May 2022) Log Message [iOS] Adjust some viewport behaviors when multitasking mode is enabled https://bugs.webkit.org/show_bug.cgi?id=240151 rdar://87157773 Reviewed by Tim Horton. Add a new ViewportConfiguration flag to prefer horizontal scrolling over shrinking to fit when the view layout size falls under the current "default desktop webpage" of 980pt. See WebKit changes for more details. * page/ViewportConfiguration.cpp: (WebCore::ViewportConfiguration::initialScaleFromSize const): (WebCore::ViewportConfiguration::webpageParameters): (WebCore::ViewportConfiguration::imageDocumentParameters): Pull the magic value representing the "assumed width of most desktop webpages" (980) out into a named constant, `defaultDesktopViewportWidth`, so that we can consult it when computing the initial scale. (WebCore::ViewportConfiguration::description const): * page/ViewportConfiguration.h: (WebCore::ViewportConfiguration::setPrefersHorizontalScrollingBelowDesktopViewportWidths): [iOS] Adjust some viewport behaviors when multitasking mode is enabled https://bugs.webkit.org/show_bug.cgi?id=240151 rdar://87157773 Reviewed by Tim Horton. Make some adjustments to viewport behaviors when multitasking mode is enabled. See the comments below for more details. There are no changes in behavior when multitasking mode is disabled; tests for the new behaviors in multitasking mode will be added in a subsequent patch. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode): * Shared/WebPageCreationParameters.h: Add plumbing to inform the web process when "multitasking mode" state changes; we use this bit in WebPage to determine whether or not we should use multitasking mode viewport behaviors (see below). * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _registerForNotifications]): (-[WKWebView didMoveToWindow]): (-[WKWebView _multitaskingModeDidChange:]): Send IPC to WebPage in these two places, to keep "multitasking mode" state in sync with the native view. (-[WKWebView _beginAnimatedResizeWithUpdates:]): Make a minor adjustment here to ignore `oldWebViewWidthInContentViewCoordinates` when computing a target scale to zoom to when performing animated resize, in multitasking mode. This is required to prevent us from zooming in excessively when the width of the view increases, since we'd otherwise attempt to keep the same content in the page visible by zooming in (for instance, if an image covers most of the visual viewport at a lower view width, this `min()` logic would cause us to zoom in, such that the image would still cover most of the viewport at a larger width). This behavior is undesirable in multitasking mode. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): (WebKit::WebPageProxy::setIsInMultitaskingMode): * UIProcess/WebPageProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): (WebKit::WebPage::setIsInMultitaskingMode): Add plumbing to set the `m_isInMultitaskingMode` flag on WebPage, and update the viewport configuration flag to prefer horizontal scrolling below 980pt. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::scaleAfterViewportWidthChange): Refactor a bit of code here (without changing any behaviors), to make it a bit clearer: - Rename `userHasChangedPageScaleFactor` to `scaleToFitContent` to better describe how this flag affects the adjusted target scale during dynamic resize. - Make the log messages specific to both branches, and also log the adjusted viewport scale instead of the (currently unused) given `scale` in the non-`scaleToFitContent` codepath. (WebKit::WebPage::dynamicViewportSizeUpdate): Make another "multitasking mode viewport behavior" adjustment here by maintaining the initial scale (only if the viewport was already at initial scale) when performing dynamic viewport size updates. By default, we currently adjust the scale such that the same content is still visible at the new viewport size; however, when allowing horizontal scrolling, this causes us to zoom in excessively when making the window width larger. Instead, when multitasking mode is enabled, we should try to preserve initial scale when changing window size, such that only the horizontal scroll amount changes. (WebKit::WebPage::usesMultitaskingModeViewportBehaviors const): Add a helper method to encapsulate whether or not multitasking mode viewport behaviors should be used; this should be true only when both desktop-class viewport behaviors are active, *and* multitasking mode is also active. Canonical link: https://commits.webkit.org/250431@main Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/ViewportConfiguration.cpp
[webkit-changes] [293993] trunk/Source/WebCore
Title: [293993] trunk/Source/WebCore Revision 293993 Author timothy_hor...@apple.com Date 2022-05-09 16:50:17 -0700 (Mon, 09 May 2022) Log Message Const-ify Node::willRespondTo*Events() https://bugs.webkit.org/show_bug.cgi?id=240246 Reviewed by Wenson Hsieh. Constify these four methods, because there's no reason for them not to be, and because it makes them usable in a const context in a future patch. * dom/EventNames.h: (WebCore::EventNames::isTouchRelatedEventType const): * dom/EventTarget.cpp: (WebCore::EventTarget::eventTypes const): * dom/EventTarget.h: * dom/Node.cpp: (WebCore::Node::willRespondToMouseMoveEvents const): (WebCore::Node::willRespondToTouchEvents const): (WebCore::Node::willRespondToMouseClickEvents const): (WebCore::Node::willRespondToMouseWheelEvents const): * dom/Node.h: * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const): * html/HTMLAnchorElement.h: * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::willRespondToMouseClickEvents const): * html/HTMLButtonElement.h: * html/HTMLElement.cpp: (WebCore::HTMLElement::willRespondToMouseMoveEvents const): (WebCore::HTMLElement::willRespondToMouseWheelEvents const): (WebCore::HTMLElement::willRespondToMouseClickEvents const): * html/HTMLElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::willRespondToMouseClickEvents const): * html/HTMLImageElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willRespondToMouseClickEvents const): * html/HTMLInputElement.h: * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::willRespondToMouseClickEvents const): * html/HTMLLabelElement.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const): * html/HTMLPlugInElement.h: * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::willRespondToMouseClickEvents const): * html/HTMLSelectElement.h: * html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const): * html/HTMLSummaryElement.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const): * html/HTMLTextAreaElement.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents const): (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents const): * html/TextFieldInputType.h: * html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::willRespondToMouseMoveEvents const): (WebCore::SliderThumbElement::willRespondToMouseClickEvents const): * html/shadow/SliderThumbElement.h: * html/shadow/SpinButtonElement.cpp: (WebCore::SpinButtonElement::willRespondToMouseMoveEvents const): (WebCore::SpinButtonElement::willRespondToMouseClickEvents const): (WebCore::SpinButtonElement::shouldRespondToMouseEvents const): * html/shadow/SpinButtonElement.h: * html/shadow/TextControlInnerElements.cpp: (WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const): (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const): * html/shadow/TextControlInnerElements.h: * mathml/MathMLElement.cpp: (WebCore::MathMLElement::willRespondToMouseClickEvents const): * mathml/MathMLElement.h: * mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::willRespondToMouseClickEvents const): * mathml/MathMLSelectElement.h: * svg/SVGAElement.cpp: (WebCore::SVGAElement::willRespondToMouseClickEvents const): * svg/SVGAElement.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/EventNames.h trunk/Source/WebCore/dom/EventTarget.cpp trunk/Source/WebCore/dom/EventTarget.h trunk/Source/WebCore/dom/Node.cpp trunk/Source/WebCore/dom/Node.h trunk/Source/WebCore/html/HTMLAnchorElement.cpp trunk/Source/WebCore/html/HTMLAnchorElement.h trunk/Source/WebCore/html/HTMLButtonElement.cpp trunk/Source/WebCore/html/HTMLButtonElement.h trunk/Source/WebCore/html/HTMLElement.cpp trunk/Source/WebCore/html/HTMLElement.h trunk/Source/WebCore/html/HTMLImageElement.cpp trunk/Source/WebCore/html/HTMLImageElement.h trunk/Source/WebCore/html/HTMLInputElement.cpp trunk/Source/WebCore/html/HTMLInputElement.h trunk/Source/WebCore/html/HTMLLabelElement.cpp trunk/Source/WebCore/html/HTMLLabelElement.h trunk/Source/WebCore/html/HTMLPlugInElement.cpp trunk/Source/WebCore/html/HTMLPlugInElement.h trunk/Source/WebCore/html/HTMLSelectElement.cpp trunk/Source/WebCore/html/HTMLSelectElement.h trunk/Source/WebCore/html/HTMLSummaryElement.cpp trunk/Source/WebCore/html/HTMLSummaryElement.h trunk/Source/WebCore/html/HTMLTextAreaElement.cpp trunk/Source/WebCore/html/HTMLTextAreaElement.h trunk/Source/WebCore/html/TextFieldInputType.cpp trunk/Source/WebCore/html/TextFieldInputType.h trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp trunk/Source/WebCore/html/shadow/SliderThumbElement.h trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp trunk/Source/WebCore/html/shadow/SpinButtonElement.h trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp
[webkit-changes] [293992] trunk/Websites/bugs.webkit.org
Title: [293992] trunk/Websites/bugs.webkit.org Revision 293992 Author jbed...@apple.com Date 2022-05-09 16:03:48 -0700 (Mon, 09 May 2022) Log Message [bugs.webkit.org] Use GitHub as baseline when diffing https://bugs.webkit.org/show_bug.cgi?id=240073 Reviewed by Ryan Haddad and Dewei Zhu. * Websites/bugs.webkit.org/code-review.js: Use GitHub instead of Subversion for tip-of-tree baseline, blame and log links. * Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb: Ditto. Use GitHub instead of Subversion for tip-of-tree baseline. Canonical link: https://commits.webkit.org/250429@main Modified Paths trunk/Websites/bugs.webkit.org/ChangeLog trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb trunk/Websites/bugs.webkit.org/code-review-test.html trunk/Websites/bugs.webkit.org/code-review.js Diff Modified: trunk/Websites/bugs.webkit.org/ChangeLog (293991 => 293992) --- trunk/Websites/bugs.webkit.org/ChangeLog 2022-05-09 23:02:39 UTC (rev 293991) +++ trunk/Websites/bugs.webkit.org/ChangeLog 2022-05-09 23:03:48 UTC (rev 293992) @@ -1,3 +1,17 @@ +2022-05-09 Jonathan Bedard + +[bugs.webkit.org] Use GitHub as baseline when diffing +https://bugs.webkit.org/show_bug.cgi?id=240073 + + +Reviewed by Ryan Haddad and Dewei Zhu. + +* code-review.js: Use GitHub instead of Subversion for tip-of-tree +baseline, blame and log links. +* PrettyPatch/PrettyPatch.rb: Use GitHub instead of Subversion +for tip-of-tree baseline. +* code-review-test.html: + 2022-05-04 Jonathan Bedard [bugs.webkit.org] Replace svn.webkit.org in committers autocomplete Modified: trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb (293991 => 293992) --- trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb 2022-05-09 23:02:39 UTC (rev 293991) +++ trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb 2022-05-09 23:03:48 UTC (rev 293992) @@ -18,18 +18,6 @@ string = normalize_line_ending(string) str = "#{HEADER}\n" -# Just look at the first line to see if it is an SVN revision number as added -# by webkit-patch for git checkouts. -$svn_revision = 0 -string.each_line do |line| -match = /^Subversion\ Revision: (\d*)$/.match(line) -unless match.nil? -str << "#{match[1]}\n" -$svn_revision = match[1].to_i; -end -break -end - fileDiffs = FileDiff.parse(string) # Newly added images get two diffs with svn 1.7; toss the first one. @@ -101,7 +89,7 @@ SMALLEST_EQUAL_OPERATION = 3 -OPENSOURCE_TRAC_URL = "http://trac.webkit.org/" +OPENSOURCE_GITHUB_URL = "https://github.com/WebKit/WebKit/blob/" OPENSOURCE_DIRS = Set.new %w[ Examples @@ -148,32 +136,11 @@ end end -def self.find_url_and_path(file_path) -# Search file_path from the bottom up, at each level checking whether -# we've found a directory we know exists in the source tree. - -dirname, basename = File.split(file_path) -dirname.split(/\//).reverse.inject(basename) do |path, directory| -path = directory + "/" + path - -return [OPENSOURCE_TRAC_URL, path] if OPENSOURCE_DIRS.include?(directory) - -path -end - -[nil, file_path] +def self.linkifyFilename(filename) +"#{filename}" end -def self.linkifyFilename(filename, force) -if force - "#{filename}" -else - url, pathBeneathTrunk = find_url_and_path(filename) - url.nil? ? filename : "#{filename}" -end -end - HEADER =< @@ -725,7 +692,7 @@ raise "no binary chunks" unless chunks -from_filepath = FileDiff.extract_contents_of_from_revision(@filename, chunks[0], @git_indexes[0]) +from_filepath = FileDiff.extract_contents_from_remote(@filename, chunks[0], @git_indexes[0]) to_filepath = FileDiff.extract_contents_of_to_revision(@filename, chunks[1], @git_indexes[1], from_filepath, @git_indexes[0]) filepaths = from_filepath, to_filepath @@ -763,9 +730,9 @@ if @renameFrom str += "#{@filename}" str += "was renamed from" -str += "#{PrettyPatch.linkifyFilename(@renameFrom.to_s, true)}" +str += "#{PrettyPatch.linkifyFilename(@renameFrom.to_s)}" else -str += "#{PrettyPatch.linkifyFilename(@filename, false)}\n" +str += "#{PrettyPatch.linkifyFilename(@filename)}\n" end if @image then str += self.image_to_html @@ -862,8 +829,8 @@ END end -def self.get_svn_uri(repository_path) -"http://svn.webkit.org/repository/webkit/!svn/bc/" + $svn_revision.to_s + "/trunk/" + (repository_path)
[webkit-changes] [293991] trunk/Source/ThirdParty/libwebrtc
Title: [293991] trunk/Source/ThirdParty/libwebrtc Revision 293991 Author timothy_hor...@apple.com Date 2022-05-09 16:02:39 -0700 (Mon, 09 May 2022) Log Message Unreviewed build fix; disable -Wimplicit-fallthrough in libwebrtc * Configurations/Base.xcconfig: Modified Paths trunk/Source/ThirdParty/libwebrtc/ChangeLog trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig Diff Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (293990 => 293991) --- trunk/Source/ThirdParty/libwebrtc/ChangeLog 2022-05-09 21:17:57 UTC (rev 293990) +++ trunk/Source/ThirdParty/libwebrtc/ChangeLog 2022-05-09 23:02:39 UTC (rev 293991) @@ -1,3 +1,9 @@ +2022-05-09 Tim Horton + +Unreviewed build fix; disable -Wimplicit-fallthrough in libwebrtc + +* Configurations/Base.xcconfig: + 2022-05-06 Youenn Fablet Remove usage of PixelBufferConformer in RealtimeOutgoingVideoSourceCocoa Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig (293990 => 293991) --- trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig 2022-05-09 21:17:57 UTC (rev 293990) +++ trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig 2022-05-09 23:02:39 UTC (rev 293991) @@ -44,6 +44,7 @@ CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; +CLANG_WARN_IMPLICIT_FALLTHROUGH = NO; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293990] trunk/Source
Title: [293990] trunk/Source Revision 293990 Author pvol...@apple.com Date 2022-05-09 14:17:57 -0700 (Mon, 09 May 2022) Log Message [macOS] HTTP traffic is not filtered in the parental controls filter https://bugs.webkit.org/show_bug.cgi?id=240180 Reviewed by Alexey Proskuryakov. Source/WebCore: Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system has taken care of this. This has changed in the most recent macOS version, and WebKit should also filter HTTP in addition to HTTPS. * platform/cocoa/ParentalControlsContentFilter.mm: (WebCore::canHandleResponse): Source/WTF: Add HAVE macro which tells us which OS versions are filtering HTTP traffic on behalf of WebKit. * wtf/PlatformHave.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformHave.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm Diff Modified: trunk/Source/WTF/ChangeLog (293989 => 293990) --- trunk/Source/WTF/ChangeLog 2022-05-09 20:56:14 UTC (rev 293989) +++ trunk/Source/WTF/ChangeLog 2022-05-09 21:17:57 UTC (rev 293990) @@ -1,3 +1,15 @@ +2022-05-09 Per Arne Vollan + +[macOS] HTTP traffic is not filtered in the parental controls filter +https://bugs.webkit.org/show_bug.cgi?id=240180 + + +Reviewed by Alexey Proskuryakov. + +Add HAVE macro which tells us which OS versions are filtering HTTP traffic on behalf of WebKit. + +* wtf/PlatformHave.h: + 2022-05-08 Wenson Hsieh [iOS] Double tapping on YouTube video causes playback to pause instead of seek Modified: trunk/Source/WTF/wtf/PlatformHave.h (293989 => 293990) --- trunk/Source/WTF/wtf/PlatformHave.h 2022-05-09 20:56:14 UTC (rev 293989) +++ trunk/Source/WTF/wtf/PlatformHave.h 2022-05-09 21:17:57 UTC (rev 293990) @@ -1175,3 +1175,7 @@ || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 16)) #define HAVE_UI_CONTEXT_MENU_PREVIEW_ITEM_IDENTIFIER 1 #endif + +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 12) || (PLATFORM(MACCATALYST) && __IPHONE_OS_VERSION_MIN_REQUIRED < 15) +#define HAVE_SYSTEM_HTTP_CONTENT_FILTERING 1 +#endif Modified: trunk/Source/WebCore/ChangeLog (293989 => 293990) --- trunk/Source/WebCore/ChangeLog 2022-05-09 20:56:14 UTC (rev 293989) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 21:17:57 UTC (rev 293990) @@ -1,3 +1,18 @@ +2022-05-09 Per Arne Vollan + +[macOS] HTTP traffic is not filtered in the parental controls filter +https://bugs.webkit.org/show_bug.cgi?id=240180 + + +Reviewed by Alexey Proskuryakov. + +Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system +has taken care of this. This has changed in the most recent macOS version, and WebKit should also filter HTTP in +addition to HTTPS. + +* platform/cocoa/ParentalControlsContentFilter.mm: +(WebCore::canHandleResponse): + 2022-05-09 Simon Fraser Cache the viewport size inside SVGLengthContext Modified: trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm (293989 => 293990) --- trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm 2022-05-09 20:56:14 UTC (rev 293989) +++ trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm 2022-05-09 21:17:57 UTC (rev 293990) @@ -74,7 +74,11 @@ static inline bool canHandleResponse(const ResourceResponse& response) { +#if HAVE(SYSTEM_HTTP_CONTENT_FILTERING) +return response.url().protocolIs("https"); +#else return response.url().protocolIsInHTTPFamily(); +#endif } void ParentalControlsContentFilter::responseReceived(const ResourceResponse& response) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293989] trunk/Source/WebCore
Title: [293989] trunk/Source/WebCore Revision 293989 Author simon.fra...@apple.com Date 2022-05-09 13:56:14 -0700 (Mon, 09 May 2022) Log Message Cache the viewport size inside SVGLengthContext https://bugs.webkit.org/show_bug.cgi?id=240157 Reviewed by Alan Bujtas. Each call to SVGLengthContext::determineViewport() did an ancestor element walk looking for a viewport element, and some call sites hit this two or more times (e.g. for width, then height). So cache m_viewportSize in the class, modernizing the code to use optionals. * rendering/RenderElement.cpp: (WebCore::RenderElement::referenceBoxRect const): * rendering/svg/LegacyRenderSVGRoot.cpp: (WebCore::LegacyRenderSVGRoot::computeFloatVisibleRectInContainer const): * rendering/svg/SVGRenderSupport.cpp: (WebCore::clipPathReferenceBox): * svg/SVGLengthContext.cpp: (WebCore::SVGLengthContext::valueForLength): (WebCore::SVGLengthContext::convertValueToUserUnits const): (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const): (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const): (WebCore::SVGLengthContext::viewportSize const): (WebCore::SVGLengthContext::computeViewportSize const): (WebCore::SVGLengthContext::determineViewport const): Deleted. * svg/SVGLengthContext.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderElement.cpp trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp trunk/Source/WebCore/svg/SVGLengthContext.cpp trunk/Source/WebCore/svg/SVGLengthContext.h Diff Modified: trunk/Source/WebCore/ChangeLog (293988 => 293989) --- trunk/Source/WebCore/ChangeLog 2022-05-09 20:43:28 UTC (rev 293988) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 20:56:14 UTC (rev 293989) @@ -1,3 +1,31 @@ +2022-05-09 Simon Fraser + +Cache the viewport size inside SVGLengthContext +https://bugs.webkit.org/show_bug.cgi?id=240157 + +Reviewed by Alan Bujtas. + +Each call to SVGLengthContext::determineViewport() did an ancestor element walk +looking for a viewport element, and some call sites hit this two or more times +(e.g. for width, then height). So cache m_viewportSize in the class, modernizing +the code to use optionals. + +* rendering/RenderElement.cpp: +(WebCore::RenderElement::referenceBoxRect const): +* rendering/svg/LegacyRenderSVGRoot.cpp: +(WebCore::LegacyRenderSVGRoot::computeFloatVisibleRectInContainer const): +* rendering/svg/SVGRenderSupport.cpp: +(WebCore::clipPathReferenceBox): +* svg/SVGLengthContext.cpp: +(WebCore::SVGLengthContext::valueForLength): +(WebCore::SVGLengthContext::convertValueToUserUnits const): +(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const): +(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const): +(WebCore::SVGLengthContext::viewportSize const): +(WebCore::SVGLengthContext::computeViewportSize const): +(WebCore::SVGLengthContext::determineViewport const): Deleted. +* svg/SVGLengthContext.h: + 2022-05-09 Tim Nguyen Implement CSS :modal pseudo class Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (293988 => 293989) --- trunk/Source/WebCore/rendering/RenderElement.cpp 2022-05-09 20:43:28 UTC (rev 293988) +++ trunk/Source/WebCore/rendering/RenderElement.cpp 2022-05-09 20:56:14 UTC (rev 293989) @@ -2452,8 +2452,7 @@ return alignReferenceBox(strokeBoundingBox()); case CSSBoxType::ViewBox: // FIXME: [LBSE] Upstream: Cache the immutable SVGLengthContext per SVGElement, to avoid the repeated RenderSVGRoot size queries in determineViewport(). -FloatSize viewportSize; -SVGLengthContext(downcast(element())).determineViewport(viewportSize); +auto viewportSize = SVGLengthContext(downcast(element())).viewportSize().value_or(FloatSize { }); return alignReferenceBox({ { }, viewportSize }); } Modified: trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp (293988 => 293989) --- trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp 2022-05-09 20:43:28 UTC (rev 293988) +++ trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp 2022-05-09 20:56:14 UTC (rev 293989) @@ -355,9 +355,9 @@ break; case CSSBoxType::ViewBox: if (renderer.element()) { -FloatSize viewportSize; -SVGLengthContext(downcast(renderer.element())).determineViewport(viewportSize); -referenceBox.setSize(viewportSize); +auto viewportSize = SVGLengthContext(downcast(renderer.element())).viewportSize(); +if (viewportSize) +referenceBox.setSize(*viewportSize); break; } FALLTHROUGH; Modified: trunk/Source/WebCore/svg/SVGLengthContext.cpp (293988 => 293989) --- trunk/Source/WebCore/svg/SVGLengthContext.cpp 2022-05-09 20:43:28 UTC (rev 293988) +++
[webkit-changes] [293988] trunk/Source/WebKit
Title: [293988] trunk/Source/WebKit Revision 293988 Author n...@apple.com Date 2022-05-09 13:43:28 -0700 (Mon, 09 May 2022) Log Message Allow log streaming from webpushd https://bugs.webkit.org/show_bug.cgi?id=240238 Reviewed by Per Arne Vollan. `log stream` outputs nothing from webpushd because we blocked the diagnosticd service in its sandbox. We should allow that and also block awdd since it's unlikely that webpushd needs access to the wireless diagnostics daemon. * webpushd/mac/com.apple.WebKit.webpushd.sb.in: Canonical link: https://commits.webkit.org/250425@main Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/webpushd/mac/com.apple.WebKit.webpushd.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (293987 => 293988) --- trunk/Source/WebKit/ChangeLog 2022-05-09 20:37:15 UTC (rev 293987) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 20:43:28 UTC (rev 293988) @@ -1,3 +1,16 @@ +2022-05-09 Ben Nham + +Allow log streaming from webpushd +https://bugs.webkit.org/show_bug.cgi?id=240238 + +Reviewed by Per Arne Vollan. + +`log stream` outputs nothing from webpushd because we blocked the diagnosticd service in its +sandbox. We should allow that and also block awdd since it's unlikely that webpushd needs +access to the wireless diagnostics daemon. + +* webpushd/mac/com.apple.WebKit.webpushd.sb.in: + 2022-05-09 Yusuke Suzuki Unreviewed, build fix for Internal iOS build Modified: trunk/Source/WebKit/webpushd/mac/com.apple.WebKit.webpushd.sb.in (293987 => 293988) --- trunk/Source/WebKit/webpushd/mac/com.apple.WebKit.webpushd.sb.in 2022-05-09 20:37:15 UTC (rev 293987) +++ trunk/Source/WebKit/webpushd/mac/com.apple.WebKit.webpushd.sb.in 2022-05-09 20:43:28 UTC (rev 293988) @@ -234,8 +234,9 @@ ;; Analytics. (with-filter (system-attribute apple-internal) -(allow mach-lookup (global-name "com.apple.analyticsd")) -(allow mach-lookup (global-name "com.apple.awdd"))) +(allow mach-lookup +(global-name "com.apple.analyticsd") +(global-name "com.apple.diagnosticd"))) ;; Daemon prefs. (allow user-preference-read user-preference-write ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293987] trunk
Title: [293987] trunk Revision 293987 Author n...@apple.com Date 2022-05-09 13:37:15 -0700 (Mon, 09 May 2022) Log Message Implement CSS :modal pseudo class https://bugs.webkit.org/show_bug.cgi?id=240109 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Add and extend tests for :modal pseudo-class. * web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt: Added. * web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html: Added. * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html: Source/WebCore: Test: imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html Renames :-internal-modal-dialog to :modal and adds :has() invalidation support. * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSSelector.h: * css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne const): * css/SelectorCheckerTestFunctions.h: (WebCore::matchesModalPseudoClass): (WebCore::matchesModalDialogPseudoClass): Deleted. * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/dialog.css: (dialog:modal): (dialog:-internal-modal-dialog): Deleted. * css/parser/CSSSelectorParser.cpp: (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION): (WebCore::SelectorCompiler::addPseudoClassType): * html/HTMLDialogElement.cpp: (WebCore::HTMLDialogElement::showModal): (WebCore::HTMLDialogElement::close): (WebCore::HTMLDialogElement::removedFromAncestor): (WebCore::HTMLDialogElement::setIsModal): * html/HTMLDialogElement.h: LayoutTests: Removes :-internal-modal-dialog from internal pseudo classes. * fast/css/pseudo-class-internal-expected.txt: * fast/css/pseudo-class-internal.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css/pseudo-class-internal-expected.txt trunk/LayoutTests/fast/css/pseudo-class-internal.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSSelector.cpp trunk/Source/WebCore/css/CSSSelector.h trunk/Source/WebCore/css/SelectorChecker.cpp trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h trunk/Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in trunk/Source/WebCore/css/dialog.css trunk/Source/WebCore/css/parser/CSSSelectorParser.cpp trunk/Source/WebCore/cssjit/SelectorCompiler.cpp trunk/Source/WebCore/html/HTMLDialogElement.cpp trunk/Source/WebCore/html/HTMLDialogElement.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html Diff Modified: trunk/LayoutTests/ChangeLog (293986 => 293987) --- trunk/LayoutTests/ChangeLog 2022-05-09 20:04:36 UTC (rev 293986) +++ trunk/LayoutTests/ChangeLog 2022-05-09 20:37:15 UTC (rev 293987) @@ -1,3 +1,15 @@ +2022-05-09 Tim Nguyen + +Implement CSS :modal pseudo class +https://bugs.webkit.org/show_bug.cgi?id=240109 + +Reviewed by Simon Fraser. + +Removes :-internal-modal-dialog from internal pseudo classes. + +* fast/css/pseudo-class-internal-expected.txt: +* fast/css/pseudo-class-internal.html: + 2022-05-09 Arcady Goldmints-Orlov [GLIB] Update some test expectations for known failures Modified: trunk/LayoutTests/fast/css/pseudo-class-internal-expected.txt (293986 => 293987) --- trunk/LayoutTests/fast/css/pseudo-class-internal-expected.txt 2022-05-09 20:04:36 UTC (rev 293986) +++ trunk/LayoutTests/fast/css/pseudo-class-internal-expected.txt 2022-05-09 20:37:15 UTC (rev 293987) @@ -4,7 +4,6 @@ PASS target.matches(":-internal-direct-focus") threw exception SyntaxError: The string did not match the expected pattern.. -PASS target.matches(":-internal-modal-dialog") threw exception SyntaxError: The string did not match the expected pattern.. PASS successfullyParsed is true TEST COMPLETE Modified: trunk/LayoutTests/fast/css/pseudo-class-internal.html (293986 => 293987) --- trunk/LayoutTests/fast/css/pseudo-class-internal.html 2022-05-09 20:04:36 UTC (rev 293986) +++ trunk/LayoutTests/fast/css/pseudo-class-internal.html 2022-05-09 20:37:15 UTC (rev 293987) @@ -10,7 +10,6 @@ function runTest() { const internalPseudoClasses = [ ':-internal-direct-focus', -':-internal-modal-dialog', ]; for (const pseudo of internalPseudoClasses) { shouldThrowErrorName('target.matches("' + pseudo + '")', 'SyntaxError'); Modified: trunk/LayoutTests/imported/w3c/ChangeLog (293986 => 293987) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-05-09 20:04:36 UTC (rev 293986) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-05-09 20:37:15 UTC (rev
[webkit-changes] [293986] trunk/Tools
Title: [293986] trunk/Tools Revision 293986 Author jbed...@apple.com Date 2022-05-09 13:04:36 -0700 (Mon, 09 May 2022) Log Message [git-webkit] Verify forks after creation https://bugs.webkit.org/show_bug.cgi?id=240085 Reviewed by Stephanie Lewis. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.github): Check parent of fork, wait until fork is created before continuing. Canonical link: https://commits.webkit.org/250423@main Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitscmpy/setup.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py Diff Modified: trunk/Tools/ChangeLog (293985 => 293986) --- trunk/Tools/ChangeLog 2022-05-09 19:40:08 UTC (rev 293985) +++ trunk/Tools/ChangeLog 2022-05-09 20:04:36 UTC (rev 293986) @@ -1,3 +1,16 @@ +2022-05-09 Jonathan Bedard + +[git-webkit] Verify forks after creation +https://bugs.webkit.org/show_bug.cgi?id=240085 + + +Reviewed by Stephanie Lewis. + +* Scripts/libraries/webkitscmpy/setup.py: Bump version. +* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. +* Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: +(Setup.github): Check parent of fork, wait until fork is created before continuing. + 2022-05-06 Keith Miller Test262 runner should show progress Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (293985 => 293986) --- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-05-09 19:40:08 UTC (rev 293985) +++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-05-09 20:04:36 UTC (rev 293986) @@ -29,7 +29,7 @@ setup( name='webkitscmpy', -version='4.13.1', +version='4.13.2', description='Library designed to interact with git and svn repositories.', long_description=readme(), classifiers=[ Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (293985 => 293986) --- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-05-09 19:40:08 UTC (rev 293985) +++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-05-09 20:04:36 UTC (rev 293986) @@ -46,7 +46,7 @@ "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url `" ) -version = Version(4, 13, 1) +version = Version(4, 13, 2) AutoInstall.register(Package('fasteners', Version(0, 15, 0))) AutoInstall.register(Package('jinja2', Version(2, 11, 3))) Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py (293985 => 293986) --- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2022-05-09 19:40:08 UTC (rev 293985) +++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2022-05-09 20:04:36 UTC (rev 293986) @@ -24,6 +24,7 @@ import os import requests import sys +import time from .command import Command from requests.auth import HTTPBasicAuth @@ -54,9 +55,12 @@ username, forked_name, ), auth=auth, headers=dict(Accept='application/vnd.github.v3+json')) + if response.status_code == 200: -log.info("User already owns a fork of '{}'!".format(repository.name)) -return result +parent_name = response.json().get('parent', {}).get('full_name', None) +if parent_name == '{}/{}'.format(repository.owner, repository.name): +log.info("User already owns a fork of '{}'!".format(parent_name)) +return result if repository.owner == username or args.defaults or Terminal.choose( "Create a private fork of '{}' belonging to '{}'".format(forked_name, username), @@ -91,6 +95,26 @@ sys.stderr.write("Fork created with name '{}' belonging to '{}'\n Failed to change name to {}\n".format(set_name, username, forked_name)) return 1 +response = None +attempts = 0 +while response and response.status_code != 200: +if attempts > 3: +sys.stderr.write("Waiting on '{}' belonging to '{}' took to long\n".format(forked_name, username)) +sys.stderr.write("Wait until '{}/{}/{}' is accessible and then re-run setup\n".format( +'/'.join(repository.url.split('/')[:3]), +username, forked_name, +)) +return 1 +if response: +log.warning("Waiting for '{}' belonging to '{}'...".format(forked_name, username)) +time.sleep(10) +attempts += 1 +response = requests.get('{}/repos/{}/{}'.format( +repository.api_url, +username, +forked_name, +
[webkit-changes] [293985] trunk/Source/WebKit
Title: [293985] trunk/Source/WebKit Revision 293985 Author ysuz...@apple.com Date 2022-05-09 12:40:08 -0700 (Mon, 09 May 2022) Log Message Unreviewed, build fix for Internal iOS build https://bugs.webkit.org/show_bug.cgi?id=240206 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateTouchEventTracking): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (293984 => 293985) --- trunk/Source/WebKit/ChangeLog 2022-05-09 19:10:39 UTC (rev 293984) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 19:40:08 UTC (rev 293985) @@ -1,3 +1,11 @@ +2022-05-09 Yusuke Suzuki + +Unreviewed, build fix for Internal iOS build +https://bugs.webkit.org/show_bug.cgi?id=240206 + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::updateTouchEventTracking): + 2022-05-09 Ian Anderson WebKit has a broken module in Mac Catalyst Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (293984 => 293985) --- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2022-05-09 19:10:39 UTC (rev 293984) +++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2022-05-09 19:40:08 UTC (rev 293985) @@ -3065,7 +3065,6 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { #if ENABLE(ASYNC_SCROLLING) && PLATFORM(COCOA) -const EventNames& names = eventNames(); for (auto& touchPoint : touchStartEvent.touchPoints()) { IntPoint location = touchPoint.location(); auto updateTrackingType = [this, location](TrackingType& trackingType, EventTrackingRegions::Event event) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293984] trunk/Source/WebKit
Title: [293984] trunk/Source/WebKit Revision 293984 Author commit-qu...@webkit.org Date 2022-05-09 12:10:39 -0700 (Mon, 09 May 2022) Log Message WebKit has a broken module in Mac Catalyst https://bugs.webkit.org/show_bug.cgi?id=240175 rdar://92703419 Patch by Ian Anderson on 2022-05-09 Reviewed by Tim Horton. Add a module map for Mac Catalyst that excludes WebKit/WebKitLegacy.h, matching the exclusion from WebKit/WebKit.h. * Configurations/WebKit.xcconfig: * Modules/MacCatalyst.modulemap: Added. * WebKit.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/WebKit.xcconfig trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj Added Paths trunk/Source/WebKit/Modules/MacCatalyst.modulemap Diff Modified: trunk/Source/WebKit/ChangeLog (293983 => 293984) --- trunk/Source/WebKit/ChangeLog 2022-05-09 18:48:38 UTC (rev 293983) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 19:10:39 UTC (rev 293984) @@ -1,3 +1,18 @@ +2022-05-09 Ian Anderson + +WebKit has a broken module in Mac Catalyst +https://bugs.webkit.org/show_bug.cgi?id=240175 +rdar://92703419 + +Reviewed by Tim Horton. + +Add a module map for Mac Catalyst that excludes WebKit/WebKitLegacy.h, +matching the exclusion from WebKit/WebKit.h. + +* Configurations/WebKit.xcconfig: +* Modules/MacCatalyst.modulemap: Added. +* WebKit.xcodeproj/project.pbxproj: + 2022-05-08 Wenson Hsieh [iOS] Double tapping on YouTube video causes playback to pause instead of seek Modified: trunk/Source/WebKit/Configurations/WebKit.xcconfig (293983 => 293984) --- trunk/Source/WebKit/Configurations/WebKit.xcconfig 2022-05-09 18:48:38 UTC (rev 293983) +++ trunk/Source/WebKit/Configurations/WebKit.xcconfig 2022-05-09 19:10:39 UTC (rev 293984) @@ -30,9 +30,10 @@ INFOPLIST_FILE = Info.plist; DEFINES_MODULE = YES; -MODULEMAP_FILE = $(MODULEMAP_FILE_$(WK_COCOA_TOUCH)); -MODULEMAP_FILE_cocoatouch = Modules/iOS.modulemap; -MODULEMAP_FILE_ = Modules/OSX.modulemap; +MODULEMAP_FILE = $(MODULEMAP_FILE_$(WK_COCOA_TOUCH)_$(WK_IS_CATALYST)); +MODULEMAP_FILE_cocoatouch_NO = Modules/iOS.modulemap; +MODULEMAP_FILE_cocoatouch_YES = Modules/MacCatalyst.modulemap; +MODULEMAP_FILE__NO = Modules/OSX.modulemap; INSTALL_PATH = $(INSTALL_PATH_PREFIX)$(WEBKIT_FRAMEWORKS_DIR); Added: trunk/Source/WebKit/Modules/MacCatalyst.modulemap (0 => 293984) --- trunk/Source/WebKit/Modules/MacCatalyst.modulemap (rev 0) +++ trunk/Source/WebKit/Modules/MacCatalyst.modulemap 2022-05-09 19:10:39 UTC (rev 293984) @@ -0,0 +1,7 @@ +framework module WebKit [system] [extern_c] { + umbrella header "WebKit.h" + // Use if available. + exclude header "WebKitLegacy.h" + module * { export * } + export * +} Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (293983 => 293984) --- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2022-05-09 18:48:38 UTC (rev 293983) +++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2022-05-09 19:10:39 UTC (rev 293984) @@ -5693,6 +5693,9 @@ 83F1A0781F96E7710045B94E /* WebSWOriginTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSWOriginTable.h; sourceTree = ""; }; 83F9644B1FA0F76200C47750 /* SharedStringHashTableReadOnly.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedStringHashTableReadOnly.cpp; sourceTree = ""; }; 83F9644C1FA0F76300C47750 /* SharedStringHashTableReadOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedStringHashTableReadOnly.h; sourceTree = ""; }; + 84120B2928258B82002988E2 /* iOS.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = iOS.modulemap; sourceTree = ""; }; + 84120B2A28258B82002988E2 /* OSX.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = OSX.modulemap; sourceTree = ""; }; + 84120B2B28258BB5002988E2 /* MacCatalyst.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = MacCatalyst.modulemap; sourceTree = ""; }; 84477851176FCAC100CDC7BB /* InjectedBundleHitTestResultMediaType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleHitTestResultMediaType.h; sourceTree = ""; }; 8644890A27B47020007A1C66 /* _WKSystemPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKSystemPreferences.h; sourceTree = ""; }; 8644890C27B47045007A1C66 /* _WKSystemPreferences.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKSystemPreferences.mm; sourceTree = ""; }; @@ -7611,6 +7614,7 @@ A16E66012581930800EE1749 /* MediaFormatReaderPlugIn */, BC2E6E74114196F000A63B1E /* Platform */, 1AADDF4B10D82AF000D3D63D /* Shared */, +
[webkit-changes] [293983] branches/safari-7614.1.13-branch/
Title: [293983] branches/safari-7614.1.13-branch/ Revision 293983 Author repst...@apple.com Date 2022-05-09 11:48:38 -0700 (Mon, 09 May 2022) Log Message New branch. Added Paths branches/safari-7614.1.13-branch/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293982] trunk/LayoutTests
Title: [293982] trunk/LayoutTests Revision 293982 Author commit-qu...@webkit.org Date 2022-05-09 11:27:24 -0700 (Mon, 09 May 2022) Log Message [GLIB] Update some test expectations for known failures https://bugs.webkit.org/show_bug.cgi?id=240240 Unreviewed test garderning. Patch by Arcady Goldmints-Orlov on 2022-05-09 * platform/glib/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/glib/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (293981 => 293982) --- trunk/LayoutTests/ChangeLog 2022-05-09 17:44:14 UTC (rev 293981) +++ trunk/LayoutTests/ChangeLog 2022-05-09 18:27:24 UTC (rev 293982) @@ -1,3 +1,12 @@ +2022-05-09 Arcady Goldmints-Orlov + +[GLIB] Update some test expectations for known failures +https://bugs.webkit.org/show_bug.cgi?id=240240 + +Unreviewed test garderning. + +* platform/glib/TestExpectations: + 2022-05-08 Wenson Hsieh [iOS] Double tapping on YouTube video causes playback to pause instead of seek Modified: trunk/LayoutTests/platform/glib/TestExpectations (293981 => 293982) --- trunk/LayoutTests/platform/glib/TestExpectations 2022-05-09 17:44:14 UTC (rev 293981) +++ trunk/LayoutTests/platform/glib/TestExpectations 2022-05-09 18:27:24 UTC (rev 293982) @@ -554,6 +554,9 @@ webkit.org/b/228920 imported/w3c/web-platform-tests/css/css-overflow/clip-006.html [ ImageOnlyFailure ] webkit.org/b/228920 imported/w3c/web-platform-tests/css/css-overflow/clip-007.html [ ImageOnlyFailure ] +webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/line-box-height-vlr-011.xht [ ImageOnlyFailure ] +webkit.org/b/209080 imported/w3c/web-platform-tests/css/css-writing-modes/line-box-height-vlr-013.xht [ ImageOnlyFailure ] + webkit.org/b/229389 imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-001.html [ ImageOnlyFailure ] webkit.org/b/229389 imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-002.html [ ImageOnlyFailure ] webkit.org/b/229389 imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-003.html [ ImageOnlyFailure ] @@ -1294,6 +1297,8 @@ webkit.org/b/234118 svg/custom/filter-update-different-root.html [ ImageOnlyFailure ] webkit.org/b/234118 svg/filters/color-space-conversion.svg [ ImageOnlyFailure ] webkit.org/b/234118 svg/filters/container-with-filters.svg [ ImageOnlyFailure ] +webkit.org/b/234118 imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-opacity.html [ ImageOnlyFailure ] +webkit.org/b/234118 imported/w3c/web-platform-tests/css/filter-effects/effect-reference-on-span.html [ ImageOnlyFailure ] webkit.org/b/234118 imported/w3c/web-platform-tests/css/filter-effects/morphology-mirrored.html [ ImageOnlyFailure ] webkit.org/b/234118 imported/w3c/web-platform-tests/css/filter-effects/root-element-with-opacity-filter-001.html [ ImageOnlyFailure ] webkit.org/b/234118 imported/w3c/web-platform-tests/css/filter-effects/svg-sourcegraphic-currentcolor-dynamic-001.html [ ImageOnlyFailure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293981] trunk/Source/WebCore
Title: [293981] trunk/Source/WebCore Revision 293981 Author gnavamar...@apple.com Date 2022-05-09 10:44:14 -0700 (Mon, 09 May 2022) Log Message ASSERT in WebCore::RenderTreeUpdater::updateRenderTree https://bugs.webkit.org/show_bug.cgi?id=240237 Reviewed by Antti Koivisto. There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will returns two rendering roots, with one of them being an ancestor of the other. Calling updateRenderTree on the ancestor rendering root could end up removing the renderer of the descendant rendering root. This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will ignore the nested root if there is no longer a renderer when it is being processed. * rendering/updating/RenderTreeUpdater.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293980 => 293981) --- trunk/Source/WebCore/ChangeLog 2022-05-09 17:32:36 UTC (rev 293980) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 17:44:14 UTC (rev 293981) @@ -1,3 +1,21 @@ +2022-05-09 Gabriel Nava Marino + +ASSERT in WebCore::RenderTreeUpdater::updateRenderTree +https://bugs.webkit.org/show_bug.cgi?id=240237 + +Reviewed by Antti Koivisto. + +There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will +returns two rendering roots, with one of them being an ancestor of the other. + +Calling updateRenderTree on the ancestor rendering root could end up removing +the renderer of the descendant rendering root. + +This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will +ignore the nested root if there is no longer a renderer when it is being processed. + +* rendering/updating/RenderTreeUpdater.cpp: + 2022-05-09 Tyler Wilcock AXLogger::streamAXCoreObject is missing a null check for AccessibilityObject dynamicDowncast Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp (293980 => 293981) --- trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2022-05-09 17:32:36 UTC (rev 293980) +++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2022-05-09 17:44:14 UTC (rev 293981) @@ -99,18 +99,6 @@ return nullptr; } -static ListHashSet findRenderingRoots(const Style::Update& update) -{ -ListHashSet renderingRoots; -for (auto& root : update.roots()) { -auto* renderingRoot = findRenderingRoot(*root); -if (!renderingRoot) -continue; -renderingRoots.add(renderingRoot); -} -return renderingRoots; -} - void RenderTreeUpdater::commit(std::unique_ptr styleUpdate) { ASSERT(_document == >document()); @@ -122,8 +110,12 @@ m_styleUpdate = WTFMove(styleUpdate); -for (auto* root : findRenderingRoots(*m_styleUpdate)) -updateRenderTree(*root); +for (auto& root : m_styleUpdate->roots()) { +auto* renderingRoot = findRenderingRoot(*root); +if (!renderingRoot) +continue; +updateRenderTree(*renderingRoot); +} generatedContent().updateRemainingQuotes(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293980] trunk
Title: [293980] trunk Revision 293980 Author wenson_hs...@apple.com Date 2022-05-09 10:32:36 -0700 (Mon, 09 May 2022) Log Message [iOS] Double tapping on YouTube video causes playback to pause instead of seek https://bugs.webkit.org/show_bug.cgi?id=240222 rdar://92637636 Reviewed by Aditya Keerthi and Kate Cheney. Add a new layout test. See WebKit/ChangeLog for more details. * fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt: Added. * fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html: Added. [iOS] Double tapping on YouTube video causes playback to pause instead of seek https://bugs.webkit.org/show_bug.cgi?id=240222 rdar://92637636 Reviewed by Aditya Keerthi and Kate Cheney. Add a new compile-time flag to guard the presence of `-[UITextInteractionAssistant contextMenuInteraction]`. See WebKit/ChangeLog for more details. * wtf/PlatformHave.h: [iOS] Double tapping on YouTube video causes playback to pause instead of seek https://bugs.webkit.org/show_bug.cgi?id=240222 rdar://92637636 Reviewed by Aditya Keerthi and Kate Cheney. On some recent versions of iOS, `UITextInteractionAssistant` installs its own context menu interaction by default. This makes UIKit introduce a `_UIRelationshipGestureRecognizer` to the gesture recognizer graph when using WKWebView when the text interaction assistant has been activated in order to implement the asynchronous context menu configuration API. Currently, we add a direct failure requirement from the immediately resettable deferring gesture to this new UIKit relationship gesture. This is problematic, since the context menu interaction will automatically add failure requirements to other long press gestures on the web view, such as the image analysis gestures that trigger Live Text analysis when long pressing on images with text. As a result, the set of immediately resettable gestures is now connected to the set of delayed resettable gestures after the first tap when performing a double tap gesture. Since the `UIWebTouchEventsGestureRecognizer` is a part of this immediate reset subgraph, this means that the touch event gesture recognizer doesn't get reset until about 320 ms after a tap when the text interaction assistant has been activated, due to this new context menu interaction. On YouTube.com, this manifests in a double-tap on the main video player being broken since a double tap gesture only dispatches `touchstart` and `touchend` on the first tap, and YouTube's script only seeks forwards or backwards if it observes two `touchstart` events that are close to each other within 350 ms. To fix this, we simply teach the deferring gesture subgraph partitioning logic in `-deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:` to funnel the relationship gesture (i.e. `-gestureRecognizerForFailureRelationships`) of the text interaction assistant's context menu interaction into the delayed reset subgraph instead of the immediate reset subgraph. Test: fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]): * UIProcess/ios/WKDeferringGestureRecognizer.mm: (-[WKDeferringGestureRecognizer shouldDeferGestureRecognizer:]): Canonical link: https://commits.webkit.org/250418@main Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformHave.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Added Paths trunk/LayoutTests/fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt trunk/LayoutTests/fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html Diff Modified: trunk/LayoutTests/ChangeLog (293979 => 293980) --- trunk/LayoutTests/ChangeLog 2022-05-09 16:52:10 UTC (rev 293979) +++ trunk/LayoutTests/ChangeLog 2022-05-09 17:32:36 UTC (rev 293980) @@ -1,3 +1,16 @@ +2022-05-08 Wenson Hsieh + +[iOS] Double tapping on YouTube video causes playback to pause instead of seek +https://bugs.webkit.org/show_bug.cgi?id=240222 +rdar://92637636 + +Reviewed by Aditya Keerthi and Kate Cheney. + +Add a new layout test. See WebKit/ChangeLog for more details. + +* fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt: Added. +* fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html: Added. + 2022-05-09 Kate Cheney Image controls menu button is not appearing for multi-page PDFs Added: trunk/LayoutTests/fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt (0 => 293980) --- trunk/LayoutTests/fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt (rev 0) +++
[webkit-changes] [293979] trunk/Source/WebKit
Title: [293979] trunk/Source/WebKit Revision 293979 Author pvol...@apple.com Date 2022-05-09 09:52:10 -0700 (Mon, 09 May 2022) Log Message Create reports for long process launch times https://bugs.webkit.org/show_bug.cgi?id=240127 Unreviewed, fix typo. * UIProcess/AuxiliaryProcessProxy.cpp: (WebKit::AuxiliaryProcessProxy::connect): (WebKit::AuxiliaryProcessProxy::didFinishLaunching): * UIProcess/AuxiliaryProcessProxy.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h Diff Modified: trunk/Source/WebKit/ChangeLog (293978 => 293979) --- trunk/Source/WebKit/ChangeLog 2022-05-09 16:41:49 UTC (rev 293978) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 16:52:10 UTC (rev 293979) @@ -1,3 +1,15 @@ +2022-05-09 Per Arne Vollan + +Create reports for long process launch times +https://bugs.webkit.org/show_bug.cgi?id=240127 + +Unreviewed, fix typo. + +* UIProcess/AuxiliaryProcessProxy.cpp: +(WebKit::AuxiliaryProcessProxy::connect): +(WebKit::AuxiliaryProcessProxy::didFinishLaunching): +* UIProcess/AuxiliaryProcessProxy.h: + 2022-05-09 Kate Cheney Image controls menu button is not appearing for multi-page PDFs Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp (293978 => 293979) --- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2022-05-09 16:41:49 UTC (rev 293978) +++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2022-05-09 16:52:10 UTC (rev 293979) @@ -108,7 +108,7 @@ void AuxiliaryProcessProxy::connect() { ASSERT(!m_processLauncher); -m_proccessStart = MonotonicTime::now(); +m_processStart = MonotonicTime::now(); ProcessLauncher::LaunchOptions launchOptions; getLaunchOptions(launchOptions); m_processLauncher = ProcessLauncher::create(this, WTFMove(launchOptions)); @@ -258,7 +258,7 @@ ASSERT(!m_connection); ASSERT(isMainRunLoop()); -auto launchTime = MonotonicTime::now() - m_proccessStart; +auto launchTime = MonotonicTime::now() - m_processStart; if (launchTime > 1_s) RELEASE_LOG_FAULT(Process, "%s process (%p) took %f seconds to launch", processName().characters(), this, launchTime.value()); Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h (293978 => 293979) --- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h 2022-05-09 16:41:49 UTC (rev 293978) +++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h 2022-05-09 16:52:10 UTC (rev 293979) @@ -187,7 +187,7 @@ bool m_didBeginResponsivenessChecks { false }; WebCore::ProcessIdentifier m_processIdentifier { WebCore::ProcessIdentifier::generate() }; std::optional m_delayedResponsivenessCheck; -MonotonicTime m_proccessStart; +MonotonicTime m_processStart; }; template ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293978] trunk/Source/WebCore
Title: [293978] trunk/Source/WebCore Revision 293978 Author tyle...@apple.com Date 2022-05-09 09:41:49 -0700 (Mon, 09 May 2022) Log Message AXLogger::streamAXCoreObject is missing a null check for AccessibilityObject dynamicDowncast https://bugs.webkit.org/show_bug.cgi?id=240228 Reviewed by Andres Gonzalez. When checking if an object has display:contents, we do: if (auto* axObject = dynamicDowncast(); axObject->hasDisplayContents()) Which does not have a nullcheck for when the dynamicDowncast fails (i.e. because the object is not an AccessibilityObject). * accessibility/AXLogger.cpp: (WebCore::streamAXCoreObject): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AXLogger.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293977 => 293978) --- trunk/Source/WebCore/ChangeLog 2022-05-09 16:22:40 UTC (rev 293977) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 16:41:49 UTC (rev 293978) @@ -1,3 +1,20 @@ +2022-05-09 Tyler Wilcock + +AXLogger::streamAXCoreObject is missing a null check for AccessibilityObject dynamicDowncast +https://bugs.webkit.org/show_bug.cgi?id=240228 + +Reviewed by Andres Gonzalez. + +When checking if an object has display:contents, we do: + +if (auto* axObject = dynamicDowncast(); axObject->hasDisplayContents()) + +Which does not have a nullcheck for when the dynamicDowncast fails (i.e. because +the object is not an AccessibilityObject). + +* accessibility/AXLogger.cpp: +(WebCore::streamAXCoreObject): + 2022-05-09 Kate Cheney Image controls menu button is not appearing for multi-page PDFs Modified: trunk/Source/WebCore/accessibility/AXLogger.cpp (293977 => 293978) --- trunk/Source/WebCore/accessibility/AXLogger.cpp 2022-05-09 16:22:40 UTC (rev 293977) +++ trunk/Source/WebCore/accessibility/AXLogger.cpp 2022-05-09 16:41:49 UTC (rev 293978) @@ -592,7 +592,7 @@ } if (options & AXStreamOptions::DisplayContents) { -if (auto* axObject = dynamicDowncast(); axObject->hasDisplayContents()) +if (auto* axObject = dynamicDowncast(); axObject && axObject->hasDisplayContents()) stream.dumpProperty("hasDisplayContents", true); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293977] trunk
Title: [293977] trunk Revision 293977 Author katherine_che...@apple.com Date 2022-05-09 09:22:40 -0700 (Mon, 09 May 2022) Log Message Image controls menu button is not appearing for multi-page PDFs https://bugs.webkit.org/show_bug.cgi?id=240120 rdar://86425721 Reviewed by Megan Gardner. Source/WebCore: Test: fast/attachment/attachment-image-controls-basic.html Refactor image controls button code so it can also be used for PDF attachments. * dom/mac/ImageControlsMac.cpp: (WebCore::ImageControlsMac::handleEvent): (WebCore::ImageControlsMac::isImageMenuEnabled): (WebCore::ImageControlsMac::updateImageControls): (WebCore::ImageControlsMac::tryCreateImageControls): (WebCore::ImageControlsMac::destroyImageControls): (WebCore::ImageControlsMac::hasImageControls): * dom/mac/ImageControlsMac.h: Handle the PDF case when a click on the image controls button happens. Move all image controls code to ImageControlsMac where it can be shared by image and attachment elements. * html/HTMLAttachmentElement.cpp: (WebCore::HTMLAttachmentElement::parseAttribute): (WebCore::HTMLAttachmentElement::childShouldCreateRenderer const): * html/HTMLAttachmentElement.h: * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseAttribute): (WebCore::HTMLImageElement::didAttachRenderers): (WebCore::HTMLImageElement::setAttachmentElement): (WebCore::HTMLImageElement::updateImageControls): Deleted. (WebCore::HTMLImageElement::tryCreateImageControls): Deleted. (WebCore::HTMLImageElement::destroyImageControls): Deleted. (WebCore::HTMLImageElement::hasImageControls const): Deleted. * html/HTMLImageElement.h: (WebCore::HTMLImageElement::isImageMenuEnabled const): (WebCore::HTMLImageElement::setImageMenuEnabled): (WebCore::HTMLImageElement::imageMenuEnabled const): Deleted. * html/shadow/mac/imageControlsMac.css: The image controls button was originally offset by 20px from the top and the right. This causes the image controls button to appear in the middle of a PDF attachment and be difficult to see. This change makes it flush against the top right corner for both images and PDFs. (button#image-controls-button): * page/ChromeClient.h: (WebCore::ChromeClient::handlePDFServiceClick): * rendering/RenderAttachment.cpp: (WebCore::RenderAttachment::RenderAttachment): (WebCore::RenderAttachment::layout): (WebCore::RenderAttachment::layoutShadowContent): * rendering/RenderAttachment.h: Add canHaveGeneratedChildren() and canHaveChildren() so that we render the image controls button in the shadow tree. * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): * testing/Internals.cpp: (WebCore::Internals::hasImageControls const): Source/WebKit: Refactor image controls button code so it can also be used for PDF attachments. * Shared/ContextMenuContextData.cpp: (WebKit::ContextMenuContextData::controlledDataIsEditable const): We need to make sure PDF attachments are marked as editable so the context menu gets properly populated. * Shared/ContextMenuContextData.h: (WebKit::ContextMenuContextData::ContextMenuContextData): * UIProcess/API/Cocoa/APIAttachmentCocoa.mm: (API::Attachment::enclosingImageNSData const): Remove the image check so we return the PDF NSData in the attachment case. * UIProcess/mac/WebContextMenuProxyMac.mm: (WebKit::WebContextMenuProxyMac::setupServicesMenu): * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::handlePDFServiceClick): * WebProcess/WebCoreSupport/WebChromeClient.h: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::handlePDFServiceClick): Plumbing for handling a click on the image controls button for PDFs. LayoutTests: * TestExpectations: * fast/attachment/attachment-image-controls-basic.html: Added. * platform/mac-wk2/TestExpectations: * platform/mac/fast/attachment/attachment-image-controls-basic-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp trunk/Source/WebCore/dom/mac/ImageControlsMac.h trunk/Source/WebCore/html/HTMLAttachmentElement.cpp trunk/Source/WebCore/html/HTMLAttachmentElement.h trunk/Source/WebCore/html/HTMLImageElement.cpp trunk/Source/WebCore/html/HTMLImageElement.h trunk/Source/WebCore/html/shadow/mac/imageControlsMac.css trunk/Source/WebCore/page/ChromeClient.h trunk/Source/WebCore/rendering/RenderAttachment.cpp trunk/Source/WebCore/rendering/RenderAttachment.h trunk/Source/WebCore/rendering/RenderImage.cpp trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/ContextMenuContextData.cpp trunk/Source/WebKit/Shared/ContextMenuContextData.h trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
[webkit-changes] [293976] trunk
Title: [293976] trunk Revision 293976 Author z...@igalia.com Date 2022-05-09 08:48:32 -0700 (Mon, 09 May 2022) Log Message Make input placeholder line-height declaration !important https://bugs.webkit.org/show_bug.cgi?id=240225 Reviewed by Tim Nguyen. Source/WebCore: This is the same the changes made in chromium at https://chromium-review.googlesource.com/c/chromium/src/+/3594234 and Firefox change at https://phabricator.services.mozilla.com/D116907 * css/html.css: (input::placeholder): LayoutTests: Unskip the test that passes. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/html.css Diff Modified: trunk/LayoutTests/ChangeLog (293975 => 293976) --- trunk/LayoutTests/ChangeLog 2022-05-09 15:17:26 UTC (rev 293975) +++ trunk/LayoutTests/ChangeLog 2022-05-09 15:48:32 UTC (rev 293976) @@ -1,3 +1,13 @@ +2022-05-09 Ziran Sun + +Make input placeholder line-height declaration !important +https://bugs.webkit.org/show_bug.cgi?id=240225 + +Reviewed by Tim Nguyen. + +Unskip the test that passes. +* TestExpectations: + 2022-05-09 Antoine Quint REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null Modified: trunk/LayoutTests/TestExpectations (293975 => 293976) --- trunk/LayoutTests/TestExpectations 2022-05-09 15:17:26 UTC (rev 293975) +++ trunk/LayoutTests/TestExpectations 2022-05-09 15:48:32 UTC (rev 293976) @@ -662,7 +662,6 @@ imported/w3c/web-platform-tests/html/editing/editing-0/spelling-and-grammar-checking/spelling-markers-008.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/editing/editing-0/spelling-and-grammar-checking/spelling-markers-010.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/rendering/bindings/the-select-element-0/option-label.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/input-placeholder-line-height.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-alpha.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/lists/li-type-unsupported-lower-roman.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/lists/li-type-unsupported-upper-alpha.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/ChangeLog (293975 => 293976) --- trunk/Source/WebCore/ChangeLog 2022-05-09 15:17:26 UTC (rev 293975) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 15:48:32 UTC (rev 293976) @@ -1,3 +1,18 @@ +2022-05-09 Ziran Sun + +Make input placeholder line-height declaration !important +https://bugs.webkit.org/show_bug.cgi?id=240225 + +Reviewed by Tim Nguyen. + +This is the same the changes made in chromium at +https://chromium-review.googlesource.com/c/chromium/src/+/3594234 +and Firefox change at +https://phabricator.services.mozilla.com/D116907 + +* css/html.css: +(input::placeholder): + 2022-05-09 Antoine Quint REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null Modified: trunk/Source/WebCore/css/html.css (293975 => 293976) --- trunk/Source/WebCore/css/html.css 2022-05-09 15:17:26 UTC (rev 293975) +++ trunk/Source/WebCore/css/html.css 2022-05-09 15:48:32 UTC (rev 293976) @@ -768,7 +768,7 @@ white-space: pre; word-wrap: normal; overflow: hidden; -line-height: initial; +line-height: initial !important; } input:is([type="hidden"], [type="image"], [type="file"]) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293975] trunk
Title: [293975] trunk Revision 293975 Author grao...@webkit.org Date 2022-05-09 08:17:26 -0700 (Mon, 09 May 2022) Log Message REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null https://bugs.webkit.org/show_bug.cgi?id=239649 rdar://92018859 Reviewed by Dean Jackson. Test: system-preview/svg-image.html In the case of an pointing to an SVG resource, the nativeImage() is null. We need to handle this case properly (filed bug 239673), but for now we can at least not crash. * platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::drawSystemImage): Canonical link: https://commits.webkit.org/250413@main Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp Added Paths trunk/LayoutTests/system-preview/svg-image-expected.html trunk/LayoutTests/system-preview/svg-image.html Diff Modified: trunk/LayoutTests/ChangeLog (293974 => 293975) --- trunk/LayoutTests/ChangeLog 2022-05-09 14:57:30 UTC (rev 293974) +++ trunk/LayoutTests/ChangeLog 2022-05-09 15:17:26 UTC (rev 293975) @@ -1,3 +1,14 @@ +2022-05-09 Antoine Quint + +REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null +https://bugs.webkit.org/show_bug.cgi?id=239649 +rdar://92018859 + +Reviewed by Dean Jackson. + +* system-preview/svg-image-expected.html: Added. +* system-preview/svg-image.html: Added. + 2022-05-09 Manuel Rego Casasnovas [WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main Added: trunk/LayoutTests/system-preview/svg-image-expected.html (0 => 293975) --- trunk/LayoutTests/system-preview/svg-image-expected.html (rev 0) +++ trunk/LayoutTests/system-preview/svg-image-expected.html 2022-05-09 15:17:26 UTC (rev 293975) @@ -0,0 +1,3 @@ + + \ No newline at end of file Added: trunk/LayoutTests/system-preview/svg-image.html (0 => 293975) --- trunk/LayoutTests/system-preview/svg-image.html (rev 0) +++ trunk/LayoutTests/system-preview/svg-image.html 2022-05-09 15:17:26 UTC (rev 293975) @@ -0,0 +1,3 @@ +" width="400" height="400"> + \ No newline at end of file Modified: trunk/Source/WebCore/ChangeLog (293974 => 293975) --- trunk/Source/WebCore/ChangeLog 2022-05-09 14:57:30 UTC (rev 293974) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 15:17:26 UTC (rev 293975) @@ -1,3 +1,19 @@ +2022-05-09 Antoine Quint + +REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null +https://bugs.webkit.org/show_bug.cgi?id=239649 +rdar://92018859 + +Reviewed by Dean Jackson. + +Test: system-preview/svg-image.html + +In the case of an pointing to an SVG resource, the nativeImage() is null. We need to handle this case +properly (filed bug 239673), but for now we can at least not crash. + +* platform/graphics/displaylists/DisplayListRecorder.cpp: +(WebCore::DisplayList::Recorder::drawSystemImage): + 2022-05-09 Youenn Fablet CoreAudioCaptureSource::settingsDidChange should not reconfigure the audio unit if CoreAudioCaptureSource is not started Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp (293974 => 293975) --- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp 2022-05-09 14:57:30 UTC (rev 293974) +++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp 2022-05-09 15:17:26 UTC (rev 293975) @@ -199,8 +199,11 @@ { #if USE(SYSTEM_PREVIEW) if (is(systemImage)) { -if (auto image = downcast(systemImage).image()) -recordResourceUse(*image->nativeImage()); +if (auto image = downcast(systemImage).image()) { +if (auto nativeImage = image->nativeImage()) +recordResourceUse(*nativeImage); +} +return; } #endif recordDrawSystemImage(systemImage, destinationRect); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293974] trunk/JSTests
Title: [293974] trunk/JSTests Revision 293974 Author keith_mil...@apple.com Date 2022-05-09 07:57:30 -0700 (Mon, 09 May 2022) Log Message Unreviewed test gardening. * test262/expectations.yaml: Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/test262/expectations.yaml Diff Modified: trunk/JSTests/ChangeLog (293973 => 293974) --- trunk/JSTests/ChangeLog 2022-05-09 14:46:18 UTC (rev 293973) +++ trunk/JSTests/ChangeLog 2022-05-09 14:57:30 UTC (rev 293974) @@ -1,3 +1,9 @@ +2022-05-09 Keith Miller + +Unreviewed test gardening. + +* test262/expectations.yaml: + 2022-05-06 Ross Kirsling Temporal.Duration#toString should never ignore fractionalSecondDigits Modified: trunk/JSTests/test262/expectations.yaml (293973 => 293974) --- trunk/JSTests/test262/expectations.yaml 2022-05-09 14:46:18 UTC (rev 293973) +++ trunk/JSTests/test262/expectations.yaml 2022-05-09 14:57:30 UTC (rev 293974) @@ -1317,6 +1317,9 @@ test/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js: default: 'Test262Error: "und".minimize() should be "en" Expected SameValue(«en-u-va-posix», «en») to be true' strict mode: 'Test262Error: "und".minimize() should be "en" Expected SameValue(«en-u-va-posix», «en») to be true' +test/intl402/NumberFormat/constructor-roundingIncrement-invalid.js: + default: 'Test262Error: "maximumFractionDigits" is not equal to "minimumFractionDigits" Expected a RangeError to be thrown but no exception was thrown at all' + strict mode: 'Test262Error: "maximumFractionDigits" is not equal to "minimumFractionDigits" Expected a RangeError to be thrown but no exception was thrown at all' test/intl402/NumberFormat/prototype/format/format-rounding-priority-less-precision.js: default: 'Test262Error: Formatted value for 1, en-US-u-nu-arab and options {"useGrouping":false,"roundingPriority":"lessPrecision","minimumSignificantDigits":3,"minimumFractionDigits":1} is ١٫٠٠; expected ١٫٠.' strict mode: 'Test262Error: Formatted value for 1, en-US-u-nu-arab and options {"useGrouping":false,"roundingPriority":"lessPrecision","minimumSignificantDigits":3,"minimumFractionDigits":1} is ١٫٠٠; expected ١٫٠.' ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293973] trunk/Tools
Title: [293973] trunk/Tools Revision 293973 Author keith_mil...@apple.com Date 2022-05-09 07:46:18 -0700 (Mon, 09 May 2022) Log Message Test262 runner should show progress https://bugs.webkit.org/show_bug.cgi?id=240181 Reviewed by Yusuke Suzuki. The progress will appear as something like [42/245669]. * Scripts/test262/Runner.pm: (processCLI): (main): Canonical link: https://commits.webkit.org/250411@main Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/test262/Runner.pm Diff Modified: trunk/Tools/ChangeLog (293972 => 293973) --- trunk/Tools/ChangeLog 2022-05-09 14:05:21 UTC (rev 293972) +++ trunk/Tools/ChangeLog 2022-05-09 14:46:18 UTC (rev 293973) @@ -1,3 +1,16 @@ +2022-05-06 Keith Miller + +Test262 runner should show progress +https://bugs.webkit.org/show_bug.cgi?id=240181 + +Reviewed by Yusuke Suzuki. + +The progress will appear as something like [42/245669]. + +* Scripts/test262/Runner.pm: +(processCLI): +(main): + 2022-05-08 Antti Koivisto Avoid resolving style for elements that only inherit changes from parent Modified: trunk/Tools/Scripts/test262/Runner.pm (293972 => 293973) --- trunk/Tools/Scripts/test262/Runner.pm 2022-05-09 14:05:21 UTC (rev 293972) +++ trunk/Tools/Scripts/test262/Runner.pm 2022-05-09 14:46:18 UTC (rev 293973) @@ -132,6 +132,7 @@ my $runningAllTests; my $timeout; my $skippedOnly; +my $noProgress; my $test262Dir; my $webkitTest262Dir = abs_path("$Bin/../../../JSTests/test262"); @@ -176,7 +177,7 @@ 'f|features=s@' => \@features, 'c|config=s' => \$configFile, 'i|ignore-config' => \$ignoreConfig, -'s|save' => \$saveExpectations, +'save' => \$saveExpectations, 'e|expectations=s' => \$specifiedExpectationsFile, 'x|ignore-expectations' => \$ignoreExpectations, 'F|failing-files' => \$failingOnly, @@ -185,6 +186,7 @@ 'r|results=s' => \$specifiedResultsFile, 'timeout=i' => \$timeout, 'S|skipped-files' => \$skippedOnly, +'no-progress' => \$noProgress, ); if ($help) { @@ -355,6 +357,9 @@ } } +my $numFiles = scalar(@files); +my $completedFiles = 0; + my $pm = Parallel::ForkManager->new($maxProcesses); my $select = IO::Select->new(); @@ -423,8 +428,12 @@ $activeChildren--; my $file = shift @files; if ($file) { +$completedFiles++; chomp $file; print $readyChild "$file\n"; +if (!$noProgress) { +print "[$completedFiles/$numFiles]\r"; +} $activeChildren++; } elsif (!$activeChildren) { last FILES; @@ -1338,7 +1347,7 @@ Specify one or more specific test262 directory of test to run, relative to the root test262 directory. For example, --test-only 'test/built-ins/Number/prototype' -=item B<--save, -s> +=item B<--save> Overwrites the test262-expectations.yaml file with the current list of test262 files and test results. @@ -1366,6 +1375,10 @@ Calculate conformance statistics from results/results.yaml file or a supplied results file (--results). Saves results in results/summary.txt and results/summary.yaml. +=item B<--no-progress> + +Don't show progress while running tests. + =item B<--results, -r> Specifies a results file for the --stats or --failing-files options. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293972] trunk/Source/WebCore
Title: [293972] trunk/Source/WebCore Revision 293972 Author you...@apple.com Date 2022-05-09 07:05:21 -0700 (Mon, 09 May 2022) Log Message CoreAudioCaptureSource::settingsDidChange should not reconfigure the audio unit if CoreAudioCaptureSource is not started https://bugs.webkit.org/show_bug.cgi?id=240059 Reviewed by Eric Carlson. We should only ask to reconfigure when source settings change if the source is actually started. Otherwise, we can wait for the source to start to actually set the unit values and reconfigure if needed. To make sure to correctly expose settings, we reset them in CoreAudioCaptureSource::settingsDidChange and in CoreAudioCaptureSource::initializeToStartProducingData. We also only use the audio unit sample rate if it is rendering audio, otherwise we can change the sample rate at will. Manually tested. * platform/mediastream/mac/CoreAudioCaptureSource.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293971 => 293972) --- trunk/Source/WebCore/ChangeLog 2022-05-09 10:54:10 UTC (rev 293971) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 14:05:21 UTC (rev 293972) @@ -1,3 +1,20 @@ +2022-05-09 Youenn Fablet + +CoreAudioCaptureSource::settingsDidChange should not reconfigure the audio unit if CoreAudioCaptureSource is not started +https://bugs.webkit.org/show_bug.cgi?id=240059 + +Reviewed by Eric Carlson. + +We should only ask to reconfigure when source settings change if the source is actually started. +Otherwise, we can wait for the source to start to actually set the unit values and reconfigure if needed. +To make sure to correctly expose settings, we reset them in CoreAudioCaptureSource::settingsDidChange and in +CoreAudioCaptureSource::initializeToStartProducingData. +We also only use the audio unit sample rate if it is rendering audio, otherwise we can change the sample rate at will. + +Manually tested. + +* platform/mediastream/mac/CoreAudioCaptureSource.cpp: + 2022-05-09 Miguel Gomez [Nicosia] Canvas animations don't work with threaded rendering Modified: trunk/Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h (293971 => 293972) --- trunk/Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h 2022-05-09 10:54:10 UTC (rev 293971) +++ trunk/Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h 2022-05-09 14:05:21 UTC (rev 293972) @@ -81,6 +81,7 @@ void devicesChanged(const Vector&); void whenAudioCaptureUnitIsNotRunning(Function&&); +bool isRenderingAudio() const { return m_isRenderingAudio; } protected: void forEachClient(const Function&) const; Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp (293971 => 293972) --- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp 2022-05-09 10:54:10 UTC (rev 293971) +++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp 2022-05-09 14:05:21 UTC (rev 293972) @@ -827,6 +827,8 @@ if (shouldReconfigure) unit.reconfigure(); + +m_currentSettings = std::nullopt; } CoreAudioCaptureSource::~CoreAudioCaptureSource() @@ -865,7 +867,7 @@ if (!m_currentSettings) { RealtimeMediaSourceSettings settings; settings.setVolume(volume()); -settings.setSampleRate(unit().actualSampleRate()); +settings.setSampleRate(unit().isRenderingAudio() ? unit().actualSampleRate() : sampleRate()); settings.setDeviceId(hashedId()); settings.setLabel(name()); settings.setEchoCancellation(echoCancellation()); @@ -884,6 +886,11 @@ void CoreAudioCaptureSource::settingsDidChange(OptionSet settings) { +if (!m_isReadyToStart) { +m_currentSettings = std::nullopt; +return; +} + bool shouldReconfigure = false; if (settings.contains(RealtimeMediaSourceSettings::Flag::EchoCancellation)) { unit().setEnableEchoCancellation(echoCancellation()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293971] trunk/Source/WebCore
Title: [293971] trunk/Source/WebCore Revision 293971 Author mago...@igalia.com Date 2022-05-09 03:54:10 -0700 (Mon, 09 May 2022) Log Message [Nicosia] Canvas animations don't work with threaded rendering https://bugs.webkit.org/show_bug.cgi?id=227760 Reviewed by Adrian Perez de Castro. Implement Nicosia::CairoOperationRecorder::draImageBuffer(), which is required in order to paint canvas contents into a GraphicsContext. * platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: (Nicosia::CairoOperationRecorder::drawImageBuffer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293970 => 293971) --- trunk/Source/WebCore/ChangeLog 2022-05-09 10:47:12 UTC (rev 293970) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 10:54:10 UTC (rev 293971) @@ -1,3 +1,17 @@ +2022-05-09 Miguel Gomez + +[Nicosia] Canvas animations don't work with threaded rendering +https://bugs.webkit.org/show_bug.cgi?id=227760 + + +Reviewed by Adrian Perez de Castro. + +Implement Nicosia::CairoOperationRecorder::draImageBuffer(), which is required in order to paint +canvas contents into a GraphicsContext. + +* platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: +(Nicosia::CairoOperationRecorder::drawImageBuffer): + 2022-05-09 Manuel Rego Casasnovas [WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main Modified: trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp (293970 => 293971) --- trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp 2022-05-09 10:47:12 UTC (rev 293970) +++ trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp 2022-05-09 10:54:10 UTC (rev 293971) @@ -540,9 +540,32 @@ state.strokeThickness(), state.dropShadow().offset, state.dropShadow().color, fontSmoothing)); } -void CairoOperationRecorder::drawImageBuffer(ImageBuffer&, const FloatRect&, const FloatRect&, const ImagePaintingOptions&) +void CairoOperationRecorder::drawImageBuffer(ImageBuffer& buffer, const FloatRect& destRect, const FloatRect& srcRect, const ImagePaintingOptions& options) { -// FIXME: Not implemented. +struct DrawImageBuffer final : PaintingOperation, OperationData, FloatRect, FloatRect, ImagePaintingOptions, float, Cairo::ShadowState> { +virtual ~DrawImageBuffer() = default; + +void execute(PaintingOperationReplay& replayer) override +{ +Cairo::drawPlatformImage(contextForReplay(replayer), arg<0>().get(), arg<1>(), arg<2>(), arg<3>(), arg<4>(), arg<5>()); +} + +void dump(TextStream& ts) override +{ +ts << indent << "DrawImageBuffer<>\n"; +} +}; + +RefPtr image = buffer.copyImage(DontCopyBackingStore); +if (!image) +return; + +auto nativeImage = image->nativeImageForCurrentFrame(); +if (!nativeImage) +return; + +auto& state = this->state(); +append(createCommand(nativeImage->platformImage(), destRect, srcRect, ImagePaintingOptions(options, state.imageInterpolationQuality()), state.alpha(), Cairo::ShadowState(state))); } void CairoOperationRecorder::drawFilteredImageBuffer(ImageBuffer* srcImage, const FloatRect& srcRect, Filter& filter, FilterResults& results) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293970] trunk
Title: [293970] trunk Revision 293970 Author r...@igalia.com Date 2022-05-09 03:47:12 -0700 (Mon, 09 May 2022) Log Message [WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main https://bugs.webkit.org/show_bug.cgi?id=240218 Reviewed by Joanmarie Diggs. Source/WebCore: Fix a wrong ASSERT for AriaReflectionForElementReferencesEnabled. If AriaReflectionForElementReferencesEnabled is disabled, and you set one of the attributes that have reflection under that flag, we'll hit an ASSERT in Element::attributeChanged(). The fact that we set such attribute doesn't mean that the flag has to be enabled. Removed the ASSERT and added an if to check if the flag is enabled, otherwise we don't need to do anything with the map. * dom/Element.cpp: (WebCore::Element::attributeChanged): LayoutTests: * platform/wincairo-wk1/TestExpectations: Mark test as timeout as it was before r293958. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/wincairo-wk1/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Element.cpp Diff Modified: trunk/LayoutTests/ChangeLog (293969 => 293970) --- trunk/LayoutTests/ChangeLog 2022-05-09 08:41:51 UTC (rev 293969) +++ trunk/LayoutTests/ChangeLog 2022-05-09 10:47:12 UTC (rev 293970) @@ -1,3 +1,14 @@ +2022-05-09 Manuel Rego Casasnovas + +[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main +https://bugs.webkit.org/show_bug.cgi?id=240218 + + +Reviewed by Joanmarie Diggs. + +* platform/wincairo-wk1/TestExpectations: Mark test as timeout as it +was before r293958. + 2022-05-08 Fujii Hironori [WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main Modified: trunk/LayoutTests/platform/wincairo-wk1/TestExpectations (293969 => 293970) --- trunk/LayoutTests/platform/wincairo-wk1/TestExpectations 2022-05-09 08:41:51 UTC (rev 293969) +++ trunk/LayoutTests/platform/wincairo-wk1/TestExpectations 2022-05-09 10:47:12 UTC (rev 293970) @@ -258,7 +258,7 @@ webkit.org/b/181501 accessibility/table-header-calculation-for-header-rows.html [ Failure ] -webkit.org/b/240218 accessibility/aria-combobox-control-owns-elements.html [ Skip ] # Crash +webkit.org/b/240218 accessibility/aria-combobox-control-owns-elements.html [ Timeout ] webkit.org/b/183955 accessibility/row-with-aria-role-in-native-table.html [ Failure ] Modified: trunk/Source/WebCore/ChangeLog (293969 => 293970) --- trunk/Source/WebCore/ChangeLog 2022-05-09 08:41:51 UTC (rev 293969) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 10:47:12 UTC (rev 293970) @@ -1,3 +1,25 @@ +2022-05-09 Manuel Rego Casasnovas + +[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main +https://bugs.webkit.org/show_bug.cgi?id=240218 + + +Reviewed by Joanmarie Diggs. + +Fix a wrong ASSERT for AriaReflectionForElementReferencesEnabled. +If AriaReflectionForElementReferencesEnabled is disabled, and you set +one of the attributes that have reflection under that flag, +we'll hit an ASSERT in Element::attributeChanged(). + +The fact that we set such attribute doesn't mean that the flag +has to be enabled. + +Removed the ASSERT and added an if to check if the flag is enabled, +otherwise we don't need to do anything with the map. + +* dom/Element.cpp: +(WebCore::Element::attributeChanged): + 2022-05-09 Diego Pino Garcia Unreviewed, non-unified build fixes after r293562 Modified: trunk/Source/WebCore/dom/Element.cpp (293969 => 293970) --- trunk/Source/WebCore/dom/Element.cpp 2022-05-09 08:41:51 UTC (rev 293969) +++ trunk/Source/WebCore/dom/Element.cpp 2022-05-09 10:47:12 UTC (rev 293970) @@ -1942,8 +1942,7 @@ } } else if (name == HTMLNames::partAttr) partAttributeChanged(newValue); -else if (isElementReflectionAttribute(name)) { -ASSERT(document().settings().ariaReflectionForElementReferencesEnabled()); +else if (document().settings().ariaReflectionForElementReferencesEnabled() && isElementReflectionAttribute(name)) { if (auto* map = explicitlySetAttrElementsMapIfExists()) map->remove(name); } else if (name == HTMLNames::exportpartsAttr) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293969] trunk/Source
Title: [293969] trunk/Source Revision 293969 Author dp...@igalia.com Date 2022-05-09 01:41:51 -0700 (Mon, 09 May 2022) Log Message Unreviewed, non-unified build fixes after r293562 Source/WebCore: * workers/shared/context/SharedWorkerThread.cpp: * workers/shared/context/SharedWorkerThreadProxy.cpp: Source/WebKit: * NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: * WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp: (WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker): Source/WTF: * wtf/text/StringCommon.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/text/StringCommon.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/shared/context/SharedWorkerThread.cpp trunk/Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp Diff Modified: trunk/Source/WTF/ChangeLog (293968 => 293969) --- trunk/Source/WTF/ChangeLog 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WTF/ChangeLog 2022-05-09 08:41:51 UTC (rev 293969) @@ -1,3 +1,9 @@ +2022-05-09 Diego Pino Garcia + +Unreviewed, non-unified build fixes after r293562 + +* wtf/text/StringCommon.h: + 2022-05-06 Megan Gardner Fix flakey test by using the old API on old systems. Modified: trunk/Source/WTF/wtf/text/StringCommon.h (293968 => 293969) --- trunk/Source/WTF/wtf/text/StringCommon.h 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WTF/wtf/text/StringCommon.h 2022-05-09 08:41:51 UTC (rev 293969) @@ -30,6 +30,7 @@ #include #include #include +#include namespace WTF { Modified: trunk/Source/WebCore/ChangeLog (293968 => 293969) --- trunk/Source/WebCore/ChangeLog 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 08:41:51 UTC (rev 293969) @@ -1,3 +1,10 @@ +2022-05-09 Diego Pino Garcia + +Unreviewed, non-unified build fixes after r293562 + +* workers/shared/context/SharedWorkerThread.cpp: +* workers/shared/context/SharedWorkerThreadProxy.cpp: + 2022-05-08 Said Abou-Hallawa [macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled Modified: trunk/Source/WebCore/workers/shared/context/SharedWorkerThread.cpp (293968 => 293969) --- trunk/Source/WebCore/workers/shared/context/SharedWorkerThread.cpp 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebCore/workers/shared/context/SharedWorkerThread.cpp 2022-05-09 08:41:51 UTC (rev 293969) @@ -27,6 +27,7 @@ #include "SharedWorkerThread.h" #include "Logging.h" +#include "ServiceWorker.h" #include "SharedWorkerGlobalScope.h" #include "WorkerObjectProxy.h" Modified: trunk/Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp (293968 => 293969) --- trunk/Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp 2022-05-09 08:41:51 UTC (rev 293969) @@ -44,6 +44,7 @@ #include "SharedWorkerGlobalScope.h" #include "SharedWorkerThread.h" #include "WorkerFetchResult.h" +#include "WorkerInitializationData.h" #include "WorkerThread.h" #include <_javascript_Core/IdentifiersFactory.h> Modified: trunk/Source/WebKit/ChangeLog (293968 => 293969) --- trunk/Source/WebKit/ChangeLog 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 08:41:51 UTC (rev 293969) @@ -1,3 +1,11 @@ +2022-05-09 Diego Pino Garcia + +Unreviewed, non-unified build fixes after r293562 + +* NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: +* WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp: +(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker): + 2022-05-08 Said Abou-Hallawa [macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled Modified: trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h (293968 => 293969) --- trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h 2022-05-09 08:41:51 UTC (rev 293969) @@ -30,6 +30,7 @@ #include #include #include +#include #include namespace WebCore { Modified: trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp (293968 => 293969) --- trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp 2022-05-09 06:28:36 UTC (rev 293968) +++ trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp 2022-05-09 08:41:51 UTC (rev 293969) @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@
[webkit-changes] [293968] trunk/Source
Title: [293968] trunk/Source Revision 293968 Author s...@apple.com Date 2022-05-08 23:28:36 -0700 (Sun, 08 May 2022) Log Message [macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled https://bugs.webkit.org/show_bug.cgi?id=240203 rdar://92892014 Reviewed by Tim Horton. Source/WebCore: takeSnapshots() depends on the snapshot ImageBuffer::resolutionScale() to set the size of the TextIndicatorData image. r293825 scaled the size of the ImageBuffer before creation and moved the scaling to the GraphicsContext. So we have correct scaled pixels but the resolutionScale is 1. So we get enlarged incorrect image. The fix is to revert r293825 and fix the iOS snapshot without having to change snapshotFrameRectWithClip(). * page/FrameSnapshotting.cpp: (WebCore::snapshotFrameRectWithClip): Source/WebKit: In getShareableBitmapForImageBufferWithQualifiedIdentifier(), we used to pass the backendSize as the srcRect and the backendSize as the destRect to GraphicsContext::drawImageBuffer(). The backendSize is the logicalSize scaled by the resolutionScale. But in ImageBufferCGBackend::draw() we scale the srcRect by the resolutionScale one more time. This double- scaled srcRect draws a srcRect whose size = backendSize * resolutionScale to a destRect whose size = backendSize. And this results in shrinking the desired snapshot image by 1 / resolutionScale. * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameSnapshotting.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293967 => 293968) --- trunk/Source/WebCore/ChangeLog 2022-05-09 06:14:33 UTC (rev 293967) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 06:28:36 UTC (rev 293968) @@ -1,3 +1,23 @@ +2022-05-08 Said Abou-Hallawa + +[macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled +https://bugs.webkit.org/show_bug.cgi?id=240203 +rdar://92892014 + +Reviewed by Tim Horton. + +takeSnapshots() depends on the snapshot ImageBuffer::resolutionScale() to +set the size of the TextIndicatorData image. r293825 scaled the size of +the ImageBuffer before creation and moved the scaling to the GraphicsContext. +So we have correct scaled pixels but the resolutionScale is 1. So we get +enlarged incorrect image. + +The fix is to revert r293825 and fix the iOS snapshot without having to +change snapshotFrameRectWithClip(). + +* page/FrameSnapshotting.cpp: +(WebCore::snapshotFrameRectWithClip): + 2022-05-07 Yusuke Suzuki Introduce EventTrackingRegions::Event enum Modified: trunk/Source/WebCore/page/FrameSnapshotting.cpp (293967 => 293968) --- trunk/Source/WebCore/page/FrameSnapshotting.cpp 2022-05-09 06:14:33 UTC (rev 293967) +++ trunk/Source/WebCore/page/FrameSnapshotting.cpp 2022-05-09 06:28:36 UTC (rev 293968) @@ -115,23 +115,19 @@ if (options.flags.contains(SnapshotFlags::PaintWithIntegralScaleFactor)) scaleFactor = ceilf(scaleFactor); -auto scaledImageRect = imageRect; -scaledImageRect.scale(scaleFactor); - auto purpose = options.flags.contains(SnapshotFlags::Shareable) ? RenderingPurpose::ShareableSnapshot : RenderingPurpose::Snapshot; auto hostWindow = (document->view() && document->view()->root()) ? document->view()->root()->hostWindow() : nullptr; -auto buffer = ImageBuffer::create(scaledImageRect.size(), purpose, 1, options.colorSpace, options.pixelFormat, { }, { hostWindow }); +auto buffer = ImageBuffer::create(imageRect.size(), purpose, scaleFactor, options.colorSpace, options.pixelFormat, { }, { hostWindow }); if (!buffer) return nullptr; -buffer->context().translate(-scaledImageRect.location()); -buffer->context().scale(scaleFactor); +buffer->context().translate(-imageRect.location()); if (!clipRects.isEmpty()) { Path clipPath; for (auto& rect : clipRects) -clipPath.addRect(rect); +clipPath.addRect(encloseRectToDevicePixels(rect, scaleFactor)); buffer->context().clipPath(clipPath); } Modified: trunk/Source/WebKit/ChangeLog (293967 => 293968) --- trunk/Source/WebKit/ChangeLog 2022-05-09 06:14:33 UTC (rev 293967) +++ trunk/Source/WebKit/ChangeLog 2022-05-09 06:28:36 UTC (rev 293968) @@ -1,3 +1,23 @@ +2022-05-08 Said Abou-Hallawa + +[macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled +https://bugs.webkit.org/show_bug.cgi?id=240203 +rdar://92892014 + +Reviewed by Tim Horton. + +In getShareableBitmapForImageBufferWithQualifiedIdentifier(), we used to +pass the backendSize as the srcRect and the backendSize as the destRect +
[webkit-changes] [293967] trunk/Source
Title: [293967] trunk/Source Revision 293967 Author ysuz...@apple.com Date 2022-05-08 23:14:33 -0700 (Sun, 08 May 2022) Log Message Introduce EventTrackingRegions::Event enum https://bugs.webkit.org/show_bug.cgi?id=240206 Reviewed by Mark Lam. We noticed that EventNames 260~ AtomStrings are allocated in scrolling thread only because we are using eventNames() for EventTrackingRegions. But since use of it is limited, we can just use enum instead. 1. We can make EventTrackingRegions more efficient by using enum instead of String. 2. We can save memory by avoiding EventNames string allocations & AtomStringTable registration. 3. We can make this parameter more strictly typed compared to accepting any kind of Strings * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (WebKit::dump): * Source/WebKit/Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder::decode): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::eventTrackingTypeForPoint const): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateTouchEventTracking): * Source/WebCore/page/DebugPageOverlays.cpp: (WebCore::NonFastScrollableRegionOverlay::drawRect): * Source/WebCore/page/Page.cpp: (WebCore::Page::touchEventRectsForEventForTesting): * Source/WebCore/page/Page.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const): * Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp: (WebCore::ScrollingStateFrameScrollingNode::dumpProperties const): * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::computeWheelProcessingSteps): (WebCore::ScrollingTree::eventTrackingTypeForPoint): * Source/WebCore/page/scrolling/ScrollingTree.h: * Source/WebCore/platform/EventTrackingRegions.cpp: (WebCore::EventTrackingRegions::eventName): (WebCore::EventTrackingRegions::trackingTypeForPoint): (WebCore::EventTrackingRegions::uniteSynchronousRegion): * Source/WebCore/platform/EventTrackingRegions.h: * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::touchEventRectsForEvent): * Source/WebCore/testing/Internals.h: Canonical link: https://commits.webkit.org/250405@main Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/DebugPageOverlays.cpp trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/page/Page.h trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ScrollingTree.h trunk/Source/WebCore/platform/EventTrackingRegions.cpp trunk/Source/WebCore/platform/EventTrackingRegions.h trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (293966 => 293967) --- trunk/Source/WebCore/ChangeLog 2022-05-09 04:05:08 UTC (rev 293966) +++ trunk/Source/WebCore/ChangeLog 2022-05-09 06:14:33 UTC (rev 293967) @@ -1,3 +1,39 @@ +2022-05-07 Yusuke Suzuki + +Introduce EventTrackingRegions::Event enum +https://bugs.webkit.org/show_bug.cgi?id=240206 + +Reviewed by Mark Lam. + +We noticed that EventNames 260~ AtomStrings are allocated in scrolling thread only because we are using +eventNames() for EventTrackingRegions. But since use of it is limited, we can just use enum instead. + +1. We can make EventTrackingRegions more efficient by using enum instead of String. +2. We can save memory by avoiding EventNames string allocations & AtomStringTable registration. +3. We can make this parameter more strictly typed compared to accepting any kind of Strings + +* page/DebugPageOverlays.cpp: +(WebCore::NonFastScrollableRegionOverlay::drawRect): +* page/Page.cpp: +(WebCore::Page::touchEventRectsForEventForTesting): +* page/Page.h: +* page/scrolling/ScrollingCoordinator.cpp: +(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const): +* page/scrolling/ScrollingStateFrameScrollingNode.cpp: +(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const): +* page/scrolling/ScrollingTree.cpp: +(WebCore::ScrollingTree::computeWheelProcessingSteps): +(WebCore::ScrollingTree::eventTrackingTypeForPoint): +*