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

Timeline



Apr 10, 2022:

11:17 PM Changeset in webkit [292703] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251.

  • TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp:

(TestWebKitAPI::TEST):

11:13 PM Changeset in webkit [292702] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251.

  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:

(TestWebKitAPI::TEST_F):

10:29 PM Changeset in webkit [292701] by Chris Dumez
  • 6 edits in trunk/Source

Unreviewed Windows build fix after r292696.

Source/WebCore:

  • platform/win/LoggingWin.cpp:

(WebCore::logLevelString):

Source/WebCore/PAL:

  • pal/win/LoggingWin.cpp:

(PAL::logLevelString):

Source/WebKit:

  • Platform/win/LoggingWin.cpp:

(WebKit::logLevelString):

10:27 PM Changeset in webkit [292700] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed WatchOS build fix.

  • runtime/MathCommon.cpp:

(JSC::fdlibmPow):

10:23 PM Changeset in webkit [292699] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Unreviewed Windows build fix after r292696.

  • wtf/win/LoggingWin.cpp:

(WTF::logLevelString):

10:21 PM Changeset in webkit [292698] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed WatchOS build fix.

  • runtime/MathCommon.cpp:

(JSC::fdlibmPow):

9:57 PM Changeset in webkit [292697] by ysuzuki@apple.com
  • 42 edits
    4 adds in trunk

[JSC] DFG / FTL should be aware of JSString's String replacement
https://bugs.webkit.org/show_bug.cgi?id=238918

Reviewed by Saam Barati.

JSTests:

  • stress/resolve-rope-get-by-val.js: Added.

(shouldBe):
(test):

  • stress/resolve-rope-string-char-at.js: Added.

(shouldBe):
(test):

  • stress/resolve-rope-string-char-code-at.js: Added.

(shouldBe):
(test):

  • stress/resolve-rope-string-code-point-at.js: Added.

(shouldBe):
(test):

Source/JavaScriptCore:

After r289359, String in JSString* can be replaced even after it is resolved. When atomizing String inside JSString*,
we may replace the existing one to new AtomStringImpl if different AtomStringImpl is already registered in the
AtomStringTable. However, DFG / FTL GetIndexedPropertyStorage assumes that StringImpl* in JSString* never changes after
resolving. And this is wrong.

This patch decouples String handling in GetIndexedPropertyStorage as ResolveRope DFG node. GetIndexedPropertyStorage no
longer handles JSString and it is now tailored to object cases. ResolveRope does not expose StringImpl::m_data pointer,
and instead it keeps resolved JSString*. After this change,

GetByVal(String:@0, Untyped:@1, GetIndexedProperty(String:@0))

is changed to

GetByVal(ResolveRope(String:@0), Untyped:@1)

Also, we revisit all the value(...) callsites (by changing function name) and ensure that we have no code assuming String
cannot be changed after resolving.

A/B test ensured that this is perf-neutral.

  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEqualityOpImpl):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasStorageChild const):
(JSC::DFG::Node::storageChildIndex):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetCharCodeAt):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileStringCodePointAt):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileResolveRope):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAtImpl):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToB3::compileStringCodePointAt):

  • jsc.cpp:

(JSC_DEFINE_HOST_FUNCTION):

  • runtime/HashMapImplInlines.h:

(JSC::jsMapHashImpl):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::name):
(JSC::InternalFunction::displayName):
(JSC::InternalFunction::calculatedDisplayName):

  • runtime/InternalFunction.h:
  • runtime/JSBoundFunction.h:
  • runtime/JSCJSValueInlines.h:

(JSC::toPreferredPrimitiveType):

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::importModule):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::computeNext):

  • runtime/JSRemoteFunction.h:
  • runtime/Operations.h:

(JSC::jsString):
(JSC::compareBigIntToOtherPrimitive):
(JSC::compareBigInt32ToOtherPrimitive):

  • runtime/RegExpMatchesArray.h:

(JSC::createRegExpMatchesArray):

  • runtime/StringPrototype.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/SymbolConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • tools/JSDollarVM.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

Source/WebCore:

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::reportViolationForUnsafeEval):

9:40 PM Changeset in webkit [292696] by Chris Dumez
  • 131 edits in trunk

Finish porting code base to String::fromLatin1() and make String(const char*) private
https://bugs.webkit.org/show_bug.cgi?id=238977

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:

(WebCore::GStreamerDataChannelHandler::createDataChannelEvent):

  • Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:

(WebCore::fetchDescription):
(WebCore::GStreamerMediaEndpoint::storeRemoteMLineInfo):
(WebCore::GStreamerMediaEndpoint::addRemoteStream):
(WebCore::GStreamerMediaEndpoint::createSessionDescriptionSucceeded):
(WebCore::GStreamerMediaEndpoint::collectTransceivers):

  • Modules/mediastream/gstreamer/GStreamerRtpTransceiverBackend.cpp:

(WebCore::GStreamerRtpTransceiverBackend::mid):

  • Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:

(WebCore::fillRTCStats):
(WebCore::fillRTCRTPStreamStats):
(WebCore::fillOutboundRTPStreamStats):

  • Modules/mediastream/gstreamer/GStreamerWebRTCUtils.cpp:

(WebCore::toRTCEncodingParameters):

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:

(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):

  • platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:

(WebCore::ProtectionSystemEvents::ProtectionSystemEvents):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::platformMaximumBufferSize const):

  • platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:

(WebCore::ExtensionsGLOpenGLCommon::ExtensionsGLOpenGLCommon):

  • platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:

(WebCore::ExtensionsGLOpenGLES::getExtensions):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::getString):

Source/WebDriver:

  • Session.cpp:

(WebDriver::Session::pageLoadStrategyString const):

  • WebDriverService.cpp:

(WebDriver::WebDriverService::run):
(WebDriver::WebDriverService::findSessionOrCompleteWithError):
(WebDriver::WebDriverService::processCapabilities const):
(WebDriver::WebDriverService::newSession):
(WebDriver::WebDriverService::connectToBrowser):
(WebDriver::processPauseAction):
(WebDriver::processNullAction):
(WebDriver::processKeyAction):
(WebDriver::processPointerMoveAction):
(WebDriver::processPointerAction):
(WebDriver::processWheelAction):
(WebDriver::processPointerParameters):
(WebDriver::processInputActionSequence):
(WebDriver::WebDriverService::performActions):

  • gtk/WebDriverServiceGtk.cpp:

(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformParseCapabilities const):

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformCapabilities):
(WebDriver::WebDriverService::platformParseCapabilities const):

Source/WTF:

  • wtf/text/WTFString.h:
  • wtf/unix/LanguageUnix.cpp:

(WTF::platformLanguage):

  • wtf/unix/LoggingUnix.cpp:

(WTF::logLevelString):

Tools:

  • TestWebKitAPI/Tests/WTF/CrossThreadCopier.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/FileSystem.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WTF/HexNumber.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/StringBuilder.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/StringOperators.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/URL.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
  • TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:

(TEST):

  • TestWebKitAPI/Tests/WebCore/KeyedCoding.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/PushDatabase.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:

(testIdentity2):

  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:

(TestWebKitAPI::signUnlinkableTokenAndSendSecretToken):

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
  • TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/WillPerformClientRedirectToURLCrash.mm:

(-[WebKit1TestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):

  • TestWebKitAPI/cocoa/HTTPServer.mm:

(TestWebKitAPI::Connection::webSocketHandshake):
(TestWebKitAPI::HTTPServer::testCertificate):
(TestWebKitAPI::HTTPServer::testPrivateKey):

9:25 PM Changeset in webkit [292695] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo] Child process happens to remain alive even after IPC::Connection is disconnected
https://bugs.webkit.org/show_bug.cgi?id=204221

Reviewed by Don Olmstead.

After running layout tests, I observed some processes of
WebKitWebProcess.exe and WebKitNetworkProcess.exe were still
alive. These child processed should exit if the named pipe of
IPC::Connection is broken.

  • Platform/IPC/win/ConnectionWin.cpp:

(IPC::Connection::readEventHandler): Call connectionDidClose() in the case of ERROR_BROKEN_PIPE.

9:22 PM Changeset in webkit [292694] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

Unreviewed, reverting r292690.
https://bugs.webkit.org/show_bug.cgi?id=239060

fast/multicol tests are randomly failing

Reverted changeset:

"[LBSE] Activate SVG transform support through layers"
https://bugs.webkit.org/show_bug.cgi?id=237711
https://commits.webkit.org/r292690

6:32 PM Changeset in webkit [292693] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Update listMarkerTextForNodeAndPosition() to return a StringView instead of a String
https://bugs.webkit.org/show_bug.cgi?id=239022
<rdar://problem/91509602>

Reviewed by Darin Adler.

Update listMarkerTextForNodeAndPosition() to return a StringView instead of a String. listMarkerTextForNodeAndPosition()
has a StringView internally and none it its call sites actually need a String. The call sites either use StringBuilder
or want a NSString*. This avoids unnecessary String allocations.

  • accessibility/AccessibilityObject.cpp:

(WebCore::listMarkerTextForNode):
(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapperBase contentForSimpleRange:attributed:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):

4:54 PM Changeset in webkit [292692] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Avoid redundant calls to findHTTPHeaderName()
https://bugs.webkit.org/show_bug.cgi?id=239021

Reviewed by Darin Adler.

Some call sites of HTTPHeaderMap::add() / set() or ResourceResponse::addHTTPHeaderField() / setHTTPHeaderField()
have already called findHTTPHeaderName() and determined that this wasn't a common header. As a result, we were
doing redundant findHTTPHeaderName() checks inside those functions. To avoid this, add overloads that take in
a header that we already know is uncommon.

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::appendToHeaderMap):
(WebCore::FetchHeaders::filterAndFill):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::resourceResponse const):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readHTTPHeaders):

  • platform/network/CacheValidation.cpp:

(WebCore::updateResponseHeadersAfterRevalidation):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::setUncommonHeader):
(WebCore::HTTPHeaderMap::add):
(WebCore::HTTPHeaderMap::addUncommonHeader):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::setUncommonHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
(WebCore::ResourceResponseBase::addUncommonHTTPHeaderField):

  • platform/network/ResourceResponseBase.h:
  • workers/service/ServiceWorkerJob.cpp:

(WebCore::ServiceWorkerJob::fetchScriptWithContext):

4:52 PM Changeset in webkit [292691] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[Line clamp] Move line clamp only code from RenderBlockFlow to RenderDeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=239041

Reviewed by Antti Koivisto.

  • rendering/RenderBlockFlow.cpp:

(WebCore::shouldIncludeLinesForParentLineCount): Deleted.
(WebCore::RenderBlockFlow::clearTruncation): Deleted.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::shouldIncludeLinesForParentLineCount):
(WebCore::clearTruncation):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

3:51 PM Changeset in webkit [292690] by Nikolas Zimmermann
  • 18 edits in trunk/Source/WebCore

[LBSE] Activate SVG transform support through layers
https://bugs.webkit.org/show_bug.cgi?id=237711

Reviewed by Rob Buis.

Activate transforms for SVG layers.

Use the flag to keep track of the presence of SVG transformations
on a renderer. CSS/HTML renderers can rely only on the RenderStyle
to determine if transformations are applied, whereas SVG has to
consult additional sources, such as the SVG 'transform' attribute.

A SVG renderer with the 'HasSVGTransform' flag set should behave
like any SVG/HTML renderer that has CSS transformations applied.

With this patch applied SVG transform and CSS transforms can
be applied to <g> / <rect> elements in LBSE. However, the order
of the matrix multiplication is not correct yet for SVG -- that
will be adressed in a follow-up patch.

Covered by existing tests, no change in behaviour.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::multiplyAffineTransform):

  • platform/graphics/transforms/TransformationMatrix.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateLayerTransform): Deleted.

  • rendering/RenderBox.h:
  • rendering/RenderLayer.cpp:

(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::currentTransform const):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::updateLayerTransform):
(WebCore::RenderLayerModelObject::applySVGTransform const):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setHasSVGTransform):

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasSVGTransform const):
(WebCore::RenderObject::hasTransform const):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::SVGLayerTransformUpdater::SVGLayerTransformUpdater):
(WebCore::SVGLayerTransformUpdater::~SVGLayerTransformUpdater):
(WebCore::RenderSVGContainer::layout):

  • rendering/svg/RenderSVGContainer.h:

(WebCore::RenderSVGContainer::updateLayerInformation): Deleted.

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::updateFromStyle):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::updateFromStyle):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::applyTransform const):

  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/RenderSVGTransformableContainer.cpp:

(WebCore::RenderSVGTransformableContainer::updateFromStyle):
(WebCore::RenderSVGTransformableContainer::applyTransform const):

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::animatedLocalTransform const):

3:01 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
2:56 PM Changeset in webkit [292689] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Line clamp specific line-count code should be in RenderDeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=239029

Reviewed by Antti Koivisto.

Moving the line-clamp specific code to RenderDeprecatedFlexibleBox enables us to
make RenderBlockFlow::lineCount "children inline" only.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::lineCountFor):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

2:29 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
2:20 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
2:09 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
9:50 AM Changeset in webkit [292688] by commit-queue@webkit.org
  • 8 edits
    4 deletes in trunk/Tools/buildstream

[Flatpak SDK] Pre-easter eggs update
https://bugs.webkit.org/show_bug.cgi?id=239007

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-10
Reviewed by Adrian Perez de Castro.

  • elements/freedesktop-sdk.bst: Bump junction.
  • elements/qt5/qtbase.bst: Remove reference to removed gtk3 recipe.
  • elements/sdk-platform.bst: Replace duplicate recipes with their upstream version.
  • elements/sdk/adwaita-icon-theme.bst: Remove reference to removed gtk3 recipe.
  • elements/sdk/bubblewrap.bst: Removed.
  • elements/sdk/ffmpeg.bst: Bump to version 5, inspired from upstream version of the recipe.
  • elements/sdk/gst-plugins-base.bst: Remove reference to removed gtk3 recipe.
  • elements/sdk/gst-plugins-good.bst: Remove reference to removed gtk3 recipe.
  • elements/sdk/gtk+-3.bst: Removed.
  • patches/fdo-0001-shared-mime-info-Backport-meson-0.60-build-fix.patch: Removed.
  • patches/gtk-gcc11-build-fix.patch: Removed.
9:47 AM Changeset in webkit [292687] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak] clangd wrapper improvements
https://bugs.webkit.org/show_bug.cgi?id=239032

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-10
Reviewed by Adrian Perez de Castro.

The path of the compile_commands.json is now implied from the webkit-clangd command-line
arguments, defaulting to the GTK/Release configuration.

The path mappings were incorrect, the src part being /app/webkit/{Debug,Release}, which are
invalid paths in the sandbox. They should instead point to
/app/webkit/WebKitBuild/{Debug,Release}.

Finally, there should be no need to add a path mapping for /usr/include because clangd is
launched in the sandbox runtime, where /usr/include/ is already bind-mounded by
flatpak/bwrap.

  • flatpak/webkit-clangd:
3:26 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
12:29 AM Changeset in webkit [292686] by Tyler Wilcock
  • 7 edits in trunk

Fix accessibility/aria-invalid.html in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=238978

Reviewed by Chris Fleizach.

Source/WebCore:

With this patch, we update the isolated tree when the aria-invalid
attribute changes.

Fixes accessibility/aria-invalid.html in isolated tree mode.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::updateIsolatedTree):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateNodeProperty):
Drive-by re-ordering of case AXPropertyName::IdentifierAttribute such that this
function handles properties in alphabetical order.

LayoutTests:

  • accessibility/aria-invalid-expected.txt:
  • accessibility/aria-invalid.html:

Rewrite to call debug only once at the end of the test. Also made
this test use accessibleElementById instead of
accessibilityController.focusedElement.

  • resources/accessibility-helper.js:

Add new expect function, which is like the more ubiquitous
shouldBe from js-test.js, but returns the output as a string instead
of calling debug to output to a console DOM element.

Apr 9, 2022:

7:59 PM Changeset in webkit [292685] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[Text autosizing] Remove redundant lineCountForTextAutosizing member function
https://bugs.webkit.org/show_bug.cgi?id=239034

Reviewed by Antti Koivisto.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustComputedFontSizes): stop walking the list item children when we see multiple lines.
(WebCore::RenderBlockFlow::lineCountForTextAutosizing): Deleted.

  • rendering/RenderBlockFlow.h:
7:14 PM Changeset in webkit [292684] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Include locale.h for LC_MESSAGES definition.
https://bugs.webkit.org/show_bug.cgi?id=239030

Patch by Khem Raj <raj.khem@gmail.com> on 2022-04-09
Reviewed by Michael Catanzaro.

  • accessibility/atspi/AccessibilityRootAtspi.cpp:
3:42 PM Changeset in webkit [292683] by Simon Fraser
  • 7 edits in trunk/Source

Put layer backing store buffers into the per-RemoteRenderingBackend IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=238972
<rdar://83437978>

Reviewed by Tim Horton.

Source/WebCore:

Add IOSurfacePool::create().

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::create):

  • platform/graphics/cg/IOSurfacePool.h:

Source/WebKit:

Give each RemoteRenderingBackend its own IOSurfacePool. RemoteImageBuffer gets surfaces
from this pool, and RemoteRenderingBackend::willDestroyImageBuffer() puts surfaces in,
if they are layer backing store surfaces.

The low memory handler removes all surfaces from the pool.

  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::create):
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::willDestroyImageBuffer):
(WebKit::RemoteRenderingBackend::lowMemoryHandler):

  • GPUProcess/graphics/RemoteRenderingBackend.h:

(WebKit::RemoteRenderingBackend::ioSurfacePool const):

3:25 PM Changeset in webkit [292682] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Use Vector with inline capacity in ObjectPropertyConditionSet creation
https://bugs.webkit.org/show_bug.cgi?id=239025

Reviewed by Keith Miller.

Since we anyway allocate ThreadSafeRefCountedFixedVector<ObjectPropertyCondition> in ObjectPropertyConditionSet, which has exact size,
generateXXX and mergeWith should not allocate heap Vector just for temporarily collecting ObjectPropertyCondition.
We pick 8 in generateXXX function and 16 for mergeWith function. This looks reasonable number and at least covers all cases in Speedometer2.

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::ObjectPropertyConditionSet::mergedWith const):
(JSC::generateConditionsForPropertyMiss):
(JSC::generateConditionsForPropertySetterMiss):
(JSC::generateConditionsForPrototypePropertyHit):
(JSC::generateConditionsForPrototypePropertyHitCustom):
(JSC::generateConditionsForInstanceOf):
(JSC::generateConditionsForPrototypeEquivalenceConcurrently):
(JSC::generateConditionsForPropertyMissConcurrently):
(JSC::generateConditionsForPropertySetterMissConcurrently):

  • bytecode/ObjectPropertyConditionSet.h:

(JSC::ObjectPropertyConditionSet::create):

1:26 PM Changeset in webkit [292681] by mmaxfield@apple.com
  • 4 edits in trunk

[WKTR] Reset minimum font size WKPreference between tests
https://bugs.webkit.org/show_bug.cgi?id=239027
<rdar://problem/88938768>

Reviewed by Chris Dumez.

Tools:

Some tests use uiController to set the minimum font size WKPreference. We need to reset it between tests.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Remove unnecessary ephemeral session.

  • fast/forms/visual-hebrew-text-field.html:
12:05 PM Changeset in webkit [292680] by Chris Dumez
  • 6 edits
    1 add in trunk

The Youtube plugin replacement should only work for actual Youtube URLs
https://bugs.webkit.org/show_bug.cgi?id=239003
<rdar://91323230>

Reviewed by Brent Fulgham.

Source/WebCore:

The Youtube plugin replacement was too permissive and was falling back to using
the original URL in cases there the original URL wasn't an expected Youtube
URL. This patch hardens the plugin replacement and drops the URL if it is not
a valid youtube URL instead.

Covered by new API test.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::isYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):

Tools:

Add API test coverage.

  • TestWebKitAPI/SourcesCocoa.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:

(TestWebKitAPI::test):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/YoutubeReplacementPlugin.mm: Added.

(TEST):

10:55 AM Changeset in webkit [292679] by Alan Bujtas
  • 9 edits
    2 adds in trunk

REGRESSION (Safari 15.4): Focused element doesn't render outline when it has an underline
https://bugs.webkit.org/show_bug.cgi?id=238998
<rdar://problem/91484512>

Reviewed by Antti Koivisto.

Source/WebCore:

While outline is supposed to be part of the ink overflow(1), WebKit historically has been
treating it as a special "non ink overflow" type of overflow.

This patch is in preparation for transitioning the outline to regular ink overflow.

First we start treating outline as part of ink overflow within IFC and
handle it as special repaint content only at the block (RenderBlockFlow) level.

Test: fast/repaint/incorrect-outline-repaint.html

(1) https://www.w3.org/TR/css-overflow-3/#ink

  • layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::computeInkOverflowForInlineLevelBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendAtomicInlineLevelDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox):
(WebCore::Layout::computeBoxShadowInkOverflow): Deleted.

  • layout/integration/LayoutIntegrationInlineContent.cpp:

(WebCore::LayoutIntegration::InlineContent::hasContent const):

  • layout/integration/LayoutIntegrationInlineContent.h:

(WebCore::LayoutIntegration::InlineContent::hasVisualOverflow const):
(WebCore::LayoutIntegration::InlineContent::setHasVisualOverflow):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutModernLines): This may cause overly inflated repaintTop/Bottom when
the ink overflow is not outline based (text stroke only atm) but we will anyway trigger
similar repaint rect on that part later when we process ink overflow.

LayoutTests:

  • fast/repaint/incorrect-outline-repaint-expected.txt: Added.
  • fast/repaint/incorrect-outline-repaint.html: Added.
  • fast/text/simple-line-layout-text-stroke-width.html: now we produce a slightly different (more accurate)

vertical repaint range. However this test is about moving the content horizontally, so let's make this
test more robust by focusing on the horizontal part.

1:35 AM Changeset in webkit [292678] by Adrian Perez de Castro
  • 10 edits
    3 adds in trunk

[GTK][WPE] Missing inter-module documentation links
https://bugs.webkit.org/show_bug.cgi?id=239016

Reviewed by Michael Catanzaro.

Add JS snippets to be used in the gi-docgen output to setup links to
other modules. Take advantage of being able to compute the documentation
API version suffix from the currently loaded page URL, which avoids having
a number of templates depending on the API version and having to deal with
the documentation API version being sometimes different than the actual API
version of the library. The URLs for GTK3 vs. GTK4 documentation cannot be
handled in the same way, and instead the JS snippet is also a template
expanded by CMake to allows using the ${GTK_API_VERSION} variable there.

.:

  • Source/cmake/FindGIDocgen.cmake: Add a new CONTENT_TEMPLATES option

to GI_DOCGEN(), which allows setting up files to be expanded as CMake
@ONLY templates and then be used as documentation content files.

Source/JavaScriptCore:

  • API/glib/docs/jsc.toml.in: Use added urlmap.js file.
  • API/glib/docs/urlmap.js: Added.

Source/WebKit:

  • PlatformGTK.cmake: Set urlmap.js as documentation content template.
  • gtk/urlmap.js.in: Added.
  • gtk/webkit2gtk-webextension.toml.in: Use urlmap.js from added template.
  • gtk/webkit2gtk.toml.in: Ditto.
  • wpe/urlmap.js: Added.

(const.baseURLApiLevelSuffix):

  • wpe/wpewebextension.toml.in: Use added urlmap.js file.
  • wpe/wpewebkit.toml.in: Ditto.
1:28 AM Changeset in webkit [292677] by sihui_liu@apple.com
  • 25 edits in trunk/Source

Move canAccessStorage() check from SecurityOrigin to ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=238524
<rdar://problem/91318259>

Reviewed by Chris Dumez.

Source/WebCore:

Add canAccessResource() to ScriptExecutionContext because ScriptExecutionContext, instead of SecurityOrigin,
should be the place that holds StorageBlockingPolicy (otherwise it's confusing that the origin and top origin
disagrees with each other on policy). Also, because ScriptExecutionContext has access to origin and topOrigin,
callers don't need to explicitly get them before the access check.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::getSupportedConfiguration):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::shouldBlockGeolocationRequests):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::shouldThrowSecurityException):
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/storage/StorageManager.cpp:

(WebCore::connectionInfo):

  • Modules/webdatabase/DOMWindowWebDatabase.cpp:

(WebCore::DOMWindowWebDatabase::openDatabase):

  • dom/Document.cpp:

(WebCore::m_whitespaceCache):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::storageBlockingStateDidChange):
(WebCore::Document::initSecurityContext):
(WebCore::Document::applyQuickLookSandbox):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::domainForCachePartition const):
(WebCore::isOriginEquivalentToLocal):
(WebCore::ScriptExecutionContext::canAccessResource const):

  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::setStorageBlockingPolicy):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::loadMainResource):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::update):

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):

  • page/DOMWindow.cpp:
  • page/Page.cpp:

(WebCore::Page::setupForRemoteWorker):

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::domainForCachePartition const):
(WebCore::SecurityOrigin::canAccessStorage const): Deleted.

  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::encode const):
(WebCore::SecurityOrigin::decode):
(WebCore::SecurityOrigin::setStorageBlockingPolicy): Deleted.
(WebCore::SecurityOrigin::canAccessDatabase const): Deleted.
(WebCore::SecurityOrigin::canAccessSessionStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessLocalStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessStorageManager const): Deleted.
(WebCore::SecurityOrigin::canAccessPluginStorage const): Deleted.
(WebCore::SecurityOrigin::canAccessApplicationCache const): Deleted.
(WebCore::SecurityOrigin::canAccessCookies const): Deleted.
(WebCore::SecurityOrigin::canRequestGeolocation const): Deleted.

  • storage/StorageNamespaceProvider.cpp:

(WebCore::StorageNamespaceProvider::localStorageArea):

  • workers/WorkerGlobalScope.cpp:

(WebCore::m_credentials):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):

  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::isolatedCopy const):

  • workers/service/ServiceWorkerJobData.h:

(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::startScriptFetch):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

Source/WebKit:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::storageBlockingStateChanged):

Note: See TracTimeline for information about the timeline view.