[webkit-changes] [WebKit/WebKit] 1eebbb: [JSC] Inline Date.prototype.setTime
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1eebbbcabad19d431ea7f7a15a14a2edd59846af https://github.com/WebKit/WebKit/commit/1eebbbcabad19d431ea7f7a15a14a2edd59846af Author: Yusuke Suzuki Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A JSTests/stress/date-set-time.js M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp M Source/JavaScriptCore/dfg/DFGClobberize.h M Source/JavaScriptCore/dfg/DFGDoesGC.cpp M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp M Source/JavaScriptCore/dfg/DFGNodeType.h M Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp M Source/JavaScriptCore/dfg/DFGSafeToExecute.h M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h M Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp M Source/JavaScriptCore/ftl/FTLCapabilities.cpp M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp M Source/JavaScriptCore/runtime/DatePrototype.cpp M Source/JavaScriptCore/runtime/Intrinsic.h Log Message: --- [JSC] Inline Date.prototype.setTime https://bugs.webkit.org/show_bug.cgi?id=258709 rdar://problem/111549361 Reviewed by Mark Lam. This patch inlines Date.prototype.setTime in DFG and FTL to accelerate the performance of this. * JSTests/stress/date-set-time.js: Added. (shouldBe): (addSet): * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * Source/JavaScriptCore/dfg/DFGClobberize.h: (JSC::DFG::clobberize): * Source/JavaScriptCore/dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * Source/JavaScriptCore/dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * Source/JavaScriptCore/dfg/DFGNodeType.h: * Source/JavaScriptCore/dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/dfg/DFGOperations.h: * Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp: * Source/JavaScriptCore/dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h: * Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::compileDateSet): * Source/JavaScriptCore/ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): * Source/JavaScriptCore/runtime/DatePrototype.cpp: * Source/JavaScriptCore/runtime/Intrinsic.h: Canonical link: https://commits.webkit.org/265642@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4be71d: REGRESSION(262616@main): wpt/permissions-policy/pa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4be71d55e77b3a3c6216e19dc23db4504ad93bbc https://github.com/WebKit/WebKit/commit/4be71d55e77b3a3c6216e19dc23db4504ad93bbc Author: Chris Dumez Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub-expected.txt A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy-payment.html M LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy.js A LayoutTests/imported/w3c/web-platform-tests/permissions/resources/redirect-on-load.html M LayoutTests/imported/w3c/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt M LayoutTests/platform/glib/TestExpectations A LayoutTests/platform/glib/imported/w3c/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt M LayoutTests/platform/mac-wk1/TestExpectations M Source/WebCore/html/FeaturePolicy.cpp Log Message: --- REGRESSION(262616@main): wpt/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html https://bugs.webkit.org/show_bug.cgi?id=258217 rdar://110907826 Reviewed by Ryosuke Niwa. According to the specification [1]: ``` The allowlist for the features named in the attribute may be empty; in that case, the default value for the allowlist is 'src', which represents the origin of the URL in the iframe’s src attribute. ``` However, in FeaturePolicy's updateList(), we would set the AllowRule's type to Type::All, which would be equivalent to having an allowlist of '*'. To address the issue, we now get the iframe's src URL and compute its origin, we then add this origin to the allowed list of origins. This implements allowlist 'src' behavior. [1] https://www.w3.org/TR/permissions-policy/#iframe-allow-attribute * LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy-payment.html: Added. * LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy.js: (expectFeatureAvailable): (test_feature_availability): (test_feature_availability_with_post_message_result): (run_all_fp_tests_allow_self): * LayoutTests/imported/w3c/web-platform-tests/permissions/resources/redirect-on-load.html: Added. Import WPT test coverage. * Source/WebCore/html/FeaturePolicy.cpp: (WebCore::updateList): (WebCore::FeaturePolicy::parse): Canonical link: https://commits.webkit.org/265641@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 30ebff: Change LGPL version 2, 1 -> 2.1
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 30ebff67c85a94f5f94f1de3e8750bc786dc8a43 https://github.com/WebKit/WebKit/commit/30ebff67c85a94f5f94f1de3e8750bc786dc8a43 Author: Michael Catanzaro Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp M Source/WebKit/UIProcess/API/glib/WebKitCookieManager.h.in M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.h.in M Source/WebKit/UIProcess/API/glib/WebKitFindController.cpp M Source/WebKit/UIProcess/API/glib/WebKitFindController.h.in M Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp M Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.h.in M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.h M Source/WebKit/UIProcess/API/glib/WebKitSecurityManager.cpp M Source/WebKit/UIProcess/API/glib/WebKitSecurityManager.h.in M Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp M Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.h.in M Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.cpp M Source/WebKit/UIProcess/API/glib/WebKitWebsitePolicies.h.in M Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp M Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h M Source/WebKit/UIProcess/API/gtk/WebKitWebInspector.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebInspector.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitFrame.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebEditor.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebEditor.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebExtension.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebExtension.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebFormManager.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebFormManager.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebFormManagerPrivate.h M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebHitTestResult.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebHitTestResult.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebProcessExtension.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebProcessExtension.h.in M Source/WebKit/WebProcess/InjectedBundle/API/glib/webkit-web-process-extension.h.in M Tools/TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp M Tools/TestWebKitAPI/Tests/WPEQt/TestLoad.cpp M Tools/TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp M Tools/TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp M Tools/TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp M Tools/TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp M Tools/TestWebKitAPI/Tests/WPEQt/WPEQtTest.h M Tools/TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestOptionMenu.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitNetworkSession.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentFilterStore.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebProcessExtensions.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp M Tools/TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp M Tools/TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp M
[webkit-changes] [WebKit/WebKit] 9a3acb: Add back the "schedule rendering update" trace poi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9a3acbde3c4b30bb2bfa0d73aac20479fb568229 https://github.com/WebKit/WebKit/commit/9a3acbde3c4b30bb2bfa0d73aac20479fb568229 Author: Simon Fraser Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WTF/wtf/SystemTracing.h M Source/WebKit/Resources/Signposts/SystemTracePoints.plist M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm Log Message: --- Add back the "schedule rendering update" trace point after 264920@main https://bugs.webkit.org/show_bug.cgi?id=258699 rdar://111538471 Reviewed by Ryosuke Niwa. Now that RemoteLayerTreeDrawingArea schedules its own rendering updates, add back a tracepoint for "schedule rendering update" to assist with investigations. * Source/WTF/wtf/SystemTracing.h: * Source/WebKit/Resources/Signposts/SystemTracePoints.plist: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: (WebKit::RemoteLayerTreeDrawingArea::scheduleRenderingUpdate): Canonical link: https://commits.webkit.org/265639@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7c0eef: [test262] update expectations after 265632@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7c0eefae0099c18cb11af94de94a2a771ba09a8d https://github.com/WebKit/WebKit/commit/7c0eefae0099c18cb11af94de94a2a771ba09a8d Author: Devin Rousso Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M JSTests/test262/expectations.yaml Log Message: --- [test262] update expectations after 265632@main https://bugs.webkit.org/show_bug.cgi?id=258700 Reviewed by Yusuke Suzuki. * JSTests/test262/expectations.yaml: Canonical link: https://commits.webkit.org/265638@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 73b582: [JSC] Relax Int32 arith condition while having NaN
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 73b58272b44dbb9c6edfec221839210a04d7f92c https://github.com/WebKit/WebKit/commit/73b58272b44dbb9c6edfec221839210a04d7f92c Author: Yusuke Suzuki Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/JavaScriptCore/dfg/DFGGraph.h M Source/JavaScriptCore/dfg/DFGNode.h Log Message: --- [JSC] Relax Int32 arith condition while having NaN https://bugs.webkit.org/show_bug.cgi?id=258691 rdar://111529018 Reviewed by Mark Lam. Sometimes NaN is used as a default value (e.g. parseInt's failure case), and it can pollute the graph with Doubles. But when considering about Int32 speculation, if ArithProfile said "we didn't see double result", then it is very unlikely that this NaN is coming to this site since arithmetic ops with NaN is always NaN. * Source/JavaScriptCore/dfg/DFGGraph.h: * Source/JavaScriptCore/dfg/DFGNode.h: (JSC::DFG::Node::shouldSpeculateInt32OrBooleanExpectingDefined): Canonical link: https://commits.webkit.org/265637@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 725639: [JSC] Use MakeRope for StrCat(ToPrimitive(x), ...)
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 72563917d14964eb3146a7dbe32ef0448d1fac98 https://github.com/WebKit/WebKit/commit/72563917d14964eb3146a7dbe32ef0448d1fac98 Author: Yusuke Suzuki Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A JSTests/microbenchmarks/array-string-concat.js M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h M Source/JavaScriptCore/dfg/DFGClobberize.h M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp M Source/JavaScriptCore/dfg/DFGMayExit.cpp M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp M Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp Log Message: --- [JSC] Use MakeRope for StrCat(ToPrimitive(x), ...) https://bugs.webkit.org/show_bug.cgi?id=258656 rdar://111491662 Reviewed by Keith Miller. Let's convert StrCat(ToPrimitive(@x), ...) to MakeRope(ToString(KnownPrimitiveUse:ToPrimitive(@x), ...)) to leverage MakeRope instead of StrCat since it is much faster. ToT Patched array-string-concat 55.2465+-0.1687 ^ 49.8739+-0.2824^ definitely 1.1077x faster * JSTests/microbenchmarks/array-string-concat.js: Added. (shouldBe): (test): * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): * Source/JavaScriptCore/dfg/DFGClobberize.h: (JSC::DFG::clobberize): * Source/JavaScriptCore/dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeFastStringAdd): * Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp: * Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): Canonical link: https://commits.webkit.org/265636@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c1fddb: Add jhertz-apple to contributors.json
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c1fddb7a259967298a9f14f2f2ef4893ad5d1f4e https://github.com/WebKit/WebKit/commit/c1fddb7a259967298a9f14f2f2ef4893ad5d1f4e Author: Jesse Hertz Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M metadata/contributors.json Log Message: --- Add jhertz-apple to contributors.json Reviewed by Jonathan Bedard. * metadata/contributors.json: Canonical link: https://commits.webkit.org/265635@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dc361d: [contain-intrinsic-size] Use CSSValuePair for comp...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dc361dd85a3531fbf05b96c2ee7e2ed6cfd3937b https://github.com/WebKit/WebKit/commit/dc361dd85a3531fbf05b96c2ee7e2ed6cfd3937b Author: Tim Nguyen Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/style/StyleBuilderCustom.h Log Message: --- [contain-intrinsic-size] Use CSSValuePair for computed style https://bugs.webkit.org/show_bug.cgi?id=258695 rdar://111533680 Reviewed by Simon Fraser. Since 265617@main, parsing uses CSSValuePair instead of CSSValueList, change the computed style extractor code to be consistent. * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::valueForContainIntrinsicSize): * Source/WebCore/style/StyleBuilderCustom.h: (WebCore::Style::BuilderCustom::applyValueContainIntrinsicWidth): (WebCore::Style::BuilderCustom::applyValueContainIntrinsicHeight): Canonical link: https://commits.webkit.org/265634@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0a2e45: REGRESSION(264918@main): GB18030 encoding isn't ho...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0a2e4563bda07006e0ca65e395f90ce20a615afe https://github.com/WebKit/WebKit/commit/0a2e4563bda07006e0ca65e395f90ce20a615afe Author: Alex Christensen Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any.js M LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-encoder-expected.txt M LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-encoder.html M Source/WebCore/PAL/pal/text/TextCodecCJK.cpp Log Message: --- REGRESSION(264918@main): GB18030 encoding isn't hooked up correctly https://bugs.webkit.org/show_bug.cgi?id=258251 rdar://110952885 Reviewed by Myles C. Maxfield. The 2022 changes to GB-180030 make 36 code points' encoding and decoding asymmetric, so we can't use the the same index lookup for both directions. I add and update tests for encoding and decoding all 36 code points. * LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any.js: * LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-decoder.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/encoding/legacy-mb-schinese/gb18030/gb18030-encoder.html: * Source/WebCore/PAL/pal/text/TextCodecCJK.cpp: (PAL::gb18030AsymmetricEncode): (PAL::gbEncodeShared): Canonical link: https://commits.webkit.org/265633@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8f5c35: [JSC] rename Array#group/Array#groupByToMap to Obj...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8f5c359bbaeb0eb87946cea9ccdb8c52a2c1f143 https://github.com/WebKit/WebKit/commit/8f5c359bbaeb0eb87946cea9ccdb8c52a2c1f143 Author: Devin Rousso Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: R JSTests/stress/array-group-by-null-or-undefined.js R JSTests/stress/array-groupBy.js R JSTests/stress/array-groupByToMap.js A JSTests/stress/map-groupBy.js A JSTests/stress/object-groupBy.js M Source/JavaScriptCore/CMakeLists.txt M Source/JavaScriptCore/DerivedSources-input.xcfilelist M Source/JavaScriptCore/DerivedSources-output.xcfilelist M Source/JavaScriptCore/DerivedSources.make M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/builtins/ArrayPrototype.js A Source/JavaScriptCore/builtins/MapConstructor.js M Source/JavaScriptCore/builtins/ObjectConstructor.js M Source/JavaScriptCore/runtime/ArrayPrototype.cpp M Source/JavaScriptCore/runtime/MapConstructor.cpp M Source/JavaScriptCore/runtime/ObjectConstructor.cpp M Source/JavaScriptCore/runtime/OptionsList.h Log Message: --- [JSC] rename Array#group/Array#groupByToMap to Object.groupBy/Map.groupBy https://bugs.webkit.org/show_bug.cgi?id=258680 Reviewed by Yusuke Suzuki. Match the latest changes to the "array grouping" spec[1] (proposal[2]). 1. https://tc39.es/proposal-array-grouping/ 2. https://github.com/tc39/proposal-array-grouping/ * Source/JavaScriptCore/builtins/ArrayPrototype.js: (group): Deleted. (groupToMap): Deleted. * Source/JavaScriptCore/builtins/MapConstructor.js: Added. (groupBy): * Source/JavaScriptCore/builtins/ObjectConstructor.js: (groupBy): Added. * Source/JavaScriptCore/runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): * Source/JavaScriptCore/runtime/MapConstructor.cpp: (JSC::MapConstructor::finishCreation): * Source/JavaScriptCore/runtime/ObjectConstructor.cpp: (JSC::ObjectConstructor::finishCreation): * Source/JavaScriptCore/runtime/OptionsList.h: * JSTests/stress/array-group-by-null-or-undefined.js: Removed. * JSTests/stress/map-groupBy.js: Renamed from array-groupBy.js. * JSTests/stress/object-groupBy.js: Renamed from array-groupByToMap.js. * Source/JavaScriptCore/CMakeLists.txt: * Source/JavaScriptCore/DerivedSources.make: * Source/JavaScriptCore/DerivedSources-input.xcfilelist: * Source/JavaScriptCore/DerivedSources-output.xcfilelist: * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/265632@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 72ba23: REGRESSION(264840@main) ASSERTION FAILED: CGRectIs...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 72ba23e6beb5f4855c3abc4271d4161f1a27a2bf https://github.com/WebKit/WebKit/commit/72ba23e6beb5f4855c3abc4271d4161f1a27a2bf Author: Simon Fraser Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Log Message: --- REGRESSION(264840@main) ASSERTION FAILED: CGRectIsNull(layer.contentsDirtyRect) https://bugs.webkit.org/show_bug.cgi?id=258652 rdar://111229068 Reviewed by Brent Fulgham. On platforms where -[CALayer contentsDirtyRect] is supported, TestWebKitAPI tests on iOS, and sometimes apps on macOS would hit an assertion in RemoteLayerBackingStoreProperties::applyBackingStoreToLayer() that the contentsDirtyRect was not the null rect. This happens when there has been no CA transaction since the last call to applyBackingStoreToLayer() which has committed this layer. This happens in TestWebKitAPI on iOS because the app is not a real UIKit app, so no layer commits happen. In other scenarios it appears that it's possible to hit RemoteLayerBackingStoreProperties::applyBackingStoreToLayer() twice without a layer being committed in between. When that happens, we need to accumulate into `contentsDirtyRect`, and we should never clear it ourselves. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStoreProperties::applyBackingStoreToLayer): Canonical link: https://commits.webkit.org/265631@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b78da6: Update color-span-inside-editable tests for redesi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b78da69ee5d73ce851b17712af9f3a74aa786a18 https://github.com/WebKit/WebKit/commit/b78da69ee5d73ce851b17712af9f3a74aa786a18 Author: Vitor Roriz Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M LayoutTests/editing/caret/color-span-inside-editable-background-expected.html M LayoutTests/editing/caret/color-span-inside-editable-background.html M LayoutTests/editing/caret/color-span-inside-editable-expected.html M LayoutTests/editing/caret/color-span-inside-editable.html Log Message: --- Update color-span-inside-editable tests for redesigned text cursor https://bugs.webkit.org/show_bug.cgi?id=258679 rdar://111079967 Reviewed by Tim Nguyen. This is a preparation for the redesigned cursor update. For now the tests are just updating the description. * LayoutTests/editing/caret/color-span-inside-editable-background-expected.html: * LayoutTests/editing/caret/color-span-inside-editable-background.html: * LayoutTests/editing/caret/color-span-inside-editable-expected.html: * LayoutTests/editing/caret/color-span-inside-editable.html: Canonical link: https://commits.webkit.org/265630@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 61d264: Remove incorrect comment in attachmentElementShado...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 61d2643b6fe6373d9546a520b31ffeb5b7f64940 https://github.com/WebKit/WebKit/commit/61d2643b6fe6373d9546a520b31ffeb5b7f64940 Author: Gerald Squelart Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebCore/html/shadow/attachmentElementShadow.css Log Message: --- Remove incorrect comment in attachmentElementShadow.css https://bugs.webkit.org/show_bug.cgi?id=258437 rdar://105252742 Reviewed by Tim Nguyen. Follow-up to https://github.com/WebKit/WebKit/pull/15228, where I forgot to remove a comment related to a previous version of the patch. * Source/WebCore/html/shadow/attachmentElementShadow.css: (img#attachment-icon): Canonical link: https://commits.webkit.org/265629@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6bd11f: Canvas context allocation fails because "Total can...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6bd11f3792f05b4e58e5647bf173212879fa62cc https://github.com/WebKit/WebKit/commit/6bd11f3792f05b4e58e5647bf173212879fa62cc Author: Dean Jackson Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M LayoutTests/fast/canvas/canvas-crash.html M LayoutTests/fast/canvas/canvas-skia-excessive-size.html R LayoutTests/fast/canvas/canvas-too-large-to-draw-expected.txt R LayoutTests/fast/canvas/canvas-too-large-to-draw.html M LayoutTests/fast/canvas/large-getImageData.html M LayoutTests/platform/wincairo/TestExpectations R LayoutTests/webgl/webgl-oom-paint-document-no-crash-expected.html R LayoutTests/webgl/webgl-oom-paint-document-no-crash.html M Source/WebCore/html/CanvasBase.cpp M Source/WebCore/html/CanvasBase.h M Source/WebCore/html/HTMLCanvasElement.cpp M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.idl M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp Log Message: --- Canvas context allocation fails because "Total canvas memory use exceeds the maximum limit" https://bugs.webkit.org/show_bug.cgi?id=195325 rdar://48609162 Reviewed by Geoff Garen. Some pages that use a lot of transient canvas memory can hit our artificial limits even when they are no longer referencing canvases. This happens because we don't instantly reclaim memory when we drop the reference, and instead have to wait for garbage collection. This problem can also continue between page refreshes. The limit was introduced many many releases ago when devices had less memory, and it was more common to accidentally jetsam a page if you used too much canvas memory. After some internal and external discussion we've decided to remove the canvas limit and just let the page follow the same memory restrictions as all other Web features. This might mean more pages crash (jetsam) than break. * LayoutTests/fast/canvas/canvas-too-large-to-draw-expected.txt: Removed. * LayoutTests/fast/canvas/canvas-too-large-to-draw.html: Removed. * Source/WebCore/html/CanvasBase.cpp: (WebCore::CanvasBase::allocateImageBuffer const): (WebCore::CanvasBase::maxActivePixelMemory): Deleted. (WebCore::CanvasBase::setMaxPixelMemoryForTesting): Deleted. * Source/WebCore/html/CanvasBase.h: * Source/WebCore/html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createContext2d): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::resetToConsistentState): (WebCore::Internals::avoidIOSurfaceSizeCheckInWebProcess): (WebCore::Internals::setMaxCanvasPixelMemory): Deleted. * Source/WebCore/testing/Internals.idl: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::getPixelBufferForImageBufferWithNewMemory): Canonical link: https://commits.webkit.org/265628@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f9ec4: GraphicsContextState returns it has inline changes...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f9ec4370045aee58faa071ae21fa8dc6429ac3a https://github.com/WebKit/WebKit/commit/3f9ec4370045aee58faa071ae21fa8dc6429ac3a Author: Said Abou-Hallawa Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebCore/platform/graphics/GraphicsContextState.cpp Log Message: --- GraphicsContextState returns it has inline changes when it does not have any change https://bugs.webkit.org/show_bug.cgi?id=258673 rdar://111513820 Reviewed by Wenson Hsieh. containsOnlyInlineChanges() and containsOnlyInlineStrokeChanges() should return false when the m_changeFlags is empty. The condition `if (m_changeFlags != (m_changeFlags & basicChangeFlags))` is evaluated to false when m_changeFlags is empty. * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::containsOnlyInlineChanges const): (WebCore::GraphicsContextState::containsOnlyInlineStrokeChanges const): Canonical link: https://commits.webkit.org/265627@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fe288f: [JSC] Should validate cell's structure's structure...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fe288f3807b64cfbbad6eacddb8742f6ace05bb2 https://github.com/WebKit/WebKit/commit/fe288f3807b64cfbbad6eacddb8742f6ace05bb2 Author: Yijia Huang Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/JavaScriptCore/tools/HeapVerifier.cpp Log Message: --- [JSC] Should validate cell's structure's structure in HeapVerifier::validateJSCell https://bugs.webkit.org/show_bug.cgi?id=258685 rdar://111522906 Reviewed by Yusuke Suzuki. * Source/JavaScriptCore/tools/HeapVerifier.cpp: (JSC::HeapVerifier::validateJSCell): Canonical link: https://commits.webkit.org/265626@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c09328: Occasional crashes under WebWheelEventCoalescer::t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c09328b452c7f838fe5e15bf1137c34d69c93e2a https://github.com/WebKit/WebKit/commit/c09328b452c7f838fe5e15bf1137c34d69c93e2a Author: Simon Fraser Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/Shared/WebWheelEventCoalescer.cpp M Source/WebKit/Shared/WebWheelEventCoalescer.h M Source/WebKit/UIProcess/WebPageProxy.cpp Log Message: --- Occasional crashes under WebWheelEventCoalescer::takeOldestEventBeingProcessed() https://bugs.webkit.org/show_bug.cgi?id=258653 rdar://111271905 Reviewed by Jer Noble. Crash data suggest that we can reach WebWheelEventCoalescer::takeOldestEventBeingProcessed() with m_eventsBeingProcessed being empty. We get here after one or more trips to the web process for wheel event handling, so it's possible there's some code path where we can get here with an empty m_eventsBeingProcessed, but I have not figured out how, so do a defensive fix of returning a std::optional. * Source/WebKit/Shared/WebWheelEventCoalescer.cpp: (WebKit::WebWheelEventCoalescer::takeOldestEventBeingProcessed): * Source/WebKit/Shared/WebWheelEventCoalescer.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::wheelEventHandlingCompleted): Canonical link: https://commits.webkit.org/265625@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ac10da: REGRESSION (263722@main): Unable to scroll languag...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ac10daa79e26b4f062cb2c1842b4787698574899 https://github.com/WebKit/WebKit/commit/ac10daa79e26b4f062cb2c1842b4787698574899 Author: Wenson Hsieh Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A LayoutTests/fast/scrolling/ios/overflow-scroll-after-visibility-change-expected.txt A LayoutTests/fast/scrolling/ios/overflow-scroll-after-visibility-change.html M Source/WebCore/rendering/RenderLayer.cpp Log Message: --- REGRESSION (263722@main): Unable to scroll language picker on etrade.com https://bugs.webkit.org/show_bug.cgi?id=258433 rdar://109613133 Reviewed by Simon Fraser. After the changes in 263722@main, certain overflow scrolling containers on etrade.com are no longer scrollable via pan gesture or mouse wheel on iOS; this is because we fail to create corresponding native child scroll views corresponding to these regions in the view hierarchy, which in turn is because we never end up setting `m_hasCompositedScrollableOverflow` to `true` inside of `RenderLayerScrollableArea::computeHasCompositedScrollableOverflow()`, despite the fact that we have vertical scrollable overflow and we can use composited scrolling. The overflow scrolling container in question is shown by removing `visibility: hidden;` on an ancestor of these containers, which currently triggers only a style update (calling into the above method with `LayoutUpToDate::No`) with no subsequent layout update, causing `m_hasCompositedScrollableOverflow` to remain `false`. To address this, we make an adjustment in `RenderLayer::styleChanged` to pass `LayoutUpToDate::Yes` into `computeHasCompositedScrollableOverflow`, in the case where the style difference only triggers at most a layer repaint (or recomposite). In the case where we're only issuing a repaint as a result of the style change (e.g. when toggling visibility), the overflow amount isn't going to change, so it's safe to compute `m_hasCompositedScrollableOverflow` then and there. However, in the case where the style difference is going to trigger layout, it's safe to just run the computation using `LayoutUpToDate::No`, since we'll eventually recompute it with `LayoutUpToDate::Yes` after we finish performing layout. * LayoutTests/fast/scrolling/ios/overflow-scroll-after-visibility-change-expected.txt: Added. * LayoutTests/fast/scrolling/ios/overflow-scroll-after-visibility-change.html: Added. Add a layout test to verify that we propagate overflow scrolling regions via scrolling state tree to the UI process in this scenario, after toggling `visibility` to `visible`. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects const): Canonical link: https://commits.webkit.org/265624@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3db4e6: Don't IdleExit the GPU Process if DOM Rendering is...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3db4e668e80eab852778350c423b9ed2f1b4ea06 https://github.com/WebKit/WebKit/commit/3db4e668e80eab852778350c423b9ed2f1b4ea06 Author: Chris Dumez Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcess.messages.in M Source/WebKit/Shared/GPUProcessConnectionParameters.h M Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h Log Message: --- Don't IdleExit the GPU Process if DOM Rendering is enabled and there is a client WebContent process https://bugs.webkit.org/show_bug.cgi?id=258487 rdar://110742027 Reviewed by Wenson Hsieh. Pass `useGPUProcessForDOMRenderingEnabled` in GPUProcessConnectionParameters, and keep this flag up to date whenever pages are added or removed from the WebProcessProxy. When this flag is true, return false from GPUConnectionToWebProcess::allowsExitUnderMemoryPressure(). * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const): * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h: * Source/WebKit/Shared/GPUProcessConnectionParameters.h: * Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::createGPUProcessConnection): Canonical link: https://commits.webkit.org/265623@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 696d5a: Regression: User-friendly name for the GPUProcess ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 696d5ab56e5cb4a5a32408698deb2a9e63ff0cb4 https://github.com/WebKit/WebKit/commit/696d5ab56e5cb4a5a32408698deb2a9e63ff0cb4 Author: Chris Dumez Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h M Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm M Source/WebKit/GPUProcess/mac/GPUProcessMac.mm M Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in M Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm Log Message: --- Regression: User-friendly name for the GPUProcess no longer gets set https://bugs.webkit.org/show_bug.cgi?id=258600 Reviewed by Per Arne Vollan and Brent Fulgham. Access to launch services has been blocked by the GPUProcess' sandbox. As a result, the GPUProcess no longer gets a user-friendly name in Activity Monitor. To address the issue, we now: 1. Have the UIProcess create a sandbox extension for launch services and send it to the GPUProcess to temporarily consume it during initialization 2. The GPUProcess, on initialization now consumes this extension 3. The GPUProcess checks in with Launch Services and sets the process name 4. The GPUProcess closes connections to launch services 5. The GPUProcess revokes the sandbox extension * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess): * Source/WebKit/GPUProcess/GPUProcess.h: * Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp: (WebKit::GPUProcessCreationParameters::encode const): (WebKit::GPUProcessCreationParameters::decode): * Source/WebKit/GPUProcess/GPUProcessCreationParameters.h: * Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm: (WebKit::GPUProcess::platformInitializeGPUProcess): * Source/WebKit/GPUProcess/mac/GPUProcessMac.mm: (WebKit::GPUProcess::initializeProcessName): (WebKit::GPUProcess::updateProcessName): * Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: * Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm: (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters): Canonical link: https://commits.webkit.org/265622@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f1250: Silence Window resize events while backgrounding Z...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f1250c62c35f53e033bc6c7965bd864c852f089 https://github.com/WebKit/WebKit/commit/3f1250c62c35f53e033bc6c7965bd864c852f089 Author: Sammy Gill Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/Quirks.cpp Log Message: --- Silence Window resize events while backgrounding Zillow on iOS https://bugs.webkit.org/show_bug.cgi?id=258648 rdar://109480544 Reviewed by Brent Fulgham. There is currently a bug on Zillow that will cause the map to reset to its initial location if the window is sized to a small size (enough to make the map disappear) and resized back to its original size. This is caused when window resize events are triggered and cause unusual behavior on iPad due to the background snapshotting behavior of Safari. Since this process does not happen to other browsers, because they do not participate in this snapshotting process, it results in a bad experience to those using Safari. To bring the behavior that occurs in Safari in line with other browsers we can add a quirk that disables window resize events from triggering while backgrounding. This should be removed when the bug is fixed on Zillow's end. We will also start logging this behavior to console whenever it gets triggered. * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::scheduleResizeEventIfNeeded): * Source/WebCore/page/Quirks.cpp: (WebCore::Quirks::shouldSilenceWindowResizeEvents const): Canonical link: https://commits.webkit.org/265621@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] af2081: [WPE] Implement `PlatformWebView` key press and bu...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: af208143c8139503872785ff9385e75ad0ed5411 https://github.com/WebKit/WebKit/commit/af208143c8139503872785ff9385e75ad0ed5411 Author: Vitaly Dyachkov Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A Source/WebKit/Shared/API/c/wpe/WKEventWPE.cpp A Source/WebKit/Shared/API/c/wpe/WKEventWPE.h M Source/WebKit/SourcesWPE.txt A Source/WebKit/UIProcess/API/C/wpe/WKPagePrivateWPE.cpp A Source/WebKit/UIProcess/API/C/wpe/WKPagePrivateWPE.h M Tools/TestWebKitAPI/PlatformWebView.h M Tools/TestWebKitAPI/glib/TestExpectations.json M Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp Log Message: --- [WPE] Implement `PlatformWebView` key press and button clicks simulation methods https://bugs.webkit.org/show_bug.cgi?id=258665 Reviewed by Miguel Gomez. In fact, this is a copy of the Playstation port implementation with some minor changes. We are extending the `WKPage` API with a couple of functions that can handle keyboard and mouse events. These API events are then converted to `NativeWebKeyboardEvent` and `NativeWebMouseEvent` respectively and sent to `WebPageProxy' for handling. * Source/WebKit/Shared/API/c/wpe/WKEventWPE.cpp: Added. (WKKeyboardEventMake): (WKMouseEventMake): (WKWheelEventMake): * Source/WebKit/Shared/API/c/wpe/WKEventWPE.h: Added. * Source/WebKit/SourcesWPE.txt: * Source/WebKit/UIProcess/API/C/wpe/WKPagePrivateWPE.cpp: Added. (WKPageHandleKeyboardEvent): (WKPageHandleMouseEvent): * Source/WebKit/UIProcess/API/C/wpe/WKPagePrivateWPE.h: Added. * Tools/TestWebKitAPI/PlatformWebView.h: * Tools/TestWebKitAPI/glib/TestExpectations.json: * Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress): (TestWebKitAPI::PlatformWebView::simulateAltKeyPress): (TestWebKitAPI::PlatformWebView::simulateRightClick): (TestWebKitAPI::PlatformWebView::simulateButtonClick): (TestWebKitAPI::PlatformWebView::simulateMouseMove): Canonical link: https://commits.webkit.org/265620@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d42ba8: Revert [265610@main] Regression: User-friendly nam...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d42ba8c64e46430dacf3c77d4e3ae1ea840d44c4 https://github.com/WebKit/WebKit/commit/d42ba8c64e46430dacf3c77d4e3ae1ea840d44c4 Author: Karl Rackler Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h M Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm M Source/WebKit/GPUProcess/mac/GPUProcessMac.mm M Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in M Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm Log Message: --- Revert [265610@main] Regression: User-friendly name for the GPUProcess no longer gets set https://bugs.webkit.org/show_bug.cgi?id=258600 Unreviewed revert This reverts because it broke the build for the bots. * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess): * Source/WebKit/GPUProcess/GPUProcess.h: * Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp: (WebKit::GPUProcessCreationParameters::encode const): (WebKit::GPUProcessCreationParameters::decode): * Source/WebKit/GPUProcess/GPUProcessCreationParameters.h: * Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm: (WebKit::GPUProcess::platformInitializeGPUProcess): Deleted. * Source/WebKit/GPUProcess/mac/GPUProcessMac.mm: (WebKit::GPUProcess::initializeProcessName): (WebKit::GPUProcess::updateProcessName): Deleted. * Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: * Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm: (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters): Canonical link: https://commits.webkit.org/265619@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 42bd7f: Nullptr crash in Layout::InlineItemsBuilder::colle...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 42bd7f4d00792d04c77557feed044658f516b149 https://github.com/WebKit/WebKit/commit/42bd7f4d00792d04c77557feed044658f516b149 Author: Antti Koivisto Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WTF/wtf/CheckedRef.h M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp Log Message: --- Nullptr crash in Layout::InlineItemsBuilder::collectInlineItems https://bugs.webkit.org/show_bug.cgi?id=258664 rdar://111272076 Reviewed by Alan Baradlay. Looks like a null item in LayoutQueue. * Source/WTF/wtf/CheckedRef.h: (WTF::downcast): Add CheckedRef version of downcast<>. * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::traverseUntilDamaged): Make LayoutQueue use CheckedRef. (WebCore::Layout::initializeLayoutQueue): Test for null formattingContextRoot.firstChild() first so we don't add a nullptr to LayoutQueue. (WebCore::Layout::InlineItemsBuilder::collectInlineItems): Canonical link: https://commits.webkit.org/265618@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 242f3a: [contain-intrinsic-size] Support "auto none"
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 242f3ae3216ce12c84cdf938b072227b5da42cc3 https://github.com/WebKit/WebKit/commit/242f3ae3216ce12c84cdf938b072227b5da42cc3 Author: Rob Buis Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-014-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-014.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html M Source/WebCore/css/CSSProperties.json M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/dom/Document.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/style/RenderStyleConstants.cpp M Source/WebCore/rendering/style/RenderStyleConstants.h M Source/WebCore/rendering/style/RenderStyleInlines.h M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp M Source/WebCore/style/StyleBuilderCustom.h Log Message: --- [contain-intrinsic-size] Support "auto none" https://bugs.webkit.org/show_bug.cgi?id=258618 Reviewed by Tim Nguyen. See: https://github.com/w3c/csswg-drafts/pull/8989 * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-014-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-014.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::valueForContainIntrinsicSize): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeContainIntrinsicSize): * Source/WebCore/dom/Document.cpp: (WebCore::CallbackForContainIntrinsicSize): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::explicitIntrinsicInnerWidth const): (WebCore::RenderBox::explicitIntrinsicInnerHeight const): * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * Source/WebCore/rendering/style/RenderStyleConstants.h: * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::containIntrinsicHeightHasAuto const): (WebCore::RenderStyle::containIntrinsicWidthHasAuto const): (WebCore::RenderStyle::hasAutoLengthContainIntrinsicSize const): * Source/WebCore/rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::updateElementRenderer): * Source/WebCore/style/StyleBuilderCustom.h: (WebCore::Style::BuilderCustom::applyValueContainIntrinsicWidth): (WebCore::Style::BuilderCustom::applyValueContainIntrinsicHeight): Canonical link: https://commits.webkit.org/265617@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aec46a: Resync WPT webcodecs tests up to 4c14ced
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aec46acb2936291b4bfda85b4134cc09dc350a83 https://github.com/WebKit/WebKit/commit/aec46acb2936291b4bfda85b4134cc09dc350a83 Author: Youenn Fablet Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any.html A LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-serialization.crossAgentCluster.https.html M LayoutTests/imported/w3c/web-platform-tests/webcodecs/w3c-import.log M LayoutTests/platform/glib/TestExpectations A LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt Log Message: --- Resync WPT webcodecs tests up to 4c14ced https://bugs.webkit.org/show_bug.cgi?id=258614 rdar://111440403 Reviewed by Tim Nguyen. * LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any.html: Added. * LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-codec-specific.https.any.js: Added. (make_silent_audio_data): (promise_test.async t): * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.js: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder-config.https.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any.js: (promise_test.async t): * LayoutTests/imported/w3c/web-platform-tests/webcodecs/video-encoder.https.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any.js: (promise_test.async t): * LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-serialization.crossAgentCluster.https.html: * LayoutTests/imported/w3c/web-platform-tests/webcodecs/w3c-import.log: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt. Canonical link: https://commits.webkit.org/265616@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b0e7ef: Attachment: Use image element to show icon/thumbnail
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b0e7ef7b0420de70a7ec57e74412a2202718b9ca https://github.com/WebKit/WebKit/commit/b0e7ef7b0420de70a7ec57e74412a2202718b9ca Author: Gerald Squelart Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M LayoutTests/fast/attachment/mac/wide-attachment-image-controls-basic-expected.txt M LayoutTests/platform/ios-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt M LayoutTests/platform/mac-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt M Source/WebCore/editing/Editor.cpp M Source/WebCore/html/HTMLAttachmentElement.cpp M Source/WebCore/html/HTMLAttachmentElement.h M Source/WebCore/html/shadow/attachmentElementShadow.css M Source/WebCore/rendering/AttachmentLayout.mm M Source/WebCore/rendering/RenderAttachment.cpp M Source/WebCore/rendering/RenderThemeIOS.mm M Source/WebCore/rendering/RenderThemeMac.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- Attachment: Use image element to show icon/thumbnail https://bugs.webkit.org/show_bug.cgi?id=258437 rdar://105252742 Reviewed by Tim Nguyen. Instead of using an inner attachment with legacy rendering, use a standard img element with a data URL pointing at a blob that contains the image data. Widespread changes: - Removed m_innerLegacyAttachment and all related code. - Removed image-only code. - Consistently using "wide-layout" instead of "modern", and "narrow" instead of "legacy". * LayoutTests/fast/attachment/mac/wide-attachment-image-controls-basic-expected.txt: * LayoutTests/platform/ios-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt: * LayoutTests/platform/mac-wk2/fast/attachment/cocoa/wide-attachment-rendering-expected.txt: * Source/WebCore/editing/Editor.cpp: (WebCore::Editor::didInsertAttachmentElement): * Source/WebCore/html/HTMLAttachmentElement.cpp: (WebCore::HTMLAttachmentElement::create): (WebCore::HTMLAttachmentElement::didAddUserAgentShadowRoot): (WebCore::attachmentPlaceholderIdentifier): (WebCore::attachmentIconIdentifier): (WebCore::HTMLAttachmentElement::ensureWideLayoutShadowTree): (WebCore::HTMLAttachmentElement::updateProgress): (WebCore::HTMLAttachmentElement::setFile): (WebCore::HTMLAttachmentElement::attributeChanged): (WebCore::HTMLAttachmentElement::attachmentActionForDisplay const): (WebCore::HTMLAttachmentElement::attachmentTitleForDisplay const): (WebCore::HTMLAttachmentElement::attachmentSubtitleForDisplay const): (WebCore::HTMLAttachmentElement::updateAttributes): (WebCore::HTMLAttachmentElement::updateImage): This sets the img element with the correct "src" data contents (thumbnail or icon or nothing). (WebCore::HTMLAttachmentElement::updateThumbnailForNarrowLayout): (WebCore::HTMLAttachmentElement::updateThumbnailForWideLayout): (WebCore::HTMLAttachmentElement::updateIconForNarrowLayout): (WebCore::HTMLAttachmentElement::updateIconForWideLayout): (WebCore::HTMLAttachmentElement::setNeedsWideLayoutIconRequest): (WebCore::HTMLAttachmentElement::requestWideLayoutIconIfNeeded): (WebCore::HTMLAttachmentElement::requestIconWithSize const): (WebCore::attachmentPreviewIdentifier): Deleted. (WebCore::HTMLAttachmentElement::ensureModernShadowTree): Deleted. (WebCore::HTMLAttachmentElement::updateThumbnail): Deleted. (WebCore::HTMLAttachmentElement::updateIcon): Deleted. * Source/WebCore/html/HTMLAttachmentElement.h: * Source/WebCore/html/shadow/attachmentElementShadow.css: (div#attachment-preview-area): (img#attachment-icon): (attachment#attachment-preview): Deleted. * Source/WebCore/rendering/AttachmentLayout.mm: (WebCore::AttachmentLayout::AttachmentLayout): * Source/WebCore/rendering/RenderAttachment.cpp: (WebCore::RenderAttachment::paintWideLayoutAttachmentOnly const): Call requestWideLayoutIconIfNeeded when painting the shadow tree. * Source/WebCore/rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::attachmentIntrinsicSize const): (WebCore::RenderThemeIOS::paintAttachment): * Source/WebCore/rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintAttachment): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updateAttachmentThumbnail): (WebKit::WebPage::updateAttachmentIcon): Provide data blobs to wide-layout attachments. Canonical link: https://commits.webkit.org/265615@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d0d057: [JSC] Align duplicate declaration checks in EvalDe...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d0d05739899c9a8d76d166bbc1afbd116fa5eaf8 https://github.com/WebKit/WebKit/commit/d0d05739899c9a8d76d166bbc1afbd116fa5eaf8 Author: Alexey Shvayka Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M JSTests/ChakraCore/test/Closures/bug_OS_2299723.baseline-jsc M JSTests/stress/const-not-strict-mode.js M JSTests/stress/eval-func-decl-in-eval-within-catch-scope.js M JSTests/stress/eval-func-decl-in-global-of-eval.js M JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js A JSTests/stress/eval-let-const-redeclararion.js M JSTests/stress/global-lexical-var-injection.js M JSTests/stress/lexical-let-not-strict-mode.js M JSTests/test262/expectations.yaml M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/runtime/JSScope.cpp Log Message: --- [JSC] Align duplicate declaration checks in EvalDeclarationInstantiation with the spec https://bugs.webkit.org/show_bug.cgi?id=167837 Reviewed by Yusuke Suzuki. For the sloppy-mode eval(), this change: 1. Removes slowish TypeError-throwing logic from executeEval() that also wasn't spec-compliant (SyntaxError should be raised instead), harmonizing error messages. 2. Expands resolveScopeForHoistingFuncDeclInEval() to be called for all declared variables, which currently includes function declarations as well, ensuring SyntaxError is thrown for duplicates with upper yet non-top lexical scopes [1], all while skipping CatchScopeWithSimpleParameter [2]. 3. Introduces emitPutToScopeDynamic(), which circumvents default ResolveType resolution that isn't correct wrt skipping CatchScopeWithSimpleParameter as resolveScopeForHoistingFuncDeclInEval() does. We can't possibly tweak BytecodeGenerator::resolveType() to account for eval(). This fixes both top-level and block-level function declarations to be hoisted correctly from eval() within simple parameter catch block by the same name. 4. Removes isExtensible() check from resolveScopeForHoistingFuncDeclInEval() because for declared variables, CanDeclareGlobalVar [3] is already implemented, while for Annex B hoisted functions, the implementation doesn't appear correct to unconditionally rely on isExtensible() even if the property is already present. Furthermore, performing CanDeclareGlobalVar in resolveScopeForHoistingFuncDeclInEval() is kinda superfluous given we put jsUndefined() variables in executeEval(), and results in incorrect error being thrown (SyntaxError instead of TypeError) if global object is non-extensible. [1]: https://tc39.es/ecma262/#sec-evaldeclarationinstantiation (step 3.d.i.2.a.i) [2]: https://tc39.es/ecma262/#sec-variablestatements-in-catch-blocks [3]: https://tc39.es/ecma262/#sec-candeclareglobalvar All JSTests changes were proven to align JSC with V8 and SpiderMonkey. * JSTests/ChakraCore/test/Closures/bug_OS_2299723.baseline-jsc: * JSTests/stress/const-not-strict-mode.js: * JSTests/stress/eval-func-decl-in-eval-within-catch-scope.js: * JSTests/stress/eval-func-decl-in-global-of-eval.js: * JSTests/stress/eval-func-decl-within-eval-with-reassign-to-var.js: * JSTests/stress/eval-let-const-redeclararion.js: Added. * JSTests/stress/global-lexical-var-injection.js: * JSTests/stress/lexical-let-not-strict-mode.js: * JSTests/test262/expectations.yaml: Mark 160 tests as passing. * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::hoistSloppyModeFunctionIfNecessary): (JSC::BytecodeGenerator::emitPutToScopeDynamic): * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h: * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::Interpreter::executeEval): * Source/JavaScriptCore/runtime/JSScope.cpp: (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): Co-authored-by: Oleksandr Skachkov Canonical link: https://commits.webkit.org/265614@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f16cf5: Unreviewed. Update OptionsWPE.cmake and NEWS for t...
Branch: refs/heads/webkitglib/2.40 Home: https://github.com/WebKit/WebKit Commit: f16cf5a1b1db6c2a44d772062d23f80db48ecf56 https://github.com/WebKit/WebKit/commit/f16cf5a1b1db6c2a44d772062d23f80db48ecf56 Author: Carlos Garcia Campos Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/WebKit/wpe/NEWS M Source/cmake/OptionsWPE.cmake Log Message: --- Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.40.3 release * Source/WebKit/wpe/NEWS: Add release notes. * Source/cmake/OptionsWPE.cmake: Bump version numbers. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1dd4e8: [JSC] Fold GetArrayLength(String) in DFG
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1dd4e87c56d58f0d85546b40e933a0c1699cb748 https://github.com/WebKit/WebKit/commit/1dd4e87c56d58f0d85546b40e933a0c1699cb748 Author: Yusuke Suzuki Date: 2023-06-29 (Thu, 29 Jun 2023) Changed paths: M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h Log Message: --- [JSC] Fold GetArrayLength(String) in DFG https://bugs.webkit.org/show_bug.cgi?id=258657 rdar://111492563 Reviewed by Michael Saboff. Add DFG AI rule which folds GetArrayLength(constant-string) to constant number since String's length is immutable. * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter::executeEffects): Canonical link: https://commits.webkit.org/265613@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f0a2a: Crash in TextManipulationController::observeParagr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f0a2a47e444af1496dbaea11874c7a848a04e12 https://github.com/WebKit/WebKit/commit/3f0a2a47e444af1496dbaea11874c7a848a04e12 Author: Ryosuke Niwa Date: 2023-06-28 (Wed, 28 Jun 2023) Changed paths: M Source/WebCore/editing/TextManipulationController.cpp Log Message: --- Crash in TextManipulationController::observeParagraphs on macrumors.com https://bugs.webkit.org/show_bug.cgi?id=258649 Reviewed by Wenson Hsieh. In some cases, we can reach the end of shadow root without TextIterator hitting the end. We need to stop the iteration in such cases to avoid dereferencing nullptr. Unfortunately no new tests since I cannot create a reduction. * Source/WebCore/editing/TextManipulationController.cpp: (WebCore::ParagraphContentIterator::atEnd const): Canonical link: https://commits.webkit.org/265612@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes