[webkit-changes] [WebKit/WebKit] dd5454: [macOS Downlevels] AVIF and JPEG XL images can get...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd54547c2b7b1ede124b744778c0857e675271aa https://github.com/WebKit/WebKit/commit/dd54547c2b7b1ede124b744778c0857e675271aa Author: Myles C. Maxfield Date: 2023-10-09 (Mon, 09 Oct 2023) Changed paths: A LayoutTests/http/tests/images/repaint-garbled-expected.html A LayoutTests/http/tests/images/repaint-garbled.html A LayoutTests/http/tests/images/resources/green-313x313.jxl M Source/WebCore/platform/graphics/cg/ImageBackingStoreCG.cpp Log Message: --- [macOS Downlevels] AVIF and JPEG XL images can get corrupted https://bugs.webkit.org/show_bug.cgi?id=259698 Reviewed by Said Abou-Hallawa. When we create a `NativeImage`, we call `ImageSource::frameAtIndexCacheIfNeeded()` with a caching mode of `MetadataAndImage`. This does 2 things: 1. `auto platformImage = m_decoder->createFrameImageAtIndex(index, subsamplingLevelValue, decodingOptions);` 2. `cachePlatformImageAtIndex(WTFMove(platformImage), index, subsamplingLevelValue, DecodingOptions(DecodingMode::Synchronous));` ImageSource owns its own cache of `Vector m_frames;` whereas `ScalableImageDecoder` owns its own `Vector m_frameBufferCache`. Therefore, the output of `createFrameImageAtIndex()` may be expected to outlive the `ImageDecoder` it came from. However, `createFrameImageAtIndex()` indirectly calls into `ImageBackingStore::image()` which creates the `CGImage` with a `CGDataProvider` that points into the `ImageBackingStore`, which is owned by the `m_frameBufferCache` which is owned by the `ScalableImageDecoder`. So, when the `ImageSource` destroys its `ImageDecoder`, it blows away the contents of the `CGImage`s being cached, but the images themselves live on inside the `ImageSource` itself. That leads to this kind of corruption. The solution is to make the `CGImage` retain its backing data. * LayoutTests/http/tests/images/repaint-garbled-expected.html: Added. * LayoutTests/http/tests/images/repaint-garbled.html: Added. * LayoutTests/http/tests/images/resources/green-313x313.jxl: Added. * Source/WebCore/platform/graphics/cg/ImageBackingStoreCG.cpp: (WebCore::ImageBackingStore::image const): Originally-landed-as: 265870.229@safari-7616-branch (e633a9de382d). rdar://116422568 Canonical link: https://commits.webkit.org/269091@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6bef92: Fix build after 268500@main for case-insensitive f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6bef92cf112d35641e59053f35d99a580ec710ed https://github.com/WebKit/WebKit/commit/6bef92cf112d35641e59053f35d99a580ec710ed Author: Myles C. Maxfield Date: 2023-09-27 (Wed, 27 Sep 2023) Changed paths: R Source/WebCore/rendering/svg/Legacy/LegacyRenderSVGResourceClipperInlines.h Log Message: --- Fix build after 268500@main for case-insensitive file systems https://bugs.webkit.org/show_bug.cgi?id=262209 rdar://116139041 Reviewed by Tim Horton. % diff Legacy/LegacyRenderSVGResourceClipperInlines.h legacy/LegacyRenderSVGResourceClipperInlines.h % This patch just deletes the erroneous Legacy directory. * Source/WebCore/rendering/svg/Legacy/LegacyRenderSVGResourceClipperInlines.h: Removed. Canonical link: https://commits.webkit.org/268531@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 95990e: [Fast text codepath] Slight cleanups after 267095@...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 95990ec923ef7e850b34f8c30fd046dd8c2da54c https://github.com/WebKit/WebKit/commit/95990ec923ef7e850b34f8c30fd046dd8c2da54c Author: Myles C. Maxfield Date: 2023-09-14 (Thu, 14 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/Font.h M Source/WebCore/platform/graphics/WidthIterator.cpp M Source/WebCore/platform/graphics/coretext/FontCoreText.cpp Log Message: --- [Fast text codepath] Slight cleanups after 267095@main https://bugs.webkit.org/show_bug.cgi?id=261548 rdar://115471679 Reviewed by Cameron McCormack. Most of this is stylistic. The only non-stylistic change is to take the Mac/iOS codepath on all Apple platforms. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::resetGlyphBuffer): (WebCore::SmallCapsState::SmallCapsState): (WebCore::SmallCapsState::setSmallCapsData): (WebCore::WidthIterator::startNewFontRangeIfNeeded): (WebCore::resetFontRangeIfNeeded): (WebCore::WidthIterator::advanceInternal): * Source/WebCore/platform/graphics/coretext/FontCoreText.cpp: (WebCore::Font::variantCapsSupportedForSynthesis const): Canonical link: https://commits.webkit.org/267982@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 76fdca: resetFontRangeIfNeeded() accidentally copies its i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 76fdcab415eae53442a8c12755ee3fbcbfd75c28 https://github.com/WebKit/WebKit/commit/76fdcab415eae53442a8c12755ee3fbcbfd75c28 Author: Myles C. Maxfield Date: 2023-09-13 (Wed, 13 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/WidthIterator.cpp Log Message: --- resetFontRangeIfNeeded() accidentally copies its inout param, rather than taking it by reference https://bugs.webkit.org/show_bug.cgi?id=260687 rdar://114416548 Reviewed by Cameron McCormack. resetFontRangeIfNeeded() attempts to reset the TextIterator that's passed into it, except it accidentally copies the TextIterator, thereby having no effect on the caller. This patch needs a test. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::resetFontRangeIfNeeded): Canonical link: https://commits.webkit.org/267981@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0c0e78: [Simple text codepath] Shadow TextRun's direction ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0c0e78b43702e1cc5c8d020f90bfcb200182c94b https://github.com/WebKit/WebKit/commit/0c0e78b43702e1cc5c8d020f90bfcb200182c94b Author: Myles C. Maxfield Date: 2023-09-02 (Sat, 02 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/WidthIterator.cpp M Source/WebCore/platform/graphics/WidthIterator.h Log Message: --- [Simple text codepath] Shadow TextRun's direction within WidthIterator so we can make local changes to it https://bugs.webkit.org/show_bug.cgi?id=261058 rdar://114857993 Reviewed by Cameron McCormack. This patch is in preparation for a future patch, where WidthIterator is going to need to operate on LTR runs and RTL runs at the same time. For example, when we do line breaking, we haven't done bidi yet (which is wrong, but that's a whole nother story), which means there are some circumstances where we have to measure text of different directionalities before those directionalities can be passed in to WidthIterator as arguments. As a temporary fix, WidthIterator can do its own directionality discovery, similar to how the complex path does right now. This wouldn't be a long-term fix (the long term fix is to do shaping before we measure anything), but allowing WidthIterator to have its own copy of the direction information makes it easy to iterate on temporary short-term solutions. There's no memory use concern, because there's only ever a single WidthIterator alive at a time. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::WidthIterator): (WebCore::WidthIterator::applyFontTransforms): (WebCore::WidthIterator::applyInitialAdvance): (WebCore::WidthIterator::advanceInternal): (WebCore::WidthIterator::calculateAdditionalWidth const): (WebCore::WidthIterator::applyAdditionalWidth): (WebCore::WidthIterator::applyExtraSpacingAfterShaping): (WebCore::WidthIterator::finalize): * Source/WebCore/platform/graphics/WidthIterator.h: (WebCore::WidthIterator::direction const): (WebCore::WidthIterator::rtl const): (WebCore::WidthIterator::ltr const): Canonical link: https://commits.webkit.org/267582@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6566fb: [Fast text codepath] CharactersTreatedAsSpace is o...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6566fb8f9216aae136892c5f32e6e50367de2969 https://github.com/WebKit/WebKit/commit/6566fb8f9216aae136892c5f32e6e50367de2969 Author: Myles C. Maxfield Date: 2023-08-31 (Thu, 31 Aug 2023) Changed paths: M LayoutTests/platform/ios/tables/layering/paint-test-layering-1-expected.txt M LayoutTests/platform/ios/tables/layering/paint-test-layering-2-expected.txt M LayoutTests/platform/ios/tables/mozilla/bugs/bug4427-expected.txt M LayoutTests/platform/ios/tables/mozilla_expected_failures/other/test4-expected.txt M Source/WebCore/platform/graphics/WidthIterator.cpp Log Message: --- [Fast text codepath] CharactersTreatedAsSpace is overly prescriptive https://bugs.webkit.org/show_bug.cgi?id=260843 rdar://114607926 Reviewed by Cameron McCormack. When we lay out web content, we make multiple passes over the text, chopping it up multiple different ways. Because of this, we have an invariant that the width of a space can't change depending on the bounds of how we're chopping up the text. Kerning can affect the width of a space, so we enforce the invariant by having a postprocess that we perform after shaping to retroactively go back and adjust the width of any glyphs associated with space characters, to reset their widths. This is called "CharactersTreatedAsSpace." However, CharactersTreatedAsSpace actually does something else, too: it also adjusts the width of the character directly before the space to be whatever it was before shaping. However, this is kind of bogus - it's totally valid for shaping to adjust the width of whichever character happens to be before the space. Now that we're trying to make the fast text codepath handle complex character clusters, we're hitting the case more often where shaping is adjusting the non-space glyphs to be correct, but then our postprocess is coming along and messing them up. This patch removes that logic, just for the glyphs before the space characters. The logic about trying to reset the space characters' width is still there. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::OriginalAdvancesForCharacterTreatedAsSpace::OriginalAdvancesForCharacterTreatedAsSpace): (WebCore::WidthIterator::applyFontTransforms): (WebCore::WidthIterator::advanceInternal): Canonical link: https://commits.webkit.org/267541@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c3b8ad: Addressing review feedback from 267490@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c3b8ad19792f0ebd4418dd1dab3b76ff4b752ea1 https://github.com/WebKit/WebKit/commit/c3b8ad19792f0ebd4418dd1dab3b76ff4b752ea1 Author: Myles C. Maxfield Date: 2023-08-31 (Thu, 31 Aug 2023) Changed paths: M Source/WTF/wtf/text/TextStream.cpp M Source/WTF/wtf/text/TextStream.h M Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp Log Message: --- Addressing review feedback from 267490@main https://bugs.webkit.org/show_bug.cgi?id=260956 rdar://114751994 Reviewed by Simon Fraser. Addressing review feedback from https://github.com/WebKit/WebKit/pull/17269#pullrequestreview-1603946683 * Source/WTF/wtf/text/TextStream.cpp: (WTF::TextStream::operator<<): * Source/WTF/wtf/text/TextStream.h: * Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp: (TEST): Canonical link: https://commits.webkit.org/267493@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3ebb0e: [Cocoa] Slightly improve text shaping logging
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3ebb0e8d48f4262ebf64f5f3bcc0a080c2d83c11 https://github.com/WebKit/WebKit/commit/3ebb0e8d48f4262ebf64f5f3bcc0a080c2d83c11 Author: Myles C. Maxfield Date: 2023-08-31 (Thu, 31 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/coretext/FontCoreText.cpp Log Message: --- [Cocoa] Slightly improve text shaping logging https://bugs.webkit.org/show_bug.cgi?id=260942 rdar://114742142 Reviewed by Cameron McCormack. This additional logging helped me fix a bug I was investigating. No test because there is no behavior change. * Source/WebCore/platform/graphics/coretext/FontCoreText.cpp: (WebCore::Font::applyTransforms const): Canonical link: https://commits.webkit.org/267492@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a65bf7: Allow hex() to be used with LOG_WITH_STREAM()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a65bf781e6e6cb1dbc09b0686b44c940f276823d https://github.com/WebKit/WebKit/commit/a65bf781e6e6cb1dbc09b0686b44c940f276823d Author: Myles C. Maxfield Date: 2023-08-31 (Thu, 31 Aug 2023) Changed paths: M Source/WTF/wtf/text/TextStream.cpp M Source/WTF/wtf/text/TextStream.h M Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp Log Message: --- Allow hex() to be used with LOG_WITH_STREAM() https://bugs.webkit.org/show_bug.cgi?id=260945 rdar://114742843 Reviewed by Simon Fraser. TextStream just needs to be able to use the return type of hex(). * Source/WTF/wtf/text/TextStream.cpp: (WTF::TextStream::operator<<): * Source/WTF/wtf/text/TextStream.h: * Tools/TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp: (TEST): Canonical link: https://commits.webkit.org/267490@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9de3b4: [Cocoa] font-family:system-ui results in totally g...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9de3b434f4b0c6b0f0f166df0a180963080ba045 https://github.com/WebKit/WebKit/commit/9de3b434f4b0c6b0f0f166df0a180963080ba045 Author: Myles C. Maxfield Date: 2023-08-30 (Wed, 30 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp Log Message: --- [Cocoa] font-family:system-ui results in totally garbled text when the user has a user-installed system font https://bugs.webkit.org/show_bug.cgi?id=260886 rdar://113706205 Reviewed by Cameron McCormack. When we serialize fonts across IPC, we aren't precise enough in our description of the system font. This was causing the web process to use the real system font, while the GPU process uses the user- installed system font. This patch does 2 things to mitigate this: 1. Refuses to use a font if its location on disk ("reference URL") is different than the desired location on disk 2. If we end up in this situation where we refuse to use a font, fall back to trying to create it from the file on-disk rather than the higher-level font descriptor This patch is untestable, as it requires a system-wide installation of a user-installed system font that shadows the real system font. * Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp: (WebCore::findFontDescriptor): (WebCore::createCTFont): Canonical link: https://commits.webkit.org/267463@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9df8ed: [Fonts] systemFallbackForCharacters() only works o...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9df8edf812b7c4330d6f9c1578ef33e57f37457c https://github.com/WebKit/WebKit/commit/9df8edf812b7c4330d6f9c1578ef33e57f37457c Author: Myles C. Maxfield Date: 2023-08-27 (Sun, 27 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/Font.cpp M Source/WebCore/platform/graphics/Font.h M Source/WebCore/platform/graphics/FontCache.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/FontCascade.h M Source/WebCore/platform/graphics/FontCascadeFonts.cpp M Source/WebCore/platform/graphics/SystemFallbackFontCache.cpp M Source/WebCore/platform/graphics/SystemFallbackFontCache.h M Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp M Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp M Source/WebCore/platform/graphics/freetype/FontSetCache.cpp M Source/WebCore/platform/graphics/freetype/FontSetCache.h M Source/WebCore/platform/graphics/win/FontCacheWin.cpp Log Message: --- [Fonts] systemFallbackForCharacters() only works on individual characters, not clusters https://bugs.webkit.org/show_bug.cgi?id=260758 rdar://114481597 Reviewed by Cameron McCormack. When you pick a font, you have to pick a font for a whole cluster; different codepoints in a cluster can't fall back to different fonts. If you've exhausted the whole font-family list and you fall off the end, you need to ask the system for a font that can render the cluster. The Core Text platform facilities have support for this: they accept a character pointer and a length. However, the only problem is that our own system fallback code operated on an individual UChar32, rather than on a whole cluster. This is a classic case of impedence mismatch: At the beginning of the procedure, you have clusters, and at the end of the procedure (when we hit Core Text), we operate on clusters too. This patch simply hooks up cluster support (via StringViews) throughout the interior of the procedure. Right now, this patch has no behavior change, because the only codepath that uses this functionality is our fast text codepath, which currently only operates on a single character at a time (another way to think of this: every cluster has exactly one code point inside it). If we want to stop using the complex text codepath, this will be relaxed in the future, to allow the fast text codepath to operate on whole clusters. When that day comes, we'll need to be able to feed the clusters to systemFallbackForCharacters(), like this patch allows for. (So, right now, this patch doesn't add any tests, because there is no behavior change.) * Source/WebCore/platform/graphics/Font.cpp: (WebCore::Font::systemFallbackFontForCharacter const): * Source/WebCore/platform/graphics/Font.h: * Source/WebCore/platform/graphics/FontCache.h: * Source/WebCore/platform/graphics/FontCascadeFonts.cpp: (WebCore::FontCascadeFonts::glyphDataForSystemFallback): * Source/WebCore/platform/graphics/SystemFallbackFontCache.cpp: (WebCore::SystemFallbackFontCache::systemFallbackFontForCharacter): * Source/WebCore/platform/graphics/SystemFallbackFontCache.h: (WebCore::add): (WebCore::SystemFallbackFontCache::CharacterFallbackMapKeyHashTraits::constructDeletedValue): (WebCore::SystemFallbackFontCache::CharacterFallbackMapKeyHashTraits::isDeletedValue): * Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::lookupFallbackFont): (WebCore::FontCache::systemFallbackForCharacters): (WebCore::createFontForCharacters): Deleted. * Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp: Canonical link: https://commits.webkit.org/267335@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 77879c: [Fonts] initiateFontLoadingByAccessingGlyphDataIfA...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 77879c827b3d9e45e866628d12cf2dea1574b84c https://github.com/WebKit/WebKit/commit/77879c827b3d9e45e866628d12cf2dea1574b84c Author: Myles C. Maxfield Date: 2023-08-26 (Sat, 26 Aug 2023) Changed paths: M Source/WebCore/rendering/RenderText.cpp Log Message: --- [Fonts] initiateFontLoadingByAccessingGlyphDataIfApplicable() operates on code units, not code points https://bugs.webkit.org/show_bug.cgi?id=260768 rdar://114488476 Reviewed by Cameron McCormack. It's meaningless to lookup fonts using individual surrogates. * Source/WebCore/rendering/RenderText.cpp: (WebCore::initiateFontLoadingByAccessingGlyphDataIfApplicable): Canonical link: https://commits.webkit.org/267333@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 67c98f: Allow fontForCombiningCharacterSequence() and canR...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 67c98f07295d7d27c34f307816941ec726a96c73 https://github.com/WebKit/WebKit/commit/67c98f07295d7d27c34f307816941ec726a96c73 Author: Myles C. Maxfield Date: 2023-08-25 (Fri, 25 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/ComplexTextController.cpp M Source/WebCore/platform/graphics/Font.cpp M Source/WebCore/platform/graphics/Font.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/FontCascade.h M Source/WebCore/platform/graphics/cairo/FontCairoHarfbuzzNG.cpp M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp Log Message: --- Allow fontForCombiningCharacterSequence() and canRenderCombiningCharacterSequence() to be able to accept 8-bit characters https://bugs.webkit.org/show_bug.cgi?id=260753 rdar://114478724 Reviewed by Cameron McCormack. If we're going to make the fast text codepath powerful enough to handle complex text, that means it's going to have to call fontForCombiningCharacterSequence() and canRenderCombiningCharacterSequence(). The fast text codepath is templated to accept either 8-bit characters or 16-bit characters, which means anything it calls must be able to do so as well. There's no behavior change with just this patch - these functions are still only being called with 16-bit characters. This patch just changes the type of them so they could be called with 8-bit characters in the future. (So, there are no tests in this patch.) * Source/WebCore/platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::collectComplexTextRuns): * Source/WebCore/platform/graphics/Font.cpp: (WebCore::Font::canRenderCombiningCharacterSequence const): * Source/WebCore/platform/graphics/Font.h: * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::fontForCombiningCharacterSequence const): * Source/WebCore/platform/graphics/FontCascade.h: * Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp: (WebCore::FontCascade::fontForCombiningCharacterSequence const): Canonical link: https://commits.webkit.org/267317@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dc989b: [Cocoa] objectForEqualityCheck() is no longer nece...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dc989b3ef737547949c45f39dc996f0850fe862f https://github.com/WebKit/WebKit/commit/dc989b3ef737547949c45f39dc996f0850fe862f Author: Myles C. Maxfield Date: 2023-08-25 (Fri, 25 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/FontPlatformData.h M Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp M Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm Log Message: --- [Cocoa] objectForEqualityCheck() is no longer necessary https://bugs.webkit.org/show_bug.cgi?id=260744 rdar://114474905 Reviewed by Cameron McCormack. We originally used objectForEqualityCheck() because CFEqual() on fonts was a shallow pointer comparison. It is possible to generate 2 different font objects (with different addresses) which represent the same font, so we handled this by generating a derived object (a "reference URL") for each font, and compared that instead. However, CFEqual() now performs a deep comparison on fonts on all Cocoa OSes we ship on. No test because there is no behavior change. * Source/WebCore/platform/graphics/FontPlatformData.h: * Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp: (WebCore::FontPlatformData::objectForEqualityCheck): Deleted. (WebCore::FontPlatformData::objectForEqualityCheck const): Deleted. * Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm: (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Canonical link: https://commits.webkit.org/267312@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e67d58: Various cleanups after 267095@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e67d582edd3d1ca5c75c80220b030e2c34e4cd1c https://github.com/WebKit/WebKit/commit/e67d582edd3d1ca5c75c80220b030e2c34e4cd1c Author: Myles C. Maxfield Date: 2023-08-25 (Fri, 25 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/WidthIterator.cpp Log Message: --- Various cleanups after 267095@main https://bugs.webkit.org/show_bug.cgi?id=260670 rdar://114400262 Reviewed by Cameron McCormack. This is a bunch of style-related cleanups in WidthIterator. No test because there is no behavior change. * Source/WebCore/platform/graphics/WidthIterator.cpp: (WebCore::SmallCapsState::SmallCapsState): (WebCore::AdvanceInternalState::AdvanceInternalState): (WebCore::resetFontRangeIfNeeded): Canonical link: https://commits.webkit.org/267297@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7f5ccd: Add some accessors to WidthIterator's internal ite...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7f5ccd87b5c428c990a92a81ff3add2a17e7a2c4 https://github.com/WebKit/WebKit/commit/7f5ccd87b5c428c990a92a81ff3add2a17e7a2c4 Author: Myles C. Maxfield Date: 2023-08-24 (Thu, 24 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h M Source/WebCore/platform/graphics/Latin1TextIterator.h M Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h Log Message: --- Add some accessors to WidthIterator's internal iterators https://bugs.webkit.org/show_bug.cgi?id=260671 rdar://114400737 Reviewed by Cameron McCormack. This is in preparation for removing the complex text codepath. These accessors will be necessary when we actually make WidthIterator understand character clusters. For now, they are unused. No tests because there is no behavior change. * Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h: (WebCore::ComposedCharacterClusterTextIterator::remainingCharacters const): (WebCore::ComposedCharacterClusterTextIterator::currentIndex const): (WebCore::ComposedCharacterClusterTextIterator::characters const): * Source/WebCore/platform/graphics/Latin1TextIterator.h: (WebCore::Latin1TextIterator::remainingCharacters const): * Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h: (WebCore::SurrogatePairAwareTextIterator::remainingCharacters const): (WebCore::SurrogatePairAwareTextIterator::currentIndex const): (WebCore::SurrogatePairAwareTextIterator::characters const): Canonical link: https://commits.webkit.org/267254@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4ef6f5: [macOS] Temporarily disable JPEG XL on older OSes ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4ef6f54430f8a53c3de39ebc57edc245f304e620 https://github.com/WebKit/WebKit/commit/4ef6f54430f8a53c3de39ebc57edc245f304e620 Author: Myles C. Maxfield Date: 2023-07-28 (Fri, 28 Jul 2023) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig Log Message: --- [macOS] Temporarily disable JPEG XL on older OSes until we can get https://bugs.webkit.org/show_bug.cgi?id=259587 ironed out https://bugs.webkit.org/show_bug.cgi?id=259603 rdar://113041105 Reviewed by Tim Horton. This path is producing images that are garbled. Temporarily disable the feature until we can fix that. * Source/WebCore/Configurations/WebCore.xcconfig: Canonical link: https://commits.webkit.org/266408@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 45a531: utext_setup() can fail
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 45a531fbee9aae168c5795cc191a49b415f10e66 https://github.com/WebKit/WebKit/commit/45a531fbee9aae168c5795cc191a49b415f10e66 Author: Myles C. Maxfield Date: 2023-07-28 (Fri, 28 Jul 2023) Changed paths: M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h Log Message: --- utext_setup() can fail https://bugs.webkit.org/show_bug.cgi?id=259468 rdar://112426537 Reviewed by Brent Fulgham. Simply add a null check. We don't know of any content that can cause this, but we are getting reports of crashes at this stack trace. So I don't know how to make a test :( * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::TextBreakIteratorICU): (WTF::TextBreakIteratorICU::operator=): (WTF::TextBreakIteratorICU::setText): Canonical link: https://commits.webkit.org/266388@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e812d6: [WebGPU] Make wgslc and wgslfuzz distinct from eac...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e812d681255b5530d4bdc7272899b17dbf023342 https://github.com/WebKit/WebKit/commit/e812d681255b5530d4bdc7272899b17dbf023342 Author: Myles C. Maxfield Date: 2023-07-24 (Mon, 24 Jul 2023) Changed paths: A Source/WebGPU/Configurations/wgslfuzz.xcconfig M Source/WebGPU/WGSL/wgslc.cpp A Source/WebGPU/WGSL/wgslfuzz.cpp M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj A Source/WebGPU/WebGPU.xcodeproj/xcshareddata/xcschemes/wgslfuzz.xcscheme Log Message: --- [WebGPU] Make wgslc and wgslfuzz distinct from each other https://bugs.webkit.org/show_bug.cgi?id=259454 rdar://112798797 Reviewed by Mike Wyrzykowski. It would be useful to make the compiler and the fuzzer different executables for local development, so when the fuzzer finds a problem, you can feed that into the compiler to debug it. The way this works is: % set-webkit-configuration --debug --asan --libFuzzer % cd Source/WebGPU % make SCHEME=wgslfuzz % make SCHEME=wgslc % ASAN_OPTIONS=whatever DYLD_FRAMEWORK_PATH=/path/to/Products/Debug DYLD_LIBRARY_PATH=/path/to/Products/Debug /path/to/Products/Debug/wgslfuzz % ASAN_OPTIONS=whatever DYLD_FRAMEWORK_PATH=/path/to/Products/Debug DYLD_LIBRARY_PATH=/path/to/Products/Debug /path/to/Products/Debug/wgslc * Source/WebGPU/Configurations/wgslfuzz.xcconfig: Added. * Source/WebGPU/WGSL/wgslc.cpp: (main): (LLVMFuzzerTestOneInput): Deleted. * Source/WebGPU/WGSL/wgslfuzz.cpp: Added. (LLVMFuzzerTestOneInput): * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU.xcodeproj/xcshareddata/xcschemes/wgslfuzz.xcscheme: Added. Canonical link: https://commits.webkit.org/266269@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 751a8c: [WebGPU] Add the ability to fuzz wgslc
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 751a8c03a46a2b18f88e4385e7c15a2dd49cbddf https://github.com/WebKit/WebKit/commit/751a8c03a46a2b18f88e4385e7c15a2dd49cbddf Author: Myles C. Maxfield Date: 2023-07-21 (Fri, 21 Jul 2023) Changed paths: M Configurations/Sanitizers.xcconfig M Source/WebGPU/WGSL/wgslc.cpp M Tools/Scripts/set-webkit-configuration M Tools/Scripts/webkitdirs.pm Log Message: --- [WebGPU] Add the ability to fuzz wgslc https://bugs.webkit.org/show_bug.cgi?id=259355 rdar://112576959 Reviewed by David Kilzer. The way this works is: % set-webkit-configuration --debug --asan --libFuzzer % cd Source/WebGPU % make SCHEME=wgslc % ASAN_OPTIONS=whatever DYLD_FRAMEWORK_PATH=/path/to/Products/Debug DYLD_LIBRARY_PATH=/path/to/Products/Debug /path/to/Products/Debug/wgslc This patch adds a new configuration option, named "libFuzzer" to WebKit. It sets the ENABLE_LIBFUZZER Xcode variable, which automatically adds -fsanitize=fuzzer to compilations. It also sets the ENABLE_LIBFUZZER preprocessor macro, which we can use to conditionally use LLVMFuzzerTestOneInput() instead of main() if fuzzing is enabled. Enabling fuzzing also enables ASAN (because of course it does). * Configurations/Sanitizers.xcconfig: * Source/WebGPU/WGSL/wgslc.cpp: (runWGSL): (LLVMFuzzerTestOneInput): * Tools/Scripts/set-webkit-configuration: (printCurrentSettings): * Tools/Scripts/webkitdirs.pm: (determineLibFuzzerIsEnabled): (libFuzzerIsEnabled): (XcodeOptions): (generateBuildSystemFromCMakeProject): Canonical link: https://commits.webkit.org/266202@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3dfb58: [Cocoa] Small canvases, which aren't supposed to g...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3dfb58beb2151d8039d5e56f6ddccddc9cd9d1ce https://github.com/WebKit/WebKit/commit/3dfb58beb2151d8039d5e56f6ddccddc9cd9d1ce Author: Myles C. Maxfield Date: 2023-07-18 (Tue, 18 Jul 2023) Changed paths: A LayoutTests/compositing/canvas/accelerated-small-canvas-compositing-expected.txt A LayoutTests/compositing/canvas/accelerated-small-canvas-compositing.html A LayoutTests/platform/gtk/compositing/canvas/accelerated-small-canvas-compositing-expected.txt A LayoutTests/platform/ios/compositing/canvas/accelerated-small-canvas-compositing-expected.txt M Source/WebCore/rendering/RenderLayerCompositor.cpp Log Message: --- [Cocoa] Small canvases, which aren't supposed to get compositing layers, get compositing layers if they have a 3D-but-could-be-2D transform https://bugs.webkit.org/show_bug.cgi?id=259297 rdar://112439265 Reviewed by Simon Fraser. We already have existing code which will avoid compositing small canvases. However, if the small canvas has a 3D-but-could-be-2D transform, we'll composite it regardless. This patch extends the current logic to not composite small canvases in this case. This patch causes a 41% - 48% progression on the Images subtest in MotionMark. Layers have cost, y'all. * LayoutTests/compositing/canvas/accelerated-small-canvas-compositing-expected.txt * LayoutTests/compositing/canvas/accelerated-small-canvas-compositing.html * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForTransform const): This patch doesn't modify m_compositingPolicy, because that's global for the whole RenderLayerCompositor. We only want to change the policy in this specific case. Canonical link: https://commits.webkit.org/266135@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a80e19: [macOS] fast/text/international/system-language/ha...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a80e196c2ba8bda219855915f038d824a9dd2770 https://github.com/WebKit/WebKit/commit/a80e196c2ba8bda219855915f038d824a9dd2770 Author: Myles C. Maxfield Date: 2023-07-17 (Mon, 17 Jul 2023) Changed paths: M LayoutTests/platform/mac-gpup/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- [macOS] fast/text/international/system-language/han-text-style.html is no longer failing https://bugs.webkit.org/show_bug.cgi?id=259258 rdar://102588345 Unreviewed test gardening. The test is consistently passing on macOS. https://results.webkit.org/?suite=layout-tests=fast%2Ftext%2Finternational%2Fsystem-language%2Fhan-text-style.html * LayoutTests/platform/mac-gpup/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/266122@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 68a63d: Special-casing the zero glyph page is unnecessary ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 68a63d5baeafd9de8dbd0f8301946a383e2d0e3d https://github.com/WebKit/WebKit/commit/68a63d5baeafd9de8dbd0f8301946a383e2d0e3d Author: Myles C. Maxfield Date: 2023-07-16 (Sun, 16 Jul 2023) Changed paths: M Source/WebCore/platform/graphics/Font.cpp M Source/WebCore/platform/graphics/Font.h Log Message: --- Special-casing the zero glyph page is unnecessary (Part 2) https://bugs.webkit.org/show_bug.cgi?id=259257 rdar://112344047 Reviewed by Cameron McCormack. This is a follow-up to 266052@main. Each glyph page only holds 16 characters, so the 0th glyph page isn't really special. Almost no text will actually use it. So there's no need to special-case it. (I bet that this special-case wasn't actually created for performance, but just because of how our HashMaps treat 0 as empty...) * Source/WebCore/platform/graphics/Font.cpp: (WebCore::Font::glyphPage const): * Source/WebCore/platform/graphics/Font.h: Canonical link: https://commits.webkit.org/266091@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f69e1: REGRESSION: Emoji characters are sometimes drawn i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f69e13f0317394affb24ab40d881b92f2f1299d https://github.com/WebKit/WebKit/commit/3f69e13f0317394affb24ab40d881b92f2f1299d Author: Myles C. Maxfield Date: 2023-07-16 (Sun, 16 Jul 2023) Changed paths: A LayoutTests/fast/text/emoji-style-expected.html A LayoutTests/fast/text/emoji-style.html M Source/WTF/wtf/BitVector.h M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/unicode/CharacterNames.h M Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp M Source/WebCore/PAL/pal/cf/CoreTextSoftLink.h M Source/WebCore/platform/graphics/Font.cpp M Source/WebCore/platform/graphics/Font.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/FontCascade.h M Source/WebCore/platform/graphics/FontCascadeFonts.cpp M Source/WebCore/platform/graphics/FontCascadeFonts.h M Source/WebCore/platform/graphics/GlyphPage.h M Source/WebCore/platform/graphics/SystemFallbackFontCache.cpp M Source/WebCore/platform/graphics/SystemFallbackFontCache.h M Source/WebCore/platform/graphics/cairo/FontCairo.cpp M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp M Source/WebCore/platform/graphics/coretext/FontCoreText.cpp M Source/WebCore/platform/graphics/coretext/GlyphPageCoreText.cpp M Source/WebCore/platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp M Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp M Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp M Source/WebCore/platform/text/TextFlags.h Log Message: --- REGRESSION: Emoji characters are sometimes drawn in text style erroneously https://bugs.webkit.org/show_bug.cgi?id=259139 rdar://111411175 Reviewed by Cameron McCormack. In WebKit, we weren't treating emoji deliberately at all. We were treating them like any other character - falling back to the first font in the fallback list that supports them. This is a problem because there are some fonts (like STIXTwo) which support emoji code points, but aren't colorful like emoji should be. In particular, on macOS, STIXTwo is earlier in the platform's default font cascade list than Apple Color Emoji, so some emoji characters were being rendered in text style, not emoji style. The fix for this is to treat emoji deliberately. This patch adds two classification functions: - One that classifies a character as either "RequireText", "RequireEmoji" or "NoPreference" - One that classifies a glyph in a font as either color or not When we perform font fallback for a particular character, we can make sure that if the character requires emoji style, that it is being rendered with a color glyph (and vice-versa for characters that require text style - of which there are none right now, but the yet-to- be-implemented `font-variant-emoji` property would create this situation). If the glyph from the fallback font isn't compatible with the character, then the solution is to just keep falling back to another font. If we get to the end of the list, we ask the platform to produce a font for us, and we pass it a variation selector which indicates which kind of glyph/font we need. The first classification works by just asking Unicode (ICU) whether the character has the Emoji_Presentation property. The second classification works by creating a bitmap of all the glyphs at font creation time, which can then be queried at font fallback time. (On the Linux ports, I couldn't figure out how to implement the second classification function. See https://bugs.webkit.org/show_bug.cgi?id=259205. This means that the first classification needs to report NoPreference for every character on those ports. We don't want a situation where a character reports it requires emoji style, but we don't know how to ask a font if it has colorful glyphs, so we assume no fonts have colorful glyphs, which means no fonts can render the character.) Because a particular glyph in a font is either text style or emoji style (and not both), all the caches _inside_ Font don't need to be updated. The only caches which need to be updated in this patch is the ones in FontCascadeFonts where different glyphs from different fonts are combined together into a single data structure. The test for this patch only tests the characters which Unicode says actually need emoji style. All the other characters are up to the OS/UA's discretion about whether they should be emoji or not. For example, iOS renders a bunch of more characters in emoji style than just what's required by Unicode - but macOS doesn't. I also limited the set of characters from "all the characters Unicode says need emoji style" to "all the characters Unicode says need emoji style that macOS renders as text style" so the set isn't super big. * LayoutTests/fast/text/emoji-style-e
[webkit-changes] [WebKit/WebKit] 2dfe83: Special-casing the zero glyph page is unnecessary
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2dfe83b6f5fd67ea089c2fe200ddabc72170eb90 https://github.com/WebKit/WebKit/commit/2dfe83b6f5fd67ea089c2fe200ddabc72170eb90 Author: Myles C. Maxfield Date: 2023-07-13 (Thu, 13 Jul 2023) Changed paths: M Source/WebCore/platform/graphics/FontCascadeFonts.cpp M Source/WebCore/platform/graphics/FontCascadeFonts.h Log Message: --- Special-casing the zero glyph page is unnecessary https://bugs.webkit.org/show_bug.cgi?id=259180 rdar://112186000 Reviewed by Simon Fraser. Each glyph page only holds 16 characters, so the 0th glyph page isn't really special. Almost no text will actually use it. So there's no need to special-case it. (I bet that this special-case wasn't actually created for performance, but just because of how our HashMaps treat 0 as empty...) * Source/WebCore/platform/graphics/FontCascadeFonts.cpp: (WebCore::FontCascadeFonts::glyphDataForCharacter): (WebCore::FontCascadeFonts::pruneSystemFallbacks): * Source/WebCore/platform/graphics/FontCascadeFonts.h: Canonical link: https://commits.webkit.org/266052@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 376d44: Allow EnumeratedArray to infer the size of its int...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 376d4439778b24d4d73abf7e291f27912aa3017f https://github.com/WebKit/WebKit/commit/376d4439778b24d4d73abf7e291f27912aa3017f Author: Myles C. Maxfield Date: 2023-07-13 (Thu, 13 Jul 2023) Changed paths: M Source/WTF/wtf/EnumTraits.h M Source/WTF/wtf/EnumeratedArray.h M Source/WebCore/platform/graphics/filters/FEComponentTransfer.h M Source/WebGPU/WebGPU/BindGroupLayout.h M Tools/Scripts/webkitpy/style/checkers/cpp.py M Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp M Tools/TestWebKitAPI/Tests/WTF/EnumeratedArray.cpp Log Message: --- Allow EnumeratedArray to infer the size of its internal array https://bugs.webkit.org/show_bug.cgi?id=259174 rdar://112177459 Reviewed by Yusuke Suzuki. We can use our existing pattern of EnumTraits to automatically calculate what the maximum value of the enum is at compile time. This patch also adds isZeroBasedContiguousEnum() which indicates whether the enum is a good candidate for EnumeratedArray, but doesn't require it because we have a few places in WebKit which use EnumeratedArray but aren't suitable for using the EnumTraits pattern. Once these places are migrated, we can require all enums used in EnumeratedArray to be isZeroBasedContiguousEnum(). * Source/WTF/wtf/EnumTraits.h: (WTF::isZeroBasedContiguousEnum): * Source/WTF/wtf/EnumeratedArray.h: * Source/WebCore/platform/graphics/filters/FEComponentTransfer.h: * Source/WebGPU/WebGPU/BindGroupLayout.h: * Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WTF/EnumeratedArray.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/266026@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] da4d5f: Rename WTF::Bitmap to WTF::BitSet
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: da4d5fa288fc590dd6d77d598d66a61de11b6c2c https://github.com/WebKit/WebKit/commit/da4d5fa288fc590dd6d77d598d66a61de11b6c2c Author: Myles C. Maxfield Date: 2023-07-12 (Wed, 12 Jul 2023) Changed paths: M Source/JavaScriptCore/assembler/SecureARM64EHashPins.h M Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.cpp M Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.h M Source/JavaScriptCore/heap/IsoCellSet.cpp M Source/JavaScriptCore/heap/IsoCellSet.h M Source/JavaScriptCore/heap/MarkedBlock.h M Source/JavaScriptCore/heap/VerifierSlotVisitor.h M Source/JavaScriptCore/heap/VerifierSlotVisitorInlines.h M Source/JavaScriptCore/jit/RegisterSet.h M Source/JavaScriptCore/runtime/IntlObject.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/yarr/YarrJIT.h M Source/JavaScriptCore/yarr/YarrPattern.cpp M Source/WTF/WTF.xcodeproj/project.pbxproj A Source/WTF/wtf/BitSet.h M Source/WTF/wtf/BitVector.h R Source/WTF/wtf/Bitmap.h M Source/WTF/wtf/CMakeLists.txt M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h M Source/WebCore/style/StyleBuilderState.h M Tools/TestWebKitAPI/CMakeLists.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp R Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp Log Message: --- Rename WTF::Bitmap to WTF::BitSet https://bugs.webkit.org/show_bug.cgi?id=259168 rdar://112167937 Reviewed by Yusuke Suzuki. Bitmap makes it sound like an image, but it's not. Also, BitSet provides symmetry with std::bitset, which is a very similar class. * Source/JavaScriptCore/assembler/SecureARM64EHashPins.h: * Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.cpp: (JSC::tmpLivenessForCheckpoint): * Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysis.h: * Source/JavaScriptCore/heap/IsoCellSet.cpp: (JSC::IsoCellSet::addSlow): * Source/JavaScriptCore/heap/IsoCellSet.h: * Source/JavaScriptCore/heap/MarkedBlock.h: (JSC::MarkedBlock::marks const): (JSC::MarkedBlock::newlyAllocated const): * Source/JavaScriptCore/heap/VerifierSlotVisitor.h: (JSC::VerifierSlotVisitor::MarkedBlockData::atoms const): * Source/JavaScriptCore/heap/VerifierSlotVisitorInlines.h: (JSC::VerifierSlotVisitor::forEachLiveMarkedBlockCell): * Source/JavaScriptCore/jit/RegisterSet.h: * Source/JavaScriptCore/runtime/IntlObject.cpp: (JSC::LanguageTagParser::parseExtensionsAndPUExtensions): * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::makeCharacterBitmap): (JSC::encode): (JSC::decode): (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/yarr/YarrJIT.h: * Source/JavaScriptCore/yarr/YarrPattern.cpp: (JSC::Yarr::CharacterClassConstructor::asciiOpSorted): (JSC::Yarr::CharacterClassConstructor::unicodeOpSorted): * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/BitSet.h: Renamed from Source/WTF/wtf/Bitmap.h. (WTF::WordType>::get const): (WTF::WordType>::set): (WTF::WordType>::testAndSet): (WTF::WordType>::testAndClear): (WTF::WordType>::concurrentTestAndSet): (WTF::WordType>::concurrentTestAndClear): (WTF::WordType>::clear): (WTF::WordType>::clearAll): (WTF::WordType>::cleanseLastWord): (WTF::WordType>::setAll): (WTF::WordType>::invert): (WTF::WordType>::nextPossiblyUnset const): (WTF::WordType>::findRunOfZeros const): (WTF::WordType>::count const): (WTF::WordType>::isEmpty const): (WTF::WordType>::isFull const): (WTF::WordType>::merge): (WTF::WordType>::filter): (WTF::WordType>::exclude): (WTF::WordType>::concurrentFilter): (WTF::WordType>::subsumes const): (WTF::WordType>::forEachSetBit const): (WTF::WordType>::findBit const): (WTF::WordType>::mergeAndClear): (WTF::WordType>::setAndClear): (WTF::WordType>::setEachNthBit): (WTF::= const): (WTF::=): (WTF::WordType>::hash const): (WTF::WordType>::dump const): * Source/WTF/wtf/BitVector.h: * Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h: * Source/WebCore/style/StyleBuilderState.h: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WTF/BitSet.cpp: Added. (TestWebKitAPI::countBits): (TestWebKitAPI::testBitSetSize): (TestWebKitAPI::testBitSetConstructedEmpty): (TestWebKitAPI::testBitSetSetGet): (TestWebKitAPI::testBitSetTestAndSet): (TestWebKitAPI::testBitSetTestAndClear): (TestWebKitAPI::testBitSetConcurrentTestAndSet): (TestWebKitAPI::testBitSetConcurrentTestAndClear): (TestWebKitAPI::testBitSetClear): (TestWebKitAPI::testBitSetClearAll): (TestWebKitAPI::testBitSetInvert): (TestWebKitAPI::testBitSetFindRunOfZeros): (TestWebKitAPI::testBitSetCount): (TestWebKitAPI::testBitSetCountAfterSetAll): (TestWebKitAPI::testBitSetIsEmpty): (TestWebKitAPI::testBitSetIsFull): (TestWebKitAPI::testBitSetMerge): (TestWebKitAPI::testBitSetFil
[webkit-changes] [WebKit/WebKit] e9e9b4: [Cocoa] [Downlevels] Out of bounds optical sizing ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e9e9b4699c26d5e69ffeafd259edcc7e203479fb https://github.com/WebKit/WebKit/commit/e9e9b4699c26d5e69ffeafd259edcc7e203479fb Author: Myles C. Maxfield Date: 2023-07-12 (Wed, 12 Jul 2023) Changed paths: A LayoutTests/fast/text/variations/optical-sizing-out-of-bounds-expected.html A LayoutTests/fast/text/variations/optical-sizing-out-of-bounds.html M Source/WTF/wtf/PlatformUse.h M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h M Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.cpp M Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.h Log Message: --- [Cocoa] [Downlevels] Out of bounds optical sizing is rendered as the default value instead of clamping https://bugs.webkit.org/show_bug.cgi?id=258764 rdar://111535841 Reviewed by Cameron McCormack. On pre-2023-aligned Apple OSes, Core Text's behavior for optical sizing is that out of bounds values are ignored, and default optical sizing is used instead of clamping the specified value. We can work around this by clamping the value ourself in WebKit, but this is somewhat unfortunate because we only know the acceptable range after creating a CTFont, but we'd like to specify the values during CTFont creation time. This patch solves the problem by doing a 2-phase creation: Create a CTFont, inspect it, determine if it needs a second phase, and if it does, modify the CTFont to create a second, derived, CTFont. We already have some support for this due to the TrueType GX weight/width/slope scales being different than the CSS scales - but we don't know if a font is a TrueType GX font until we've created the CTFont object. This patch extends that existing 2-phase creation to also recreate the font if the optical sizing ended up wrong. * LayoutTests/fast/text/variations/optical-sizing-out-of-bounds-expected.html: Added. * LayoutTests/fast/text/variations/optical-sizing-out-of-bounds.html: Added. * Source/WTF/wtf/PlatformUse.h: * Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.cpp: (WebCore::OpticalSizeRange::isInRange const): (WebCore::opticalSizeRange): (WebCore::UnrealizedCoreTextFont::rebuildReason const): (WebCore::UnrealizedCoreTextFont::realize const): * Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.h: (WebCore::UnrealizedCoreTextFont::RebuildReason::hasEffect const): Canonical link: https://commits.webkit.org/266000@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f807b4: REGRESSION(265657@main): imported/w3c/web-platform...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f807b4b42e8a1051a2d3032b6a519017be24e63d https://github.com/WebKit/WebKit/commit/f807b4b42e8a1051a2d3032b6a519017be24e63d Author: Myles C. Maxfield Date: 2023-06-30 (Fri, 30 Jun 2023) Changed paths: M LayoutTests/platform/mac/TestExpectations M LayoutTests/platform/mac/imported/w3c/web-platform-tests/svg/import/animate-elem-35-t-manual-expected.txt Log Message: --- REGRESSION(265657@main): imported/w3c/web-platform-tests/svg/import/animate-elem-35-t-manual.svg is failing https://bugs.webkit.org/show_bug.cgi?id=258756 rdar://111593596 Unreviewed test gardening. Simply needs a rebaseline. * LayoutTests/platform/mac/TestExpectations: * LayoutTests/platform/mac/imported/w3c/web-platform-tests/svg/import/animate-elem-35-t-manual-expected.txt: Canonical link: https://commits.webkit.org/265677@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2ce829: REGRESSION(265657@main): svg/W3C-I18N/tspan-direct...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2ce829b573fa79059fedf82b13be8ea472cb6ab6 https://github.com/WebKit/WebKit/commit/2ce829b573fa79059fedf82b13be8ea472cb6ab6 Author: Myles C. Maxfield Date: 2023-06-30 (Fri, 30 Jun 2023) Changed paths: M LayoutTests/platform/mac/svg/W3C-I18N/tspan-direction-rtl-expected.txt Log Message: --- REGRESSION(265657@main): svg/W3C-I18N/tspan-direction-rtl.svg is failing https://bugs.webkit.org/show_bug.cgi?id=258751 rdar://111591383 Unreviewed test gardening. Simply needs a rebaseline. * LayoutTests/platform/mac/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Canonical link: https://commits.webkit.org/265676@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 37aaa1: [WebGPU] Abstract interface needs to use WebCore t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 37aaa17f0b0b96081c9135b94ce88c7516027892 https://github.com/WebKit/WebKit/commit/37aaa17f0b0b96081c9135b94ce88c7516027892 Author: Myles C. Maxfield Date: 2023-06-30 (Fri, 30 Jun 2023) Changed paths: M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources-input.xcfilelist M Source/WebCore/Headers.cmake M Source/WebCore/Modules/WebGPU/GPU.cpp M Source/WebCore/Modules/WebGPU/GPU.h M Source/WebCore/Modules/WebGPU/GPUAdapter.cpp M Source/WebCore/Modules/WebGPU/GPUAdapter.h M Source/WebCore/Modules/WebGPU/GPUAddressMode.h M Source/WebCore/Modules/WebGPU/GPUAutoLayoutMode.h M Source/WebCore/Modules/WebGPU/GPUBindGroup.cpp M Source/WebCore/Modules/WebGPU/GPUBindGroup.h M Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.h M Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.h M Source/WebCore/Modules/WebGPU/GPUBindGroupLayout.cpp M Source/WebCore/Modules/WebGPU/GPUBindGroupLayout.h M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.h M Source/WebCore/Modules/WebGPU/GPUBlendComponent.h M Source/WebCore/Modules/WebGPU/GPUBlendFactor.h M Source/WebCore/Modules/WebGPU/GPUBlendOperation.h M Source/WebCore/Modules/WebGPU/GPUBlendState.h M Source/WebCore/Modules/WebGPU/GPUBuffer.cpp M Source/WebCore/Modules/WebGPU/GPUBuffer.h M Source/WebCore/Modules/WebGPU/GPUBufferBinding.h M Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.h M Source/WebCore/Modules/WebGPU/GPUBufferBindingType.h M Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.h M Source/WebCore/Modules/WebGPU/GPUBufferUsage.h M Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h M Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h M Source/WebCore/Modules/WebGPU/GPUColorDict.h M Source/WebCore/Modules/WebGPU/GPUColorTargetState.h M Source/WebCore/Modules/WebGPU/GPUColorWrite.h M Source/WebCore/Modules/WebGPU/GPUCommandBuffer.cpp M Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h M Source/WebCore/Modules/WebGPU/GPUCommandBufferDescriptor.h M Source/WebCore/Modules/WebGPU/GPUCommandEncoder.cpp M Source/WebCore/Modules/WebGPU/GPUCommandEncoder.h M Source/WebCore/Modules/WebGPU/GPUCommandEncoderDescriptor.h M Source/WebCore/Modules/WebGPU/GPUCompareFunction.h M Source/WebCore/Modules/WebGPU/GPUCompilationInfo.h M Source/WebCore/Modules/WebGPU/GPUCompilationMessage.cpp M Source/WebCore/Modules/WebGPU/GPUCompilationMessage.h M Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.h M Source/WebCore/Modules/WebGPU/GPUCompositorIntegration.h M Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.h M Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.cpp M Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.h M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampLocation.h M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrite.h M Source/WebCore/Modules/WebGPU/GPUComputePipeline.h M Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.h M Source/WebCore/Modules/WebGPU/GPUCullMode.h M Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h M Source/WebCore/Modules/WebGPU/GPUDevice.cpp M Source/WebCore/Modules/WebGPU/GPUDevice.h M Source/WebCore/Modules/WebGPU/GPUDeviceDescriptor.h M Source/WebCore/Modules/WebGPU/GPUDeviceError.idl M Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h M Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h M Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl M Source/WebCore/Modules/WebGPU/GPUError.h M Source/WebCore/Modules/WebGPU/GPUErrorFilter.h M Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h M Source/WebCore/Modules/WebGPU/GPUExternalTexture.cpp M Source/WebCore/Modules/WebGPU/GPUExternalTexture.h M Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.h M Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h M Source/WebCore/Modules/WebGPU/GPUFeatureName.h M Source/WebCore/Modules/WebGPU/GPUFilterMode.h M Source/WebCore/Modules/WebGPU/GPUFragmentState.h M Source/WebCore/Modules/WebGPU/GPUFrontFace.h M Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.h M Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.h M Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.h M Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.h M Source/WebCore/Modules/WebGPU/GPUImageDataLayout.h M Source/WebCore/Modules/WebGPU/GPUIndexFormat.h M Source/WebCore/Modules/WebGPU/GPUIntegralTypes.h M Source/WebCore/Modules/WebGPU/GPUInternalError.h M Source/WebCore/Modules/WebGPU/GPULoadOp.h M Source/WebCore
[webkit-changes] [WebKit/WebKit] bd7169: Implement word-break: auto
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bd716947b5196a89ab2d9621075984389e2d4e50 https://github.com/WebKit/WebKit/commit/bd716947b5196a89ab2d9621075984389e2d4e50 Author: Myles C. Maxfield Date: 2023-06-30 (Fri, 30 Jun 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-break-invalid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-break-invalid.html M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-break-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-break-valid.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-000-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-000.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-001-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-001.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-002-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-002.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-003-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-003.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-004-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-004.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-005-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-break/auto/word-break-auto-005.html M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/css/CSSPrimitiveValueMappings.h M Source/WebCore/css/CSSProperties.json M Source/WebCore/css/parser/CSSParserContext.cpp M Source/WebCore/css/parser/CSSParserContext.h M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/RenderText.h M Source/WebCore/rendering/line/BreakingContext.h M Source/WebCore/rendering/style/RenderStyleConstants.cpp M Source/WebCore/rendering/style/RenderStyleConstants.h M Source/WebCore/rendering/style/StyleRareInheritedData.h Log Message: --- Implement word-break: auto https://bugs.webkit.org/show_bug.cgi?id=258668 rdar://111507205 Reviewed by Tim Nguyen. https://github.com/w3c/csswg-drafts/issues/7193#issuecomment-1611772475 says: > RESOLVED: remove auto () from word-boundary-detection, add keyword to > word-break > for this functionality This patch implements word-break: auto and hooks it up to the CFStringTokenizer infrastructure already implemented in 265059@main. * Source/WebCore/css/CSSPrimitiveValueMappings.h: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::handleTextContent): * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::endsWithSoftWrapOpportunity): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::contentAnalysis): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h: * Source/WebCore/rendering/RenderText.cpp: (WebCore::mapWordBreakToContentAnalysis): (WebCore::RenderText::computePreferredLogicalWidths): (WebCore::mapWordBoundaryDetectionToContentAnalysis): Deleted. * Source/WebCore/rendering/RenderText.h: * Source/WebCore/rendering/line/BreakingContext.h: (WebCore::BreakingContext::handleText): * Source/WebCore/rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * Source/WebCore/rendering/style/RenderStyleConstants.h: Canonical link: https://commits.webkit.org/265671@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 606e9d: Revert(265057@main): Stop parsing word-boundary-de...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 606e9d4b0da442b51d9acb9ef992895e3c7f32f5 https://github.com/WebKit/WebKit/commit/606e9d4b0da442b51d9acb9ef992895e3c7f32f5 Author: Myles C. Maxfield Date: 2023-06-30 (Fri, 30 Jun 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt R LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation-expected.txt R LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation.html M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/css/CSSProperties.json M Source/WebCore/css/CSSValue.cpp M Source/WebCore/css/CSSValue.h R Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp R Source/WebCore/css/CSSWordBoundaryDetectionValue.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.h M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/RenderText.h M Source/WebCore/rendering/line/BreakingContext.h M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/style/RenderStyleInlines.h M Source/WebCore/rendering/style/RenderStyleSetters.h M Source/WebCore/rendering/style/StyleRareInheritedData.cpp M Source/WebCore/rendering/style/StyleRareInheritedData.h R Source/WebCore/rendering/style/WordBoundaryDetection.h M Source/WebCore/style/StyleBuilderConverter.h Log Message: --- Revert(265057@main): Stop parsing word-boundary-detection https://bugs.webkit.org/show_bug.cgi?id=258667 rdar://111506541 Reviewed by Alan Baradlay. https://github.com/w3c/csswg-drafts/issues/7193#issuecomment-1611772475 says: > RESOLVED: remove auto () from word-boundary-detection The only reason we parsed word-boundary-detection was for the `auto` value, so we can just revert 265057@main entirely. * LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation.html: Removed. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * Source/WebCore/css/CSSProperties.json: * Source/WebCore/css/CSSValue.cpp: (WebCore::CSSValue::visitDerived): * Source/WebCore/css/CSSValue.h: (WebCore::CSSValue::isVariableReferenceValue const): (WebCore::CSSValue::isWordBoundaryDetectionValue const): Deleted. * Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp: Removed. * Source/WebCore/css/CSSWordBoundaryDetectionValue.h: Removed. * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): (WebCore::wordBoundaryDetection): Deleted. * Source/WebCore/
[webkit-changes] [WebKit/WebKit] c6ae14: Rename StringView::empty() to emptyStringView()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c6ae14a037dce326312ed56920059895f06040d1 https://github.com/WebKit/WebKit/commit/c6ae14a037dce326312ed56920059895f06040d1 Author: Myles C. Maxfield Date: 2023-06-26 (Mon, 26 Jun 2023) Changed paths: M Source/WTF/wtf/text/StringView.h M Tools/TestWebKitAPI/Tests/WTF/StringView.cpp Log Message: --- Rename StringView::empty() to emptyStringView() https://bugs.webkit.org/show_bug.cgi?id=258383 rdar://35973 Reviewed by Andy Estes. There are 4 reasons for this: 1. It's too easy to write empty() when you mean isEmpty(). This is particularly bad because StringViews have an operator bool, so it's totally legal to write if (myStringView.empty()) but it doesn't mean what it looks like it means 2. empty() is a verb! But the function doesn't empty out the contents of the string. 3. It matches emptyString() 4. No one is using it. This patch doesn't apply the same treatment to StringImpl::empty(), because that's more complicated and used much more often. * Source/WTF/wtf/text/StringView.h: (WTF::nullStringView): (WTF::emptyStringView): (WTF::StringView::substring const): (WTF::StringView::trim const): (WTF::StringView::empty): Deleted. * Tools/TestWebKitAPI/Tests/WTF/StringView.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/265521@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f0053: Bogus lang= attributes can cause null pointer dere...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f00535f91586f763507aa8085232b947e1354a8 https://github.com/WebKit/WebKit/commit/3f00535f91586f763507aa8085232b947e1354a8 Author: Myles C. Maxfield Date: 2023-06-23 (Fri, 23 Jun 2023) Changed paths: A LayoutTests/fast/text/bogus-lang-expected.txt A LayoutTests/fast/text/bogus-lang.html M Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h Log Message: --- Bogus lang= attributes can cause null pointer derefs (line breaker object fails to be created) https://bugs.webkit.org/show_bug.cgi?id=258483 rdar://110440971 Reviewed by Cameron McCormack. A bogus lang attribute can cause our line breaker objects to fail to be created, causing null pointer derefs. There are 2 possible ways to fix this: 1) If creation fails, try again without a lang 2) If creation fails, mark the text as "there are no line breaking opportunities here" Option 1) is less likely to break content if the author makes a mistake, so that's the option I went with. * LayoutTests/fast/text/bogus-lang-expected.txt: Added. * LayoutTests/fast/text/bogus-lang.html: Added. * Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h: (WTF::TextBreakIteratorCFStringTokenizer::TextBreakIteratorCFStringTokenizer): * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::TextBreakIteratorICU): Canonical link: https://commits.webkit.org/265495@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6a90e5: [Cocoa] Delete dead code after cleaning up HAVE() ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6a90e53bcf696a35822fec8282cdc6b230732fef https://github.com/WebKit/WebKit/commit/6a90e53bcf696a35822fec8282cdc6b230732fef Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj R Source/JavaScriptCore/runtime/SymbolStubsForSafariCompatibility.mm M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h M Source/WTF/wtf/WTFConfig.cpp M Source/WTF/wtf/spi/cocoa/SecuritySPI.h M Source/WTF/wtf/text/WTFString.h M Source/WTF/wtf/text/cocoa/StringCocoa.mm M Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h M Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h M Source/WebCore/PAL/pal/spi/cocoa/NSAttributedStringSPI.h M Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h M Source/WebCore/PAL/pal/spi/mac/HIToolboxSPI.h M Source/WebCore/PAL/pal/spi/mac/NSWindowSPI.h M Source/WebCore/PAL/pal/spi/mac/QuickLookMacSPI.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm M Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp M Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp M Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm M Source/WebCore/platform/network/cocoa/ResourceResponseCocoa.mm M Source/WebKit/GPUProcess/mac/GPUProcessMac.mm M Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm M Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm M Source/WebKit/NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.mm M Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h M Source/WebKit/Platform/spi/Cocoa/NWSPI.h M Source/WebKit/Platform/spi/mac/ApplicationServicesSPI.h M Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm M Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h M Tools/TestWebKitAPI/ios/UIKitSPI.h Log Message: --- [Cocoa] Delete dead code after cleaning up HAVE() and USE() macros https://bugs.webkit.org/show_bug.cgi?id=258436 rdar://98556 Reviewed by Tim Horton and Alexey Proskuryakov. Now that we've removed a bunch of configurations, there is a bunch of leftover dead code we can remove. * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/runtime/SymbolStubsForSafariCompatibility.mm: Removed. * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: * Source/WTF/wtf/text/WTFString.h: * Source/WTF/wtf/text/cocoa/StringCocoa.mm: (WTF::String::String): Deleted. * Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp: * Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h: * Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h: * Source/WebCore/PAL/pal/spi/mac/HIToolboxSPI.h: * Source/WebCore/PAL/pal/spi/mac/NSWindowSPI.h: * Source/WebCore/PAL/pal/spi/mac/QuickLookMacSPI.h: * Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp: (WebCore::SystemFontDatabaseCoreText::createTextStyleFont): (WebCore::mapWidth): * Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp: (WebCore::NetworkStorageSession::createCFStorageSessionForIdentifier): * Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm: (WebCore::createPrivateStorageSession): * Source/WebKit/GPUProcess/mac/GPUProcessMac.mm: (WebKit::GPUProcess::initializeSandbox): * Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): * Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm: (WebKit::NetworkRTCUDPSocketCocoaConnections::createNWConnection): * Source/WebKit/NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.mm: (WebKit::setNWParametersApplicationIdentifiers): (WebKit::setNWParametersTrackerOptions): (WebKit::isKnownTracker): * Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h: * Source/WebKit/Platform/spi/Cocoa/NWSPI.h: * Source/WebKit/Platform/spi/mac/ApplicationServicesSPI.h: * Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm: * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::initializeSandbox): * Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h: Canonical link: https://commits.webkit.org/265448@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f57baa: [Cocoa] Drop configurations for 2020-aligned OSes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f57baa5fc09ed49ccb1b4bba4f818e9970e460f3 https://github.com/WebKit/WebKit/commit/f57baa5fc09ed49ccb1b4bba4f818e9970e460f3 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h Log Message: --- [Cocoa] Drop configurations for 2020-aligned OSes https://bugs.webkit.org/show_bug.cgi?id=258422 rdar://87791 Reviewed by Alexey Proskuryakov. All supported Cocoa OSes are later than the 2020-aligned ones. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/265441@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 19b823: [JPEGXL] [Cocoa] Hook up color conversion to downl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 19b823079b6db3f9210dcc7e4034e0c2d317b92a https://github.com/WebKit/WebKit/commit/19b823079b6db3f9210dcc7e4034e0c2d317b92a Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/AppleJPEGXLSPI.h M Source/WebCore/platform/graphics/PixelBufferConversion.cpp M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h M WebKitLibraries/DownlevelFrameworkStubs/12/AppleJPEGXL.framework/AppleJPEGXL.tbd M WebKitLibraries/DownlevelFrameworkStubs/13/AppleJPEGXL.framework/AppleJPEGXL.tbd Log Message: --- [JPEGXL] [Cocoa] Hook up color conversion to downlevel JPEG XL infrastructure https://bugs.webkit.org/show_bug.cgi?id=258267 rdar://111012276 Reviewed by Cameron McCormack and Don Olmstead. The existing JPEG XL infrastructure on downlevel builds uses the "little cms" library from https://github.com/LuaDist/lcms/tree/master to perform color conversions. However, on Cocoa platforms, we already have color conversion support in the platform. This patch hooks up the existing colorspace conversion functionality in PixelBufferConversion.cpp instead of the little cms library. The existing infrastructure only works with RGBA8 sRGB images, so configuring all the converters is actually pretty straightforward. This patch isn't testable, because AppleJPEGXL will only be present in builds produced by Apple's internal build system, but our testers use local builds to test with. I had to verify manually that this patch is working correctly. * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: * Source/WebCore/PAL/pal/cocoa/VImageConverterPtr.h: Added. (VImageConverterRefDerefTraits::refIfNotNull): (VImageConverterRefDerefTraits::derefIfNotNull): (adoptVImageConverter): * Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/AppleJPEGXLSPI.h: * Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp: (WebCore::JPEGXLImageDecoder::clear): (WebCore::JPEGXLImageDecoder::processInput): (WebCore::JPEGXLImageDecoder::imageOut): (WebCore::JPEGXLImageDecoder::maybePerformColorSpaceConversion): (WebCore::JPEGXLImageDecoder::clearColorTransform): (WebCore::JPEGXLImageDecoder::prepareColorTransform): (WebCore::JPEGXLImageDecoder::tryDecodeICCColorProfile): * Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h: * WebKitLibraries/DownlevelFrameworkStubs/12/AppleJPEGXL.framework/AppleJPEGXL.tbd: * WebKitLibraries/DownlevelFrameworkStubs/13/AppleJPEGXL.framework/AppleJPEGXL.tbd: Canonical link: https://commits.webkit.org/265440@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 79a83b: [IOS_FAMILY] Drop configurations for 2022-aligned ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 79a83be769e941ed5e9aaa2a670262c5d3b0a588 https://github.com/WebKit/WebKit/commit/79a83be769e941ed5e9aaa2a670262c5d3b0a588 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnable.h M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h Log Message: --- [IOS_FAMILY] Drop configurations for 2022-aligned OSes https://bugs.webkit.org/show_bug.cgi?id=258425 rdar://90722 Reviewed by Tim Horton. All supported IOS_FAMILY OSes are later than or equal to the 2022-aligned ones. So, "< 2022" means "false", and ">= 2022" means "true". * Source/WTF/wtf/PlatformEnable.h: * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/265439@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e49961: [IOS_FAMILY] Drop configurations for 2021-aligned ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e499616cb404edad37b4bfab3c61eec2b9886ee6 https://github.com/WebKit/WebKit/commit/e499616cb404edad37b4bfab3c61eec2b9886ee6 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h Log Message: --- [IOS_FAMILY] Drop configurations for 2021-aligned OSes https://bugs.webkit.org/show_bug.cgi?id=258423 rdar://89039 Reviewed by Alexey Proskuryakov. All supported IOS_FAMILY OSes are later than the 2021-aligned ones. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: Canonical link: https://commits.webkit.org/265437@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5fa640: [Cocoa] Drop configurations for 2019-aligned OSes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5fa64072e2f447b7ec80714e07bd5c4380c2714f https://github.com/WebKit/WebKit/commit/5fa64072e2f447b7ec80714e07bd5c4380c2714f Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h Log Message: --- [Cocoa] Drop configurations for 2019-aligned OSes https://bugs.webkit.org/show_bug.cgi?id=258421 rdar://86444 Reviewed by Alexey Proskuryakov. All supported Cocoa OSes are later than the 2019-aligned ones. * Source/WTF/wtf/PlatformHave.h: Canonical link: https://commits.webkit.org/265436@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f0638e: [macOS] Remove Big Sur specific configuration
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f0638ea74cdac6eb4bac3e0f801465c767f74e26 https://github.com/WebKit/WebKit/commit/f0638ea74cdac6eb4bac3e0f801465c767f74e26 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h Log Message: --- [macOS] Remove Big Sur specific configuration https://bugs.webkit.org/show_bug.cgi?id=258397 rdar://50554 Reviewed by Alexey Proskuryakov. All supported macOSes are later than Big Sur. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/265433@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bdebf4: [macOS] Remove Pre-Monterey-specific configuration
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bdebf45118173d2bf7784da4ac4708cd29f4bfe3 https://github.com/WebKit/WebKit/commit/bdebf45118173d2bf7784da4ac4708cd29f4bfe3 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h Log Message: --- [macOS] Remove Pre-Monterey-specific configuration https://bugs.webkit.org/show_bug.cgi?id=258400 rdar://50889 Reviewed by Alexey Proskuryakov. All supported macOSes are Monterey or later. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/265432@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 104267: [macOS] Remove Catalina specific configuration
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 10426777cd74f54c3bb69db4c764ee0643b4fcda https://github.com/WebKit/WebKit/commit/10426777cd74f54c3bb69db4c764ee0643b4fcda Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h Log Message: --- [macOS] Remove Catalina specific configuration https://bugs.webkit.org/show_bug.cgi?id=258396 rdar://50331 Reviewed by Alexey Proskuryakov. All supported macOSes are Catalina or later. * Source/WTF/wtf/PlatformHave.h: Canonical link: https://commits.webkit.org/265429@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7f802b: [macOS] Remove High Sierra specific configuration
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7f802bb8fb9e0f235846d6544f3acaf5f2073927 https://github.com/WebKit/WebKit/commit/7f802bb8fb9e0f235846d6544f3acaf5f2073927 Author: Myles C. Maxfield Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WTF/wtf/PlatformHave.h M Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h Log Message: --- [macOS] Remove High Sierra specific configuration https://bugs.webkit.org/show_bug.cgi?id=258395 rdar://50217 Reviewed by Alexey Proskuryakov. We don't support High Sierra any more. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/PAL/pal/spi/cocoa/AVFoundationSPI.h: Canonical link: https://commits.webkit.org/265428@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cef67a: REGRESSION(264714@main) 5% regression in Speedomet...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cef67a15794121ce2c8b17671619eb5cb2f7e983 https://github.com/WebKit/WebKit/commit/cef67a15794121ce2c8b17671619eb5cb2f7e983 Author: Myles C. Maxfield Date: 2023-06-21 (Wed, 21 Jun 2023) Changed paths: M Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h M Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h Log Message: --- REGRESSION(264714@main) 5% regression in Speedometer 3's Editor-TipTap suite https://bugs.webkit.org/show_bug.cgi?id=258259 rdar://110926113 Reviewed by Ryosuke Niwa. There's no need to use the fancy NSString subclass if there is no prior context. The whole reason the NSString subclass exists is to deal with the prior context. If we can use CFString directly, that's faster. * Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h: (WTF::TextBreakIteratorCFCharacterCluster::setText): * Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h: (WTF::TextBreakIteratorCFStringTokenizer::TextBreakIteratorCFStringTokenizer): (WTF::TextBreakIteratorCFStringTokenizer::setText): (WTF::TextBreakIteratorCFStringTokenizer::createString): Canonical link: https://commits.webkit.org/265389@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 540c18: REGRESSION(259684@main-259698@main?) [[ Ventura wk...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 540c18841b4868f0928026ecd56d132ec2e318eb https://github.com/WebKit/WebKit/commit/540c18841b4868f0928026ecd56d132ec2e318eb Author: Myles C. Maxfield Date: 2023-06-21 (Wed, 21 Jun 2023) Changed paths: M LayoutTests/platform/mac/TestExpectations M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj M Source/WebCore/PAL/pal/cf/VideoToolboxSoftLink.cpp M Source/WebCore/PAL/pal/cf/VideoToolboxSoftLink.h A Source/WebCore/PAL/pal/spi/cf/VideoToolboxSPI.h M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm Log Message: --- REGRESSION(259684@main-259698@main?) [[ Ventura wk2 ] fast/images/avif-as-image.html is a constant ImageOnlyFailure https://bugs.webkit.org/show_bug.cgi?id=256119 rdar://108684696 Reviewed by Per Arne Vollan. We had code of the form: ``` callIntoWebKitAdditionsToMakeImagesWork(); ``` There's no reason for the "make images work" code to be in WebKitAdditions, so this patch just moves it to WebKit and deletes the USE(APPLE_INTERNAL_SDK) guard. This fixes the images. * LayoutTests/platform/mac/TestExpectations: * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: * Source/WebCore/PAL/pal/cf/VideoToolboxSoftLink.cpp: * Source/WebCore/PAL/pal/cf/VideoToolboxSoftLink.h: * Source/WebCore/PAL/pal/spi/cf/VideoToolboxSPI.h: Added. * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::setVideoDecoderBehaviors): (WebKit::WebProcess::platformInitializeWebProcess): Canonical link: https://commits.webkit.org/265359@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 02bc26: [JPEGXL] Migrate JXLDecoderPtr to be a std::unique...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 02bc26dd0ddb42f260ce4aec447d4fe8278ebfb3 https://github.com/WebKit/WebKit/commit/02bc26dd0ddb42f260ce4aec447d4fe8278ebfb3 Author: Myles C. Maxfield Date: 2023-06-19 (Mon, 19 Jun 2023) Changed paths: M Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderPtr.h Log Message: --- [JPEGXL] Migrate JXLDecoderPtr to be a std::unique_ptr https://bugs.webkit.org/show_bug.cgi?id=258283 rdar://111008382 Reviewed by Cameron McCormack. There's no need to duplicate the functionality of std::unique_ptr. * Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderPtr.h: (JXLDecoderDeleter::operator()): (JxlDecoderMake): (JxlDecoderPtr::JxlDecoderPtr): Deleted. (JxlDecoderPtr::operator=): Deleted. (JxlDecoderPtr::~JxlDecoderPtr): Deleted. (JxlDecoderPtr::reset): Deleted. (JxlDecoderPtr::operator bool const): Deleted. (JxlDecoderPtr::get const): Deleted. (): Deleted. Canonical link: https://commits.webkit.org/265310@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 34f838: REGRESSION(264714@main) 5% regression in Speedomet...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 34f838120c4799e51c5dccd4504e6945c5db67e1 https://github.com/WebKit/WebKit/commit/34f838120c4799e51c5dccd4504e6945c5db67e1 Author: Myles C. Maxfield Date: 2023-06-17 (Sat, 17 Jun 2023) Changed paths: M Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h M Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h Log Message: --- REGRESSION(264714@main) 5% regression in Speedometer 3's Editor-TipTap suite https://bugs.webkit.org/show_bug.cgi?id=258259 rdar://110926113 Reviewed by Ryosuke Niwa. There's no need to use the fancy NSString subclass if there is no prior context. The whole reason the NSString subclass exists is to deal with the prior context. If we can use CFString directly, that's faster. * Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h: (WTF::TextBreakIteratorCFCharacterCluster::setText): * Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h: (WTF::TextBreakIteratorCFStringTokenizer::TextBreakIteratorCFStringTokenizer): (WTF::TextBreakIteratorCFStringTokenizer::setText): (WTF::TextBreakIteratorCFStringTokenizer::createString): Canonical link: https://commits.webkit.org/265280@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1ad9ae: [HEIC] Content-Type: image/heif offers to download...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1ad9aed19a4bdd4dd2f90f1c2ba72cd9d65b2276 https://github.com/WebKit/WebKit/commit/1ad9aed19a4bdd4dd2f90f1c2ba72cd9d65b2276 Author: Myles C. Maxfield Date: 2023-06-12 (Mon, 12 Jun 2023) Changed paths: A LayoutTests/http/tests/images/heic-as-heif-expected.html A LayoutTests/http/tests/images/heic-as-heif.html A LayoutTests/http/tests/resources/green-400x400.heic M Source/WebCore/platform/MIMETypeRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp Log Message: --- [HEIC] Content-Type: image/heif offers to download the image, rather than showing it as an image document https://bugs.webkit.org/show_bug.cgi?id=257986 rdar://110667964 Reviewed by Tim Nguyen. This is simply a data change. HEIC support needs to recognize image/heif too. * LayoutTests/http/tests/images/heic-as-heif-expected.html: Added. * LayoutTests/http/tests/images/heic-as-heif.html: Added. * LayoutTests/http/tests/resources/green-400x400.heic: Added. * Source/WebCore/platform/MIMETypeRegistry.cpp: * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::defaultSupportedImageTypes): Canonical link: https://commits.webkit.org/265091@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4d176c: Remove unnecessary LineBreakIteratorMode type alias
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4d176cd7aa8d8788a84761c8d8ca4091d90d9c3f https://github.com/WebKit/WebKit/commit/4d176cd7aa8d8788a84761c8d8ca4091d90d9c3f Author: Myles C. Maxfield Date: 2023-06-12 (Mon, 12 Jun 2023) Changed paths: M Source/WTF/wtf/text/TextBreakIterator.h M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/RenderText.h M Source/WebCore/rendering/line/BreakingContext.h Log Message: --- Remove unnecessary LineBreakIteratorMode type alias https://bugs.webkit.org/show_bug.cgi?id=257946 rdar://110622665 Reviewed by Tim Nguyen. TextBreakIterator::LineMode::Behavior is the type we use throughout the line breaking code, so it doesn't really make sense for there to be 2 names for the same thing. LineBreakIteratorMode is left over from the LazyLineBreakIterator refactor. * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::CachedLineBreakIteratorFactory::CachedLineBreakIteratorFactory): (WTF::CachedLineBreakIteratorFactory::mode const): (WTF::CachedLineBreakIteratorFactory::resetStringAndReleaseIterator): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::findNextBreakablePosition): (WebCore::Layout::TextUtil::TextBreakIterator::LineMode::Behavior): (WebCore::Layout::TextUtil::lineBreakIteratorMode): Deleted. * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h: * Source/WebCore/rendering/RenderText.cpp: (WebCore::mapLineBreakToIteratorMode): (WebCore::RenderText::computePreferredLogicalWidths): * Source/WebCore/rendering/RenderText.h: * Source/WebCore/rendering/line/BreakingContext.h: (WebCore::BreakingContext::handleText): Canonical link: https://commits.webkit.org/265061@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cdafcb: [Cocoa] Hook up word-boundary-detection to CFStrin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cdafcb3c357a848d22093e4417038ff3073a3825 https://github.com/WebKit/WebKit/commit/cdafcb3c357a848d22093e4417038ff3073a3825 Author: Myles C. Maxfield Date: 2023-06-11 (Sun, 11 Jun 2023) Changed paths: M Source/WTF/wtf/text/TextBreakIterator.cpp M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/RenderText.h M Source/WebCore/rendering/line/BreakingContext.h Log Message: --- [Cocoa] Hook up word-boundary-detection to CFStringTokenizer https://bugs.webkit.org/show_bug.cgi?id=257933 Reviewed by Tim Nguyen. We added parsing support so that we can hook it up to CFStringTokenizer, which provides a linguistically-sophisticated line breaking algorithm. This patch simply hooks them up together. The behavior differences are extremely minor right now, because Core Foundation is still working on rdar://problem/110235041. When they fix that, WebKit will automatically progress. * Source/WTF/wtf/text/TextBreakIterator.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): (WTF::TextBreakIterator::TextBreakIterator): * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::TextBreakIterator::contentAnalysis const): (WTF::TextBreakIteratorCache::take): (WTF::CachedTextBreakIterator::CachedTextBreakIterator): (WTF::CachedLineBreakIteratorFactory::CachedLineBreakIteratorFactory): (WTF::CachedLineBreakIteratorFactory::contentAnalysis const): (WTF::CachedLineBreakIteratorFactory::get): (WTF::CachedLineBreakIteratorFactory::resetStringAndReleaseIterator): * Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): (WTF::TextBreakIterator::TextBreakIterator): * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::InlineItemsBuilder::handleTextContent): * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::endsWithSoftWrapOpportunity): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::contentAnalysis): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h: * Source/WebCore/rendering/RenderText.cpp: (WebCore::mapWordBoundaryDetectionToContentAnalysis): (WebCore::RenderText::computePreferredLogicalWidths): * Source/WebCore/rendering/RenderText.h: * Source/WebCore/rendering/line/BreakingContext.h: (WebCore::BreakingContext::handleText): Canonical link: https://commits.webkit.org/265059@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9e639f: Add parsing support for word-boundary-detection
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9e639f149ac0564fffed945704406006051f8c6e https://github.com/WebKit/WebKit/commit/9e639f149ac0564fffed945704406006051f8c6e Author: Myles C. Maxfield Date: 2023-06-10 (Sat, 10 Jun 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation.html M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/css/CSSProperties.json M Source/WebCore/css/CSSValue.cpp M Source/WebCore/css/CSSValue.h A Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp A Source/WebCore/css/CSSWordBoundaryDetectionValue.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.h M Source/WebCore/platform/text/TextFlags.cpp M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/style/RenderStyleInlines.h M Source/WebCore/rendering/style/RenderStyleSetters.h M Source/WebCore/rendering/style/StyleRareInheritedData.cpp M Source/WebCore/rendering/style/StyleRareInheritedData.h A Source/WebCore/rendering/style/WordBoundaryDetection.h M Source/WebCore/style/StyleBuilderConverter.h Log Message: --- Add parsing support for word-boundary-detection https://bugs.webkit.org/show_bug.cgi?id=257931 rdar://110562385 Reviewed by Tim Nguyen. word-boundary-detection is the mechanism that we can use to expose new linguistic-aware line breakers to web content. This is a new CSS property which can affect how deeply browsers perform word detection, which is used for line breaking in languages like Chinese, Japanese, and Korean. We already have support for these line breakers, but they're not currently exposed to the web; this CSS property is the way we can expose them. Because we expect to only hook up the `normal` and `auto` values, this patch doesn't parse the `manual` value, so that `@supports` will correctly report that we don't support that one. This is tested by tests we've already imported from WPT at css/css-text/parsing. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/css/CSSValue.cpp: (WebCore::CSSValue::visitDerived): * Source/WebCore/css/CSSValue.h: (WebCore::CSSValue::isWordBoundaryDetectionValue const): * Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp: Added. (WebCore::CSSWordBoundaryDetectionValue::CSSWordBoundaryDetectionValue): (WebCore::CSSWordBoundaryDetectionValue::customCSSText const): (WebCore::CSSWordBoundaryDetectionValue::equals const): * Source/WebCore/css/CSSWordBoundaryDetectionValue.h: Added. * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::wordBoundaryDetection): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeLang): (WebCore::CSSPropertyParserHelpers::consumeWordBoundaryDetection): * Source/WebCore/css/parser/CSSPropertyParserHelpers.h: * Source/WebCore/platform/text/TextFlags.cpp: (WebCore::operator<<): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareInheritedDataChangeRequiresLayout): * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::initialWordBoundaryDetection): (WebCore::RenderStyle::wordBoundaryDetection const): * Source/WebCore/rendering/style/RenderStyleSetters.h: (WebCore::RenderStyle::setWordBoundaryDetection): * Source/WebCore/rendering
[webkit-changes] [WebKit/WebKit] 6c6337: [macOS] Enable JPEG XL on downlevel OSes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6c63375bf01a3f1e853a396adcedf5a10ac740d0 https://github.com/WebKit/WebKit/commit/6c63375bf01a3f1e853a396adcedf5a10ac740d0 Author: Myles C. Maxfield Date: 2023-06-09 (Fri, 09 Jun 2023) Changed paths: M Configurations/CommonBase.xcconfig M Configurations/WebKitProjectPaths.xcconfig M Makefile M Source/WebCore/Configurations/WebCore.xcconfig M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj A Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/AppleJPEGXLSPI.h A Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/LICENSE.txt M Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h M Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderPtr.h A WebKitLibraries/DownlevelFrameworkStubs/12/AppleJPEGXL.framework/AppleJPEGXL.tbd A WebKitLibraries/DownlevelFrameworkStubs/13/AppleJPEGXL.framework/AppleJPEGXL.tbd Log Message: --- [macOS] Enable JPEG XL on downlevel OSes https://bugs.webkit.org/show_bug.cgi?id=257768 rdar://110349884 Reviewed by Alexey Proskuryakov. When Apple's internal build system builds WebKit for downlevel OSes, AppleJPEGXL.framework will be present, and we can use it. Also, when the installer for new Safari on downlevel OSes runs, it will install AppleJPEGXL.framework to a place where WebKit can use it. However, when people build WebKit themselves on downlevel OSes, AppleJPEGXL.framework won't be present. But, we want locally-built versions of WebKit to be _able_ to use AppleJPEGXL.framework if it just happens to be present - we want to be able to test the feature *before* Apple's internal build system produces the official build. So we can't just turn the feature off entirely on local builds; instead, we have to do something more complicated. What we want is to create a minimal stub of AppleJPEGXL.framework, check it in to the tree, and link to it at build time on downlevels using `-weak_framework`. This allows WebKit to use the framework if it's present at build time, and not use it if it's not. Inside WebKit, we can detect the framework's presence by declaring one of the external functions with `__attribute__((weak_import))`, and then just checking to see if the function is null. Doing it like this means that all downlevel builds will all build with `USE(JPEGXL)`, and will check at runtime whether or not it can actually open AppleJPEGXL.framework, and gracefully fall back if it can't. If we want to test the feature, we just build WebKit, and manually place AppleJPEGXL.framework at a place where WebKit can see it, and WebKit will automatically use it. However, if you don't have a copy of AppleJPEGXL.framework on your development machine, that's fine; WebKit will happily run without it. * Configurations/CommonBase.xcconfig: * Configurations/WebKitProjectPaths.xcconfig: * Makefile: * Source/WebCore/Configurations/WebCore.xcconfig: * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: * Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/AppleJPEGXLSPI.h: Added. * Source/WebCore/PAL/pal/spi/cocoa/AppleJPEGXL/LICENSE.h: Added. * Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp: * Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp: (WebCore::JPEGXLImageDecoder::create): * Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h: * Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderPtr.h: * WebKitLibraries/DownlevelFrameworkStubs/12/AppleJPEGXL.framework/AppleJPEGXL.tbd: Added. * WebKitLibraries/DownlevelFrameworkStubs/13/AppleJPEGXL.framework/AppleJPEGXL.tbd: Added. Canonical link: https://commits.webkit.org/265050@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8d1500: [Cocoa] Enable HEIC
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8d15007530ba97cafde25c94d23e3ec6bb6dafe4 https://github.com/WebKit/WebKit/commit/8d15007530ba97cafde25c94d23e3ec6bb6dafe4 Author: Myles C. Maxfield Date: 2023-06-07 (Wed, 07 Jun 2023) Changed paths: M LayoutTests/fast/canvas/toDataURL-unsupportedTypes-expected.txt M LayoutTests/fast/canvas/toDataURL-unsupportedTypes.html M LayoutTests/fast/forms/file/entries-api/image-no-transcode-drag-drop-expected.txt M LayoutTests/fast/forms/file/entries-api/image-no-transcode-open-panel-expected.txt M LayoutTests/fast/images/animated-heics-draw.html M LayoutTests/fast/images/animated-heics-verify.html M LayoutTests/fast/images/heic-as-background-image.html M LayoutTests/http/tests/misc/heic-accept-header.html M Source/WTF/wtf/PlatformHave.h M Source/WebCore/loader/cache/CachedResourceRequest.cpp M Source/WebCore/platform/MIMETypeRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp Log Message: --- [Cocoa] Enable HEIC https://bugs.webkit.org/show_bug.cgi?id=257763 rdar://110346646 Reviewed by Said Abou-Hallawa. There are 3 reasons to enable it: 1. HEIC uses the same technology as H.265 videos, which are already enabled by default in many (most? almost all?) major browsers. So there is no concern about increasing the surface area of new technology on the web. 2. It's just a true fact that there are just a lot of HEIC images out there in the wild. Some of them end up on the internet. You can't stop them. It just happens. 3. Apple's devices have hardware decoders for HEIC, which make them both more performant and use less energy than other image formats. Running some tests, using hardware decoding HEIC images uses 26% less power and 13% less time than using software decoding of AVIF, for (roughly) equivalent quality images. * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/loader/cache/CachedResourceRequest.cpp: (WebCore::acceptHeaderValueForHEICImageResource): (WebCore::acceptHeaderValueForImageResource): * Source/WebCore/platform/MIMETypeRegistry.cpp: * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::defaultSupportedImageTypes): Canonical link: https://commits.webkit.org/264971@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 932073: [Cocoa] Enable JPEG XL on 2023-aligned OSes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 932073284e4c73ce9884d0c6e15fe86fe99685c5 https://github.com/WebKit/WebKit/commit/932073284e4c73ce9884d0c6e15fe86fe99685c5 Author: Myles C. Maxfield Date: 2023-06-07 (Wed, 07 Jun 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebCore/loader/cache/CachedResourceRequest.cpp M Source/WebCore/platform/MIMETypeRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp Log Message: --- [Cocoa] Enable JPEG XL on 2023-aligned OSes https://bugs.webkit.org/show_bug.cgi?id=257762 rdar://110345663 Reviewed by Said Abou-Hallawa. Simply upstream the enablement flag. * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/loader/cache/CachedResourceRequest.cpp: (WebCore::acceptHeaderValueForJPEGXLImageResource): * Source/WebCore/platform/MIMETypeRegistry.cpp: * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::defaultSupportedImageTypes): Canonical link: https://commits.webkit.org/264959@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5b9c48: [WebGPU] Delete some unnecessary methods from WebG...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5b9c48e708e7ffa2da29b615e9e78e92d2fc0370 https://github.com/WebKit/WebKit/commit/5b9c48e708e7ffa2da29b615e9e78e92d2fc0370 Author: Myles C. Maxfield Date: 2023-06-06 (Tue, 06 Jun 2023) Changed paths: M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj M Source/WebGPU/WebGPU/WebGPUExt.h A Source/WebGPU/WebGPU/WebGPUInternal.h M Source/WebGPU/WebGPU/config.h Log Message: --- [WebGPU] Delete some unnecessary methods from WebGPUExt.h https://bugs.webkit.org/show_bug.cgi?id=257673 rdar://110201177 Reviewed by Mike Wyrzykowski. The more custom stuff in WebGPUExt.h we have, the more difficult it will be to swap in and out different WebGPU implementations. We generally want to minimize the contents of WebGPUExt.h as much as possible. This patch deletes the fooWithBlock() functions from being exported, in favor of just using the common function pointer + userdata paradigm instead. This patch doesn't actually delete the implementation of the fooWithBlock() functions, because they will probably be useful while implementing https://github.com/WebKit/WebKit/pull/13849. This patch therefore moves their declaration to a WebGPUInternal.h file, which is not exported. * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp: (PAL::WebGPU::requestDeviceCallback): (PAL::WebGPU::AdapterImpl::requestDevice): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp: (PAL::WebGPU::mapAsyncCallback): (PAL::WebGPU::BufferImpl::mapAsync): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::createComputePipelineAsyncCallback): (PAL::WebGPU::DeviceImpl::createComputePipelineAsync): (PAL::WebGPU::createRenderPipelineAsyncCallback): (PAL::WebGPU::DeviceImpl::createRenderPipelineAsync): (PAL::WebGPU::popErrorScopeCallback): (PAL::WebGPU::DeviceImpl::popErrorScope): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp: (PAL::WebGPU::requestAdapterCallback): (PAL::WebGPU::GPUImpl::requestAdapter): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp: (PAL::WebGPU::onSubmittedWorkDoneCallback): (PAL::WebGPU::QueueImpl::onSubmittedWorkDone): * Source/WebGPU/WebGPU/Adapter.mm: (wgpuAdapterRequestDevice): (wgpuAdapterRequestDeviceWithBlock): Deleted. * Source/WebGPU/WebGPU/Buffer.mm: (wgpuBufferMapAsyncWithBlock): Deleted. * Source/WebGPU/WebGPU/Device.mm: (wgpuDeviceCreateComputePipelineAsyncWithBlock): Deleted. (wgpuDeviceCreateRenderPipelineAsyncWithBlock): Deleted. (wgpuDevicePopErrorScopeWithBlock): Deleted. (wgpuDeviceSetUncapturedErrorCallbackWithBlock): Deleted. * Source/WebGPU/WebGPU/Instance.mm: (wgpuInstanceRequestAdapter): (wgpuInstanceRequestAdapterWithBlock): Deleted. * Source/WebGPU/WebGPU/Queue.mm: (wgpuQueueOnSubmittedWorkDoneWithBlock): Deleted. * Source/WebGPU/WebGPU/ShaderModule.mm: (wgpuShaderModuleGetCompilationInfoWithBlock): Deleted. * Source/WebGPU/WebGPU/WebGPUExt.h: Canonical link: https://commits.webkit.org/264893@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aba48e: Object replacement character (0xFFFC) generates nu...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aba48e65ac8b5a624f37a9be944e686e552d89b7 https://github.com/WebKit/WebKit/commit/aba48e65ac8b5a624f37a9be944e686e552d89b7 Author: Myles C. Maxfield Date: 2023-06-05 (Mon, 05 Jun 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/fast/text/zero-width-characters-complex-script.html M LayoutTests/fast/text/zero-width-characters.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-combine-emphasis-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-combine-emphasis.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-1-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-1.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-2-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-2.html M Source/WebCore/platform/graphics/FontCascade.h Log Message: --- Object replacement character (0xFFFC) generates null (0) glyph https://bugs.webkit.org/show_bug.cgi?id=255298 rdar://107897203 Reviewed by Cameron McCormack. The spec doesn't say anything about the object replacement character being deleted. Neither Chrome nor Firefox delete the object replacement character. Tests are being upstreamed at https://github.com/web-platform-tests/wpt/pull/40391. * LayoutTests/TestExpectations: * LayoutTests/fast/text/zero-width-characters-complex-script.html: * LayoutTests/fast/text/zero-width-characters.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-combine-emphasis-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-combine-emphasis.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-1-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-1.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-2-expected-mismatch.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/object-replacement-2.html: Added. * Source/WebCore/platform/graphics/FontCascade.h: (WebCore::FontCascade::isCharacterWhoseGlyphsShouldBeDeletedForTextRendering): (WebCore::FontCascade::treatAsZeroWidthSpaceInComplexScript): Canonical link: https://commits.webkit.org/264886@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 979cf8: [WebGPU] Create and use WebGPUPtr in PAL/WebGPU/Impl
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 979cf8ac345234798678bcf7233e344cf41bc829 https://github.com/WebKit/WebKit/commit/979cf8ac345234798678bcf7233e344cf41bc829 Author: Myles C. Maxfield Date: 2023-06-05 (Mon, 05 Jun 2023) Changed paths: M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj M Source/WebCore/PAL/pal/CMakeLists.txt M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCreateImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h R Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceWrapper.cpp R Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceWrapper.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUPresentationContextImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUPresentationContextImpl.h A Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUPtr.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.h R Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUSwapChainWrapper.cpp R Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUSwapChainWrapper.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.h M Source/WebGPU/WebGPU/ExternalTexture.mm M Source/WebGPU/WebGPU/PresentationContext.mm M Source/WebGPU/WebGPU/WebGPUExt.h Log Message: --- [WebGPU] Create and use WebGPUPtr in PAL/WebGPU/Impl https://bugs.webkit.org/show_bug.cgi?id=257672 rdar://110198845 Reviewed by Mike Wyrzykowski. Now that WGPU objects are reference counted, we can create WebGPUPtr, which is a type alias of RefPtr, with custom traits to hook up the appropriate ref and deref methods. This patch does so, and migrates all our classes in PAL/WebGPU/Impl to use it. This allows the destructors of all these classes to be empty, because destroying the WGPU object is handled automatically
[webkit-changes] [WebKit/WebKit] 522c36: Rename LazyLineBreakIterator to CachedTextBreakIte...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 522c36c64af3fa1b643f3f5c7458571b96b5af9b https://github.com/WebKit/WebKit/commit/522c36c64af3fa1b643f3f5c7458571b96b5af9b Author: Myles C. Maxfield Date: 2023-06-05 (Mon, 05 Jun 2023) Changed paths: M Source/WTF/wtf/text/TextBreakIterator.h M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h M Source/WebCore/rendering/BreakLines.h M Source/WebCore/rendering/LegacyLineLayout.cpp M Source/WebCore/rendering/RenderBlockFlow.h M Source/WebCore/rendering/RenderRubyBase.cpp M Source/WebCore/rendering/RenderRubyBase.h M Source/WebCore/rendering/RenderRubyRun.cpp M Source/WebCore/rendering/RenderRubyRun.h M Source/WebCore/rendering/RenderRubyText.cpp M Source/WebCore/rendering/RenderRubyText.h M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/line/BreakingContext.h M Source/WebCore/rendering/line/LineBreaker.h M Source/WebKitLegacy/ios/Misc/WebUIKitSupport.mm M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp Log Message: --- Rename LazyLineBreakIterator to CachedTextBreakIteratorFactory https://bugs.webkit.org/show_bug.cgi?id=257696 rdar://110237360 Reviewed by Cameron McCormack. LazyLineBreakIterator isn't actually an iterator. It's really just a class that holds all the parameters necessary to create an iterator. We use it so that we can populate these parameters at the top of layout code, but if it turns out we don't actually need an iterator (e.g. the element is empty or something) we don't actually create the iterator until we need to. Therefore, it really should be called a factory, rather than an iterator itself. * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::CachedTextBreakIteratorFactory::CachedTextBreakIteratorFactory): (WTF::LazyLineBreakIterator::PriorContext::PriorContext): Deleted. (WTF::LazyLineBreakIterator::PriorContext::lastCharacter const): Deleted. (WTF::LazyLineBreakIterator::PriorContext::secondToLastCharacter const): Deleted. (WTF::LazyLineBreakIterator::PriorContext::set): Deleted. (WTF::LazyLineBreakIterator::PriorContext::update): Deleted. (WTF::LazyLineBreakIterator::PriorContext::reset): Deleted. (WTF::LazyLineBreakIterator::PriorContext::length const): Deleted. (WTF::LazyLineBreakIterator::PriorContext::characters const): Deleted. (WTF::LazyLineBreakIterator::LazyLineBreakIterator): Deleted. (WTF::LazyLineBreakIterator::stringView const): Deleted. (WTF::LazyLineBreakIterator::mode const): Deleted. (WTF::LazyLineBreakIterator::get): Deleted. (WTF::LazyLineBreakIterator::resetStringAndReleaseIterator): Deleted. (WTF::LazyLineBreakIterator::priorContext const): Deleted. (WTF::LazyLineBreakIterator::priorContext): Deleted. * Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp: (WebCore::Layout::moveToNextBreakablePosition): (WebCore::Layout::InlineItemsBuilder::handleTextContent): * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::endsWithSoftWrapOpportunity): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp: (WebCore::Layout::TextUtil::findNextBreakablePosition): * Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h: * Source/WebCore/rendering/BreakLines.h: (WebCore::nextBreakablePosition): (WebCore::nextBreakablePositionKeepingAllWords): (WebCore::nextBreakablePositionKeepingAllWordsIgnoringNBSP): (WebCore::nextBreakablePositionIgnoringNBSP): (WebCore::nextBreakablePositionWithoutShortcut): (WebCore::nextBreakablePositionIgnoringNBSPWithoutShortcut): (WebCore::nextBreakablePositionBreakCharacter): (WebCore::isBreakable): * Source/WebCore/rendering/RenderBlockFlow.h: (WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded): * Source/WebCore/rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::cachePriorCharactersIfNeeded): * Source/WebCore/rendering/RenderRubyBase.h: * Source/WebCore/rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator const): (WebCore::RenderRubyRun::canBreakBefore const): * Source/WebCore/rendering/RenderRubyRun.h: * Source/WebCore/rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::canBreakBefore const): * Source/WebCore/rendering/RenderRubyText.h: * Source/WebCore/rendering/RenderText.cpp: (WebCore::RenderText::computePreferredLogicalWidths): * Source/WebCore/rendering/line/LineBreaker.h: * Source/WebKitLegacy/ios/Misc/WebUIKitSupport.mm: (WebKitGetLastLineBreakInBuffer): * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/264858@main ___ webkit-changes mailing list webkit
[webkit-changes] [WebKit/WebKit] 219fc0: [WebGPU] Update WebGPU.h to upstream ToT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 219fc036fbe9fe884fd02b5e4412517cd59e4c6e https://github.com/WebKit/WebKit/commit/219fc036fbe9fe884fd02b5e4412517cd59e4c6e Author: Myles C. Maxfield Date: 2023-06-02 (Fri, 02 Jun 2023) Changed paths: M Source/WebCore/Modules/WebGPU/GPUDevice.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h M Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDevice.h M Source/WebGPU/WebGPU/Adapter.mm M Source/WebGPU/WebGPU/BindGroup.mm M Source/WebGPU/WebGPU/BindGroupLayout.mm M Source/WebGPU/WebGPU/Buffer.mm M Source/WebGPU/WebGPU/CommandBuffer.mm M Source/WebGPU/WebGPU/CommandEncoder.mm M Source/WebGPU/WebGPU/ComputePassEncoder.mm M Source/WebGPU/WebGPU/ComputePipeline.mm M Source/WebGPU/WebGPU/Device.h M Source/WebGPU/WebGPU/Device.mm M Source/WebGPU/WebGPU/Instance.mm M Source/WebGPU/WebGPU/PipelineLayout.mm M Source/WebGPU/WebGPU/PresentationContext.mm M Source/WebGPU/WebGPU/QuerySet.mm M Source/WebGPU/WebGPU/Queue.mm M Source/WebGPU/WebGPU/RenderBundle.mm M Source/WebGPU/WebGPU/RenderBundleEncoder.mm M Source/WebGPU/WebGPU/RenderPassEncoder.mm M Source/WebGPU/WebGPU/RenderPipeline.mm M Source/WebGPU/WebGPU/Sampler.mm M Source/WebGPU/WebGPU/ShaderModule.mm M Source/WebGPU/WebGPU/Texture.mm M Source/WebGPU/WebGPU/TextureView.mm M Source/WebGPU/WebGPU/WebGPU.h M Source/WebGPU/WebGPU/WebGPUExt.h M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h Log Message: --- [WebGPU] Update WebGPU.h to upstream ToT https://bugs.webkit.org/show_bug.cgi?id=257640 Reviewed by Mike Wyrzykowski. This updates WebGPU.h to the revision 245130311ef771c958ba43c322aa7ef1f9edfb8f at https://github.com/webgpu-native/webgpu-headers. This does a few things: - All objects get retain/release calls. This is really exciting because it means can delete PAL::WebGPU::DeviceWrapper and PAL::WebGPU::SwapChainWrapper. I'll do that in a follow-up patch. Also, we can delete the release calls from WebGPUExt.h. - The header now has places to put NS_REFINED_FOR_SWIFT. I've already started creating a Swift facade which can use this at https://github.com/WebKit/WebKit/pull/13849 - The header now has places to put nullability macros. I'll do this in a follow- up patch. - The device lost callback has moved from being set in a method to being part of the device's creation descriptor. (This means it no longer can change during the lifetime of the device, but instead has to be constant for a device.) I ended up actually deleting the implementation of this, because the model is significantly different now; it's now a "push" operation from the GPUP to the WP, rather than a "pull" model. I'll reimplement this in a follow-up patch. - A few enums have been tweaked. * Source/WebCore/Modules/WebGPU/GPUDevice.cpp: (WebCore::GPUDevice::lost): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp: (PAL::WebGPU::supportedFeatures): (PAL::WebGPU::AdapterImpl::requestDevice): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::DeviceImpl::resolveDeviceLostPromise): Deleted. * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h: * Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUDevice.h: * Source/WebGPU/WebGPU/Adapter.mm: (wgpuAdapterReference): * Source/WebGPU/WebGPU/BindGroup.mm: (wgpuBindGroupReference): * Source/WebGPU/WebGPU/BindGroupLayout.mm: (wgpuBindGroupLayoutReference): * Source/WebGPU/WebGPU/Buffer.mm: (WebGPU::Buffer::mapAsync): (wgpuBufferReference): * Source/WebGPU/WebGPU/CommandBuffer.mm: (wgpuCommandBufferReference): * Source/WebGPU/WebGPU/CommandEncoder.mm: (wgpuCommandEncoderReference): * Source/WebGPU/WebGPU/ComputePassEncoder.mm: (wgpuComputePassEncoderReference): * Source/WebGPU/WebGPU/ComputePipeline.mm: (wgpuComputePipelineReference): * Source/WebGPU/WebGPU/Device.h: * Source/WebGPU/WebGPU/Device.mm: (wgpuDeviceReference): (wgpuDevicePopErrorScope): (wgpuDevicePopErrorScopeWithBlock): (WebGPU::Device::setDeviceLostCallback): Deleted. (wgpuDeviceSetDeviceLostCallback): Deleted. (wgpuDeviceSetDeviceLostCallbackWithBlock): Deleted. * Source/WebGPU/WebGPU/Instance.mm: (wgpuInstanceReference): * Source/WebGPU/WebGPU/PipelineLayout.mm: (wgpuPipelineLayoutReference): * Source/WebGPU/WebGPU/PresentationContext.mm: (wgpuSurfaceReference): (wg
[webkit-changes] [WebKit/WebKit] 9ad6a1: Migrate from LineBreakIteratorPool to TextBreakIte...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9ad6a13de3e52c7b45ff4af2d68819ef64facf1c https://github.com/WebKit/WebKit/commit/9ad6a13de3e52c7b45ff4af2d68819ef64facf1c Author: Myles C. Maxfield Date: 2023-06-02 (Fri, 02 Jun 2023) Changed paths: M Source/WTF/WTF.xcodeproj/project.pbxproj M Source/WTF/wtf/CMakeLists.txt R Source/WTF/wtf/text/LineBreakIteratorPoolICU.cpp R Source/WTF/wtf/text/LineBreakIteratorPoolICU.h M Source/WTF/wtf/text/TextBreakIterator.cpp M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h M Source/WebCore/rendering/BreakLines.h Log Message: --- Migrate from LineBreakIteratorPool to TextBreakIteratorCache https://bugs.webkit.org/show_bug.cgi?id=257590 rdar://110097890 Reviewed by Yusuke Suzuki. We have two different classes which do the same thing. I've been working on deduplicating them, and this is the last step. Microbenchmarks say there isn't a performance difference - presumably because we're still using ICU to do line breaking. We're just using a different intermediate class to get there. (And if the microbenchmarks say there isn't a performance difference, then normal benchmarks certainly won't say that there's a performance difference.) * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/CMakeLists.txt: * Source/WTF/wtf/text/LineBreakIteratorPoolICU.cpp: Removed. * Source/WTF/wtf/text/LineBreakIteratorPoolICU.h: Removed. * Source/WTF/wtf/text/TextBreakIterator.cpp: (WTF::acquireLineBreakIterator): Deleted. (WTF::releaseLineBreakIterator): Deleted. (WTF::openLineBreakIterator): Deleted. (WTF::closeLineBreakIterator): Deleted. * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::CachedTextBreakIterator::~CachedTextBreakIterator): (WTF::CachedTextBreakIterator::CachedTextBreakIterator): (WTF::CachedTextBreakIterator::operator=): (WTF::CachedTextBreakIterator::preceding const): (WTF::CachedTextBreakIterator::following const): (WTF::CachedTextBreakIterator::isBoundary const): (WTF::LazyLineBreakIterator::get): (WTF::LazyLineBreakIterator::resetStringAndReleaseIterator): (WTF::LazyLineBreakIterator::~LazyLineBreakIterator): Deleted. * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: * Source/WebCore/rendering/BreakLines.h: (WebCore::nextBreakablePosition): Canonical link: https://commits.webkit.org/264825@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 531ad5: Update TextBreakIterator's API to support prior co...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 531ad5e6cac68fc0d7e9dc9b8bd4205f6f6821df https://github.com/WebKit/WebKit/commit/531ad5e6cac68fc0d7e9dc9b8bd4205f6f6821df Author: Myles C. Maxfield Date: 2023-05-31 (Wed, 31 May 2023) Changed paths: M Source/WTF/wtf/text/TextBreakIterator.cpp M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h M Source/WebCore/platform/graphics/ComplexTextController.cpp M Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h M Source/WebCore/rendering/RenderText.cpp M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp Log Message: --- Update TextBreakIterator's API to support prior context https://bugs.webkit.org/show_bug.cgi?id=257529 Reviewed by Yusuke Suzuki. Now that TextBreakIteratorCF and TextBreakIteratorICU both support prior context, we can hook it up to TextBreakIterator's API. After this patch, all the features supported by LazyLineBreakIterator are supported by TextBreakIterator, so we can switch over from from using LazyLineBreakIterator to TextBreakIterator whenever we want. However, before making the switch, we still need to determine if there is a performance cost to doing so. * Source/WTF/wtf/text/TextBreakIterator.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): (WTF::TextBreakIterator::TextBreakIterator): * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::TextBreakIterator::setText): (WTF::TextBreakIteratorCache::take): (WTF::CachedTextBreakIterator::CachedTextBreakIterator): * Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): (WTF::TextBreakIterator::TextBreakIterator): * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::TextBreakIteratorICU): * Source/WebCore/platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::offsetForPosition): (WebCore::ComplexTextController::collectComplexTextRuns): * Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h: (WebCore::ComposedCharacterClusterTextIterator::ComposedCharacterClusterTextIterator): * Source/WebCore/rendering/RenderText.cpp: (WebCore::RenderText::previousOffset const): (WebCore::RenderText::previousOffsetForBackwardDeletion const): (WebCore::RenderText::nextOffset const): * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/264772@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2b7342: [Cocoa] Delete WebKitPrivateFrameworkStubs for ope...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2b73425793c0cefb5049f19cdef7c2d2dac9ab01 https://github.com/WebKit/WebKit/commit/2b73425793c0cefb5049f19cdef7c2d2dac9ab01 Author: Myles C. Maxfield Date: 2023-05-31 (Wed, 31 May 2023) Changed paths: R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/AuthKit.framework/AuthKit.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/HID.framework/HID.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/libFontParser.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/AuthKit.framework/AuthKit.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/HID.framework/HID.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/libFontParser.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/AuthKit.framework/AuthKit.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/HID.framework/HID.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/libFontParser.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/AppSupport.framework/AppSupport.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/CorePrediction.framework/CorePrediction.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/FileProvider.framework/FileProvider.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/GraphicsServices.framework/GraphicsServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/PrototypeTools.framework/PrototypeTools.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/RunningBoardServices.framework/RunningBoardServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/libFontParser.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/AppServerSupport.framework/AppServerSupport.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/AppSupport.framework/AppSupport.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/AuthKit.framework/AuthKit.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/BackBoardServices.framework/BackBoardServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/CorePrediction.framework/CorePrediction.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/GraphicsServices.framework/GraphicsServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/InstallCoordination.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/PrototypeTools.framework/PrototypeTools.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/RunningBoardServices.framework/RunningBoardServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/URLFormatting.framework/URLFormatting.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/VisionKitCore.framework/VisionKitCore.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/libFontParser.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/AppSupport.framework/AppSupport.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/CorePrediction.framework/CorePrediction.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/FileProvider.framework/FileProvider.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/GraphicsServices.framework/GraphicsServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/PepperUICore.framework/PepperUICore.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/PrototypeTools.framework/PrototypeTools.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/RunningBoardServices.framework/RunningBoardServices.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/URLFormatting.framework/URLFormatting.tbd R WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/libFontParser.tbd Log Message: --- [Cocoa] Delete WebKitPrivateFrameworkStubs for operating systems we don't support any more https://bugs.webkit.org/show_bug.cgi?id=257555 rdar://110074446 Reviewed by Alexey Proskuryakov. According to https://build.webkit.org/dashboard/, we no longer support: - Anything before macOS 12 - Anything before tvOS 16 - Anything before iOS 16 - Anything before watchOS 9 * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/AuthKit.framework/AuthKit.tbd: Removed
[webkit-changes] [WebKit/WebKit] 1693e2: [Cocoa] [GPUP] Compressed fonts are decompressed t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1693e2b8edc6ac2cdc07abcd87d90499250831f9 https://github.com/WebKit/WebKit/commit/1693e2b8edc6ac2cdc07abcd87d90499250831f9 Author: Myles C. Maxfield Date: 2023-05-31 (Wed, 31 May 2023) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig M Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h M Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/12/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/13/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/16/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/16/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/9/libFontParser.tbd Log Message: --- [Cocoa] [GPUP] Compressed fonts are decompressed twice, which is one too many times https://bugs.webkit.org/show_bug.cgi?id=257401 rdar://109910582 Reviewed by David Kilzer. Previously, the way we were sharing web fonts between the web process and the GPU process is by simply transferring the bytes of the file, and asking Core Text to open the data. Both processes need to use the font, so this means Core Text was being asked to open the data twice. This actually has somewhat significant cost, as many fonts are compressed, and simply opening it has to decompress the file. This patch uses an SPI function to produce the decompressed bytes, without opening the font. This allows us to retain the decompressed bytes, and send them to the GPU process. By decompressing early, we can decompress once, and then use the decompressed bytes everywhere. This means we only have to decompress fonts once. * Source/WebCore/Configurations/WebCore.xcconfig: * Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h: * Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp: (WebCore::createFontCustomPlatformData): * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/12/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/13/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/16/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/16/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/libFontParser.tbd: Added. * WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/9/libFontParser.tbd: Added. Canonical link: https://commits.webkit.org/264750@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 21ab6b: [Cocoa] [GPUP] Compressed fonts are decompressed t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 21ab6bc788f21a099b61fa1ead9f7ba048d7c687 https://github.com/WebKit/WebKit/commit/21ab6bc788f21a099b61fa1ead9f7ba048d7c687 Author: Myles C. Maxfield Date: 2023-05-31 (Wed, 31 May 2023) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig M Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h M Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101500/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101600/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/11/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/12/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/13/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/15/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/16/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/16/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/8/libFontParser.tbd A WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/9/libFontParser.tbd Log Message: --- [Cocoa] [GPUP] Compressed fonts are decompressed twice, which is one too many times https://bugs.webkit.org/show_bug.cgi?id=257401 rdar://109910582 Reviewed by David Kilzer. Previously, the way we were sharing web fonts between the web process and the GPU process is by simply transferring the bytes of the file, and asking Core Text to open the data. Both processes need to use the font, so this means Core Text was being asked to open the data twice. This actually has somewhat significant cost, as many fonts are compressed, and simply opening it has to decompress the file. This patch uses an SPI function to produce the decompressed bytes, without opening the font. This allows us to retain the decompressed bytes, and send them to the GPU process. By decompressing early, we can decompress once, and then use the decompressed bytes everywhere. This means we only have to decompress fonts once. * Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h: * Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp: (WebCore::createFontCustomPlatformData): Canonical link: https://commits.webkit.org/264724@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b42c0d: Hook "prior context" infrastructure up to TextBrea...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b42c0d74cd2e6aa99232eeb0f0267c4a3e660d04 https://github.com/WebKit/WebKit/commit/b42c0d74cd2e6aa99232eeb0f0267c4a3e660d04 Author: Myles C. Maxfield Date: 2023-05-31 (Wed, 31 May 2023) Changed paths: M Source/WTF/wtf/text/NullTextBreakIterator.h M Source/WTF/wtf/text/TextBreakIterator.cpp M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/cf/TextBreakIteratorCF.h M Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h M Source/WTF/wtf/text/icu/UTextProviderLatin1.h M Source/WTF/wtf/text/icu/UTextProviderUTF16.h M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp Log Message: --- Hook "prior context" infrastructure up to TextBreakIteratorICU https://bugs.webkit.org/show_bug.cgi?id=257469 rdar://109989795 Reviewed by Alan Baradlay. This patch is the next step toward replacing LazyLineBreakIterator with TextBreakIterator. This "prior context" infrastructure is the last feature that LazyLineBreakIterator supports that TextBreakIterator doesn't. Because LazyLineBreakIterator already uses ICU, hooking up support to TextBreakIteratorICU is quite straightforward. Once this piece and https://bugs.webkit.org/show_bug.cgi?id=257467 are landed, TextBreakIterator will support all the features as LazyLineBreakIterator. At that point, we can compare performance to determine if we can make the switch over, and determine if we can do line breaking using platform iterators instead of ICU. * Source/WTF/wtf/text/NullTextBreakIterator.h: (WTF::NullTextBreakIterator::setText): * Source/WTF/wtf/text/TextBreakIterator.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::TextBreakIterator::setText): * Source/WTF/wtf/text/cf/TextBreakIteratorCF.h: (WTF::TextBreakIteratorCF::setText): * Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::TextBreakIteratorICU): (WTF::TextBreakIteratorICU::~TextBreakIteratorICU): (WTF::TextBreakIteratorICU::setText): (WTF::TextBreakIteratorICU::preceding const): (WTF::TextBreakIteratorICU::following const): (WTF::TextBreakIteratorICU::isBoundary const): (WTF::TextBreakIteratorICU::set8BitText): Deleted. * Source/WTF/wtf/text/icu/UTextProviderLatin1.h: * Source/WTF/wtf/text/icu/UTextProviderUTF16.h: * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/264722@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7d9c04: [Cocoa] Hook "prior context" infrastructure up to ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7d9c042f3a2b131e83b2fed0647f75c5aff524e5 https://github.com/WebKit/WebKit/commit/7d9c042f3a2b131e83b2fed0647f75c5aff524e5 Author: Myles C. Maxfield Date: 2023-05-30 (Tue, 30 May 2023) Changed paths: M Source/WTF/WTF.xcodeproj/project.pbxproj M Source/WTF/wtf/text/NullTextBreakIterator.h M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/cf/TextBreakIteratorCF.h M Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h M Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h A Source/WTF/wtf/text/cocoa/ContextualizedCFString.h A Source/WTF/wtf/text/cocoa/ContextualizedCFString.mm M Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp M Tools/TestWebKitAPI/Tests/WTF/cocoa/ContextualizedNSString.mm Log Message: --- [Cocoa] Hook "prior context" infrastructure up to TextBreakIteratorCF https://bugs.webkit.org/show_bug.cgi?id=257467 rdar://109983296 Reviewed by Alan Baradlay. This patch is the next step to being able to use platform text iterators to break lines. Previously, I implemented ContextualizedNSString, which is a subclass of NSString whose backing store is 2 StringViews: one for the prior context of the string at hand, and one for the string at hand itself. This patch hooks up ContextualizedNSString to our TextBreakIteratorCF class, to allow TextBreakIteratorCF to work with prior context. This is necessary because our line breaking code requires this prior context to work correctly, and TextBreakIterator is the object which has a Core Foundation backend. If we want to be able to do line breaking using Core Foundation, this patch is necessary. The next patch will do something similar for TextBreakIteratorICU (which we luckily already have UText support for). Once that's done, we should be able to migrate entirely from LazyLineBreakIterator to TextBreakIterator. * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::TextBreakIterator::setText): * Source/WTF/wtf/text/cf/TextBreakIteratorCF.h: (WTF::TextBreakIteratorCF::TextBreakIteratorCF): (WTF::TextBreakIteratorCF::setText): (WTF::TextBreakIteratorCF::mapModeToBackingIterator): * Source/WTF/wtf/text/cf/TextBreakIteratorCFCharacterCluster.h: (WTF::TextBreakIteratorCFCharacterCluster::TextBreakIteratorCFCharacterCluster): (WTF::TextBreakIteratorCFCharacterCluster::setText): (WTF::TextBreakIteratorCFCharacterCluster::preceding const): (WTF::TextBreakIteratorCFCharacterCluster::following const): (WTF::TextBreakIteratorCFCharacterCluster::isBoundary const): * Source/WTF/wtf/text/cf/TextBreakIteratorCFStringTokenizer.h: (WTF::TextBreakIteratorCFStringTokenizer::TextBreakIteratorCFStringTokenizer): (WTF::TextBreakIteratorCFStringTokenizer::setText): (WTF::TextBreakIteratorCFStringTokenizer::preceding const): (WTF::TextBreakIteratorCFStringTokenizer::following const): (WTF::TextBreakIteratorCFStringTokenizer::isBoundary const): * Source/WTF/wtf/text/cocoa/ContextualizedCFString.h: Added. * Source/WTF/wtf/text/cocoa/ContextualizedCFString.mm: Added. (WTF::createContextualizedCFString): * Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: (WTF::TextBreakIterator::mapModeToBackingIterator): * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::setText): * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WTF/cocoa/ContextualizedNSString.mm: (TEST): Canonical link: https://commits.webkit.org/264714@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] da000f: [Cocoa] Add ContextualizedNSString, to allow line ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: da000fdb0dc70c5758b808a5bbad99178068bb87 https://github.com/WebKit/WebKit/commit/da000fdb0dc70c5758b808a5bbad99178068bb87 Author: Myles C. Maxfield Date: 2023-05-23 (Tue, 23 May 2023) Changed paths: M Source/WTF/WTF.xcodeproj/project.pbxproj A Source/WTF/wtf/text/cocoa/ContextualizedNSString.h A Source/WTF/wtf/text/cocoa/ContextualizedNSString.mm M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WTF/cocoa/ContextualizedNSString.mm Log Message: --- [Cocoa] Add ContextualizedNSString, to allow line breaking to use Core Foundation but also work with prior context https://bugs.webkit.org/show_bug.cgi?id=257244 rdar://109747545 Reviewed by Yusuke Suzuki. In WebKit, we (may) create a new line breaker for each element on the line. This means that, in order to perform line breaking correctly, the line breaker needs to know about the last few characters that came at the end of the previous element - we call this a "prior context." The problem here is that this prior context isn't contiguous in memory with the string being inspected; it's part of a different string altogether. Core Foundation has facilities to perform line breaking. If we want to perform line breaking using these facilities, it has to be possible to make CFString work with this "prior context." CFString either A) copies and owns its character contents, or B) only accepts a single pointer to string contents, which it doesn't own. That's not quite what we want: we want it to take 2 pointers to string contents, and act as if the contents of those 2 strings are concatenated. The standard way of doing this is to subclass NSString. This sounds scary, but it's actually a totally normal thing to do. There's even a whole section in the docs[1] about how to do it, for exactly this use case. Because NSStrings are toll-free bridged with CFStrings, the CFString methods end up calling our overridden Objective C NSString methods. This is how we can make Core Foundation's line breaking work with prior context. This patch adds a new NSString subclass, called ContextualizedNSString, and tests it in TestWTF. It doesn't actually start using it in WTF yet. I'll do that in another patch. [1] https://developer.apple.com/documentation/foundation/nsstring?language=objc * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/text/cocoa/ContextualizedNSString.h: Added. * Source/WTF/wtf/text/cocoa/ContextualizedNSString.mm: Added. (-[ContextualizedNSString initWithContext:contents:]): (-[ContextualizedNSString length]): (-[ContextualizedNSString characterAtIndex:]): (-[ContextualizedNSString getCharacters:range:]): * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WTF/cocoa/ContextualizedNSString.mm: Added. (TEST): Canonical link: https://commits.webkit.org/264454@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b5583c: Pull out LazyLineBreakIterator's prior context han...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b5583c5d124d54f19e8e87f3f9daad7450495656 https://github.com/WebKit/WebKit/commit/b5583c5d124d54f19e8e87f3f9daad7450495656 Author: Myles C. Maxfield Date: 2023-05-23 (Tue, 23 May 2023) Changed paths: M Source/WTF/wtf/text/TextBreakIterator.h M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp M Source/WebCore/rendering/BreakLines.h M Source/WebCore/rendering/LegacyLineLayout.cpp M Source/WebCore/rendering/RenderRubyBase.cpp M Source/WebCore/rendering/RenderRubyRun.cpp M Source/WebCore/rendering/RenderRubyText.cpp M Source/WebCore/rendering/line/BreakingContext.h M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp Log Message: --- Pull out LazyLineBreakIterator's prior context handling into a separate class https://bugs.webkit.org/show_bug.cgi?id=257115 rdar://109646131 Reviewed by Yusuke Suzuki. LazyLineBreakIterator is really a factory, which holds the necessary parameters to create line break iterators. But, it also has a bunch of handling for a "prior context" which is conceptually a prefix to the string being broken. This patch isn't strictly necessary, but I thought it would be a bit more elegant to have a class separation between the two pieces of LazyLineBreakIterator. * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::LazyLineBreakIterator::PriorContext::PriorContext): (WTF::LazyLineBreakIterator::PriorContext::lastCharacter const): (WTF::LazyLineBreakIterator::PriorContext::secondToLastCharacter const): (WTF::LazyLineBreakIterator::PriorContext::set): (WTF::LazyLineBreakIterator::PriorContext::update): (WTF::LazyLineBreakIterator::PriorContext::reset): (WTF::LazyLineBreakIterator::PriorContext::length const): (WTF::LazyLineBreakIterator::PriorContext::characters const): (WTF::LazyLineBreakIterator::LazyLineBreakIterator): (WTF::LazyLineBreakIterator::get): (WTF::LazyLineBreakIterator::resetStringAndReleaseIterator): (WTF::LazyLineBreakIterator::priorContext const): (WTF::LazyLineBreakIterator::priorContext): (WTF::TextBreakIteratorCache::TextBreakIteratorCache): Deleted. (WTF::LazyLineBreakIterator::lastCharacter const): Deleted. (WTF::LazyLineBreakIterator::secondToLastCharacter const): Deleted. (WTF::LazyLineBreakIterator::setPriorContext): Deleted. (WTF::LazyLineBreakIterator::updatePriorContext): Deleted. (WTF::LazyLineBreakIterator::resetPriorContext): Deleted. (WTF::LazyLineBreakIterator::priorContextLength const): Deleted. * Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp: (WebCore::Layout::endsWithSoftWrapOpportunity): * Source/WebCore/rendering/BreakLines.h: (WebCore::nextBreakablePosition): * Source/WebCore/rendering/LegacyLineLayout.cpp: (WebCore::LegacyLineLayout::layoutRunsAndFloatsInRange): * Source/WebCore/rendering/RenderRubyBase.cpp: (WebCore::RenderRubyBase::cachePriorCharactersIfNeeded): * Source/WebCore/rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator const): * Source/WebCore/rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::canBreakBefore const): * Source/WebCore/rendering/line/BreakingContext.h: (WebCore::BreakingContext::handleOutOfFlowPositioned): (WebCore::BreakingContext::handleFloat): (WebCore::BreakingContext::handleReplaced): (WebCore::BreakingContext::handleText): Canonical link: https://commits.webkit.org/26@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 936c42: [WebGPU] Give BindGroupLayouts a notion of externa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 936c42734f58a0b09f482a6ba86ba339cfa71164 https://github.com/WebKit/WebKit/commit/936c42734f58a0b09f482a6ba86ba339cfa71164 Author: Myles C. Maxfield Date: 2023-05-23 (Tue, 23 May 2023) Changed paths: M Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.idl M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp M Source/WebCore/html/canvas/GPUCanvasContextCocoa.mm M Source/WebGPU/WGSL/WGSL.h M Source/WebGPU/WebGPU/BindGroup.mm M Source/WebGPU/WebGPU/BindGroupLayout.h M Source/WebGPU/WebGPU/BindGroupLayout.mm M Source/WebGPU/WebGPU/Instance.h M Source/WebGPU/WebGPU/Pipeline.h M Source/WebGPU/WebGPU/PresentationContext.h M Source/WebGPU/WebGPU/RenderPipeline.mm M Source/WebGPU/WebGPU/ShaderModule.mm M Source/WebGPU/WebGPU/WebGPUExt.h Log Message: --- [WebGPU] Give BindGroupLayouts a notion of external textures (like BindGroups have) https://bugs.webkit.org/show_bug.cgi?id=257055 rdar://109585492 Reviewed by Mike Wyrzykowski. Just like we added WGPUBindGroupExternalTextureEntry to let bind groups be able to hold external textures, this patch adds the corresponding WGPUExternalTextureBindGroupLayoutEntry to bind group layouts. Note that the external texture handling added by this patch doesn't actually hook up all the necessary pieces to the MTLArgumetnDescriptors. This patch instead just creates the concept of a BGL's external texture, and the details can be filled in in a subsequent patch. I've also included a few drive-by style improvements, too. * Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.idl: * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::DeviceImpl::createBindGroupLayout): * Source/WebCore/html/canvas/GPUCanvasContextCocoa.mm: (WebCore::GPUCanvasContextCocoa::configure): * Source/WebGPU/WGSL/WGSL.h: * Source/WebGPU/WebGPU/BindGroup.mm: (WebGPU::Device::createBindGroup): * Source/WebGPU/WebGPU/BindGroupLayout.h: (WebGPU::BindGroupLayout::create): (WebGPU::BindGroupLayout::entries const): * Source/WebGPU/WebGPU/BindGroupLayout.mm: (WebGPU::createArgumentDescriptor): (WebGPU::BindGroupLayout::isPresent): (WebGPU::Device::createBindGroupLayout): (WebGPU::BindGroupLayout::BindGroupLayout): (WebGPU::BindGroupLayout::entries const): Deleted. * Source/WebGPU/WebGPU/Instance.h: * Source/WebGPU/WebGPU/Pipeline.h: * Source/WebGPU/WebGPU/PresentationContext.h: * Source/WebGPU/WebGPU/RenderPipeline.mm: (WebGPU::Device::createRenderPipeline): (WebGPU::RenderPipeline::getBindGroupLayout): * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::convertBindingLayout): (WebGPU::ShaderModule::convertPipelineLayout): (WebGPU::populateBindingMember): Deleted. * Source/WebGPU/WebGPU/WebGPUExt.h: Canonical link: https://commits.webkit.org/264437@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 80194d: [WebGPU] Remove unnecessary deprecation warnings
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 80194d7df7603cd7502cbc5030a58138b11b31a3 https://github.com/WebKit/WebKit/commit/80194d7df7603cd7502cbc5030a58138b11b31a3 Author: Myles C. Maxfield Date: 2023-05-23 (Tue, 23 May 2023) Changed paths: M Source/WTF/wtf/PlatformUse.h M Source/WebGPU/WebGPU/BindGroupLayout.mm Log Message: --- [WebGPU] Remove unnecessary deprecation warnings https://bugs.webkit.org/show_bug.cgi?id=257194 rdar://109707026 Reviewed by Mike Wyrzykowski. They're not necessary any more. * Source/WTF/wtf/PlatformUse.h: * Source/WebGPU/WebGPU/BindGroupLayout.mm: (WebGPU::createArgumentDescriptor): Canonical link: https://commits.webkit.org/264430@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 99eac4: Teach TextBreakIterator about strict and loose lin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 99eac467073eccfa5ff272ce4c8212273b2c1040 https://github.com/WebKit/WebKit/commit/99eac467073eccfa5ff272ce4c8212273b2c1040 Author: Myles C. Maxfield Date: 2023-05-22 (Mon, 22 May 2023) Changed paths: M Source/WTF/wtf/text/LineBreakIteratorPoolICU.h M Source/WTF/wtf/text/TextBreakIterator.cpp M Source/WTF/wtf/text/TextBreakIterator.h M Source/WTF/wtf/text/WTFString.h M Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp M Source/WTF/wtf/text/icu/TextBreakIteratorICU.h M Source/WebCore/platform/graphics/ComplexTextController.cpp M Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h M Source/WebCore/rendering/RenderText.cpp M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp Log Message: --- Teach TextBreakIterator about strict and loose line breaking behaviors https://bugs.webkit.org/show_bug.cgi?id=257108 rdar://109634206 Reviewed by Cameron McCormack. This is the first part of our line breaker refactoring. We currently have 2 totally separate classes, both of which can perform line breaking: TextBreakIterator and LazyLineBreakIterator. TextBreakIterator has multiple backends - it can be backed by either ICU or Core Foundation. It also supports all kinds of text segmentation: caret positions, grapheme cluster segmentation, etc. LazyLineBreakIterator only works with ICU, and can only do line breaking. However, it supports loose and strict line breaking modes, and supports a "prior context." It's kind of a shame that we have 2 classes which both do similar things, so I'm going to try to unify them into a single class which can do everything. I'd like to improve TextBreakIterator to be able to do everything that LazyLineBreakIterator can do, and then delete LazyLineBreakIterator, because I think that's going to be the most straightforward way of doing it. This patch teaches TextBreakIterator about the different line breaking behaviors, by turning the "mode" enum into a variant, and giving the Line struct a behavior enum. * Source/WTF/wtf/text/TextBreakIterator.cpp: (WTF::mapModeToBackingIterator): * Source/WTF/wtf/text/TextBreakIterator.h: (WTF::TextBreakIterator::LineMode::operator== const): (WTF::TextBreakIterator::CaretMode::operator== const): (WTF::TextBreakIterator::DeleteMode::operator== const): (WTF::TextBreakIterator::CharacterMode::operator== const): (WTF::LazyLineBreakIterator::get): (WTF::TextBreakIteratorCache::TextBreakIteratorCache): Deleted. * Source/WTF/wtf/text/WTFString.h: (WTF::StringLiterals::operator _str): * Source/WTF/wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: (WTF::mapModeToBackingIterator): * Source/WTF/wtf/text/icu/TextBreakIteratorICU.h: (WTF::TextBreakIteratorICU::TextBreakIteratorICU): (WTF::TextBreakIteratorICU::makeLocaleWithBreakKeyword): * Source/WebCore/platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::offsetForPosition): (WebCore::ComplexTextController::collectComplexTextRuns): * Source/WebCore/platform/graphics/ComposedCharacterClusterTextIterator.h: (WebCore::ComposedCharacterClusterTextIterator::ComposedCharacterClusterTextIterator): * Source/WebCore/rendering/RenderText.cpp: (WebCore::RenderText::previousOffset const): (WebCore::RenderText::previousOffsetForBackwardDeletion const): (WebCore::RenderText::nextOffset const): * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/264376@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bb2dde: [WebGPU] [Style] Lambdas in PAL/WebGPU capture mor...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bb2ddeb3d448c9b441e27b7e86dafc0657511bb6 https://github.com/WebKit/WebKit/commit/bb2ddeb3d448c9b441e27b7e86dafc0657511bb6 Author: Myles C. Maxfield Date: 2023-05-21 (Sun, 21 May 2023) Changed paths: M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCompositorIntegrationImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp Log Message: --- [WebGPU] [Style] Lambdas in PAL/WebGPU capture more than they should and don't have correct whitespacing https://bugs.webkit.org/show_bug.cgi?id=257064 rdar://109589314 Reviewed by Dan Glastonbury. This patch doesn't have any behavior change - it's just about style. I generally try to avoid capturing "this" in a lambda, as: 1. Lambdas don't usually need all the member variables inside "this", and it's always good to limit the scope of what's available 2. Depending on how the object is owned (RefPtr, unique_ptr, etc.), naively capturing "this" might lead to a UAF or a retain cycle, if you do it wrong. This patch removes most of the uses of capturing "this" inside PAL/WebGPU. * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.cpp: (PAL::WebGPU::AdapterImpl::requestDevice): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUCompositorIntegrationImpl.cpp: (PAL::WebGPU::CompositorIntegrationImpl::recreateRenderBuffers): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp: (PAL::WebGPU::ConvertToBackingContext::convertToBacking): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::DeviceImpl::createTexture): (PAL::WebGPU::DeviceImpl::createBindGroupLayout): (PAL::WebGPU::DeviceImpl::createPipelineLayout): (PAL::WebGPU::DeviceImpl::createBindGroup): (PAL::WebGPU::DeviceImpl::createShaderModule): (PAL::WebGPU::convertToBacking): (PAL::WebGPU::DeviceImpl::createComputePipeline): (PAL::WebGPU::DeviceImpl::createRenderPipeline): (PAL::WebGPU::DeviceImpl::createComputePipelineAsync): (PAL::WebGPU::DeviceImpl::createRenderPipelineAsync): (PAL::WebGPU::DeviceImpl::createRenderBundleEncoder): (PAL::WebGPU::DeviceImpl::resolveDeviceLostPromise): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUQueueImpl.cpp: (PAL::WebGPU::QueueImpl::submit): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.cpp: (PAL::WebGPU::RenderPassEncoderImpl::executeBundles): * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUTextureImpl.cpp: (PAL::WebGPU::TextureImpl::createView): Canonical link: https://commits.webkit.org/264308@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 597aa3: [WebGPU] Use UnsignedWithZeroKeyHashTraits in m_ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 597aa395dcdcdb2c1c48069f450f7419a30df72d https://github.com/WebKit/WebKit/commit/597aa395dcdcdb2c1c48069f450f7419a30df72d Author: Myles C. Maxfield Date: 2023-05-21 (Sun, 21 May 2023) Changed paths: M Source/WebGPU/WebGPU/ComputePipeline.h M Source/WebGPU/WebGPU/ComputePipeline.mm M Source/WebGPU/WebGPU/RenderPipeline.h M Source/WebGPU/WebGPU/RenderPipeline.mm Log Message: --- [WebGPU] Use UnsignedWithZeroKeyHashTraits in m_cachedBindGroupLayouts instead of adding 1 to the key https://bugs.webkit.org/show_bug.cgi?id=257068 Reviewed by Dan Glastonbury. This is exactly what UnsignedWithZeroKeyHashTraits is meant for. * Source/WebGPU/WebGPU/ComputePipeline.h: * Source/WebGPU/WebGPU/ComputePipeline.mm: (WebGPU::ComputePipeline::getBindGroupLayout): * Source/WebGPU/WebGPU/RenderPipeline.h: * Source/WebGPU/WebGPU/RenderPipeline.mm: (WebGPU::RenderPipeline::getBindGroupLayout): Canonical link: https://commits.webkit.org/264304@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 25578b: [WebGPU] [Style] Make lambdas in Modules/WebGPU ad...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 25578b6a979e8c70360904ef5e1e29d0e2ad4cc5 https://github.com/WebKit/WebKit/commit/25578b6a979e8c70360904ef5e1e29d0e2ad4cc5 Author: Myles C. Maxfield Date: 2023-05-21 (Sun, 21 May 2023) Changed paths: M Source/WebCore/Modules/WebGPU/GPU.cpp M Source/WebCore/Modules/WebGPU/GPUAdapter.cpp M Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.h M Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.h M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h M Source/WebCore/Modules/WebGPU/GPUBuffer.cpp M Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h M Source/WebCore/Modules/WebGPU/GPUColorDict.h M Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrite.h M Source/WebCore/Modules/WebGPU/GPUDevice.cpp M Source/WebCore/Modules/WebGPU/GPUDeviceDescriptor.h M Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h M Source/WebCore/Modules/WebGPU/GPUFragmentState.h M Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.h M Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.h M Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h M Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.h M Source/WebCore/Modules/WebGPU/GPUQueue.cpp M Source/WebCore/Modules/WebGPU/GPUQueue.idl M Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.h M Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.h M Source/WebCore/Modules/WebGPU/GPURenderPassLayout.h M Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrite.h M Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp M Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h M Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h M Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp M Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h M Source/WebCore/Modules/WebGPU/GPUVertexState.h Log Message: --- [WebGPU] [Style] Make lambdas in Modules/WebGPU adhere to the style guide https://bugs.webkit.org/show_bug.cgi?id=257066 rdar://10958 Reviewed by Dan Glastonbury. https://webkit.org/code-style-guidelines/#spacing-lambda-paren says that there shouldn't be a space between the [] and the () in a lambda. * Source/WebCore/Modules/WebGPU/GPU.cpp: (WebCore::GPU::requestAdapter): * Source/WebCore/Modules/WebGPU/GPUAdapter.cpp: (WebCore::GPUAdapter::requestDevice): * Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.h: (WebCore::GPUBindGroupDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.h: (WebCore::GPUBindGroupLayoutDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUBuffer.cpp: (WebCore::GPUBuffer::mapAsync): * Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h: (WebCore::GPUCanvasConfiguration::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUColorDict.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp: (WebCore::GPUCompilationInfo::messages const): * Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrite.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUDevice.cpp: (WebCore::GPUDevice::lost): (WebCore::GPUDevice::createComputePipelineAsync): (WebCore::GPUDevice::createRenderPipelineAsync): (WebCore::GPUDevice::popErrorScope): * Source/WebCore/Modules/WebGPU/GPUDeviceDescriptor.h: (WebCore::GPUDeviceDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUFragmentState.h: (WebCore::GPUFragmentState::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h: (WebCore::convertPipelineLayoutToBacking): * Source/WebCore/Modules/WebGPU/GPUPipelineLayoutDescriptor.h: (WebCore::GPUPipelineLayoutDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPUQueue.cpp: (WebCore::GPUQueue::onSubmittedWorkDone): (WebCore::imageBufferForSource): * Source/WebCore/Modules/WebGPU/GPUQueue.idl: * Source/WebCore/Modules/WebGPU/GPURenderBundleEncoderDescriptor.h: (WebCore::GPURenderBundleEncoderDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPURenderPassDescriptor.h: (WebCore::GPURenderPassDescriptor::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPURenderPassLayout.h: (WebCore::GPURenderPassLayout::convertToBacking const): * Source/WebCore/Modules/WebGPU/GPURenderPassTimestampWrite.h: (WebCore::convertToBacking): * Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp: (WebCore::GPUShaderModule::compilationInfo): * Source/WebCore/Modules/WebGPU
[webkit-changes] [WebKit/WebKit] 23ceea: [WebGPU] [Style] Pass a WGPUPrimitiveDepthClipCont...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 23ceeab826f9cfc357724e3a419ecffce799b60a https://github.com/WebKit/WebKit/commit/23ceeab826f9cfc357724e3a419ecffce799b60a Author: Myles C. Maxfield Date: 2023-05-21 (Sun, 21 May 2023) Changed paths: M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp Log Message: --- [WebGPU] [Style] Pass a WGPUPrimitiveDepthClipControl to WebGPU.framework whenever depth-clip-control is enabled https://bugs.webkit.org/show_bug.cgi?id=257060 rdar://109588317 Reviewed by Dan Glastonbury. This patch doesn't actually change behavior; it's just a style change. The depth-clip-control feature allows the author to specify a boolean that determines whether depth is unclipped. Before this patch, we're only telling WebGPU.framework about the value of the boolean if it was set to true. However, it's a little more faithful to tell WebGPU about the boolean, whatever its value, any time the depth-clip- control feature is enabled. * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::convertToBacking): (PAL::WebGPU::DeviceImpl::createRenderPipeline): (PAL::WebGPU::DeviceImpl::createRenderPipelineAsync): Canonical link: https://commits.webkit.org/264302@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e83c06: [WebGPU] Wrong defaults are used when processing m...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e83c068571149a7e2e13faf2724c5063a210020f https://github.com/WebKit/WebKit/commit/e83c068571149a7e2e13faf2724c5063a210020f Author: Myles C. Maxfield Date: 2023-05-19 (Fri, 19 May 2023) Changed paths: M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp Log Message: --- [WebGPU] Wrong defaults are used when processing multisampling state https://bugs.webkit.org/show_bug.cgi?id=257047 rdar://109579261 Reviewed by Tadeu Zagallo. Use the default values from the IDL. * Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp: (PAL::WebGPU::convertToBacking): Canonical link: https://commits.webkit.org/264276@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cd1e2e: [WebGPU] Revert 263054@main "Make RemoteGPU owned ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cd1e2eb65f29352d8be1c317db89531be266c973 https://github.com/WebKit/WebKit/commit/cd1e2eb65f29352d8be1c317db89531be266c973 Author: Myles C. Maxfield Date: 2023-05-17 (Wed, 17 May 2023) Changed paths: M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp Log Message: --- [WebGPU] Revert 263054@main "Make RemoteGPU owned by RemoteRenderingBackend rather than GPUConnectionToWebProcess" https://bugs.webkit.org/show_bug.cgi?id=256868 rdar://109432358 Reviewed by Mike Wyrzykowski and Kimmo Kinnunen. The design of GPUP is that there is a GPUConnectionToWebProcess, and it owns all the MessageQueues. It's not correct to have RemoteRenderingBackend, which runs on its own message queue, own WebGPU, which runs on a different message queue. We were getting a double-thread-hop for message receipt, and ASSERT()s were firing, indicating that things were being run on the wrong thread. * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::performWithMediaPlayerOnMainThread): (WebKit::GPUConnectionToWebProcess::createRemoteGPU): (WebKit::GPUConnectionToWebProcess::releaseRemoteGPU): * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h: * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in: * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::paintFrameForMedia): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::performWithMediaPlayerOnMainThread): Deleted. (WebKit::RemoteRenderingBackend::createRemoteGPU): Deleted. (WebKit::RemoteRenderingBackend::releaseRemoteGPU): Deleted. * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: (WebKit::RemoteRenderingBackend::streamConnection const): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp: (WebKit::RemoteGPU::RemoteGPU): (WebKit::RemoteGPU::initialize): (WebKit::RemoteGPU::stopListeningForIPC): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h: * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp: (WebKit::RemoteGPUProxy::create): (WebKit::RemoteGPUProxy::RemoteGPUProxy): (WebKit::RemoteGPUProxy::~RemoteGPUProxy): (WebKit::RemoteGPUProxy::initializeIPC): (WebKit::RemoteGPUProxy::disconnectGpuProcessIfNeeded): (WebKit::RemoteGPUProxy::gpuProcessConnectionDidClose): (WebKit::RemoteGPUProxy::abandonGPUProcess): (WebKit::RemoteGPUProxy::wasCreated): (WebKit::RemoteGPUProxy::waitUntilInitialized): (WebKit::RemoteGPUProxy::didClose): Deleted. * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createGPUForWebGPU const): Canonical link: https://commits.webkit.org/264187@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 00512b: [WebGPU] Add WebGPU directories to CODEOWNERS
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 00512b6348a2daccf509eab74b1bbfc1714f14cc https://github.com/WebKit/WebKit/commit/00512b6348a2daccf509eab74b1bbfc1714f14cc Author: Myles C. Maxfield Date: 2023-05-13 (Sat, 13 May 2023) Changed paths: M .github/CODEOWNERS Log Message: --- [WebGPU] Add WebGPU directories to CODEOWNERS https://bugs.webkit.org/show_bug.cgi?id=256737 rdar://109284751 Reviewed by Mike Wyrzykowski. A few of us would like to be notified about WebGPU or WGSL PRs. * .github/CODEOWNERS: Canonical link: https://commits.webkit.org/264047@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e5f34c: Update Devin's email address in the watchlist
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e5f34c9dfafa1de0b5f124127ebf0f351438c1ec https://github.com/WebKit/WebKit/commit/e5f34c9dfafa1de0b5f124127ebf0f351438c1ec Author: Myles C. Maxfield Date: 2023-05-12 (Fri, 12 May 2023) Changed paths: M Tools/Scripts/webkitpy/common/config/watchlist Log Message: --- Update Devin's email address in the watchlist https://bugs.webkit.org/show_bug.cgi?id=256735 rdar://109284366 Reviewed by Eric Carlson and Devin Rousso. Devin's email address changed. * Tools/Scripts/webkitpy/common/config/watchlist: Canonical link: https://commits.webkit.org/264037@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 90d9f0: [WebGPU] Delete Tools/WebGPUAPIStructure
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 90d9f017c6e59bb4b7d177cf36e5045dbfdf75c5 https://github.com/WebKit/WebKit/commit/90d9f017c6e59bb4b7d177cf36e5045dbfdf75c5 Author: Myles C. Maxfield Date: 2023-05-12 (Fri, 12 May 2023) Changed paths: R Tools/WebGPUAPIStructure/Example/Example.cpp R Tools/WebGPUAPIStructure/Example/Example.h R Tools/WebGPUAPIStructure/Example/Example.ico R Tools/WebGPUAPIStructure/Example/Example.rc R Tools/WebGPUAPIStructure/Example/Example.vcxproj R Tools/WebGPUAPIStructure/Example/Example.vcxproj.filters R Tools/WebGPUAPIStructure/Example/Example.vcxproj.user R Tools/WebGPUAPIStructure/Example/resource.h R Tools/WebGPUAPIStructure/Example/small.ico R Tools/WebGPUAPIStructure/Example/stdafx.cpp R Tools/WebGPUAPIStructure/Example/stdafx.h R Tools/WebGPUAPIStructure/Example/targetver.h R Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj R Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters R Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp R Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp R Tools/WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h R Tools/WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj R Tools/WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters R Tools/WebGPUAPIStructure/WebGPU.sln Log Message: --- [WebGPU] Delete Tools/WebGPUAPIStructure https://bugs.webkit.org/show_bug.cgi?id=256732 rdar://109283183 Reviewed by Mike Wyrzykowski. It was a proof-of-concept of how the WebGPU API could be designed. It is no longer necessary. * Tools/WebGPUAPIStructure/Example/Example.cpp: Removed. * Tools/WebGPUAPIStructure/Example/Example.h: Removed. * Tools/WebGPUAPIStructure/Example/Example.ico: Removed. * Tools/WebGPUAPIStructure/Example/Example.rc: Removed. * Tools/WebGPUAPIStructure/Example/Example.vcxproj: Removed. * Tools/WebGPUAPIStructure/Example/Example.vcxproj.filters: Removed. * Tools/WebGPUAPIStructure/Example/Example.vcxproj.user: Removed. * Tools/WebGPUAPIStructure/Example/resource.h: Removed. * Tools/WebGPUAPIStructure/Example/small.ico: Removed. * Tools/WebGPUAPIStructure/Example/stdafx.cpp: Removed. * Tools/WebGPUAPIStructure/Example/stdafx.h: Removed. * Tools/WebGPUAPIStructure/Example/targetver.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Removed. * Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Removed. * Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Removed. * Tools/WebGPUAPIStructure/WebGPU-Vulkan
[webkit-changes] [WebKit/WebKit] 8fa7bb: [WebGPU] Update watchlist directories for WebGPU
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8fa7bb2e518c16be852521f7537422d1ae4d621d https://github.com/WebKit/WebKit/commit/8fa7bb2e518c16be852521f7537422d1ae4d621d Author: Myles C. Maxfield Date: 2023-05-12 (Fri, 12 May 2023) Changed paths: M Tools/Scripts/webkitpy/common/config/watchlist Log Message: --- [WebGPU] Update watchlist directories for WebGPU https://bugs.webkit.org/show_bug.cgi?id=256731 rdar://109282926 Reviewed by Mike Wyrzykowski. The paths to implement WebGPU have changed. * Tools/Scripts/webkitpy/common/config/watchlist: Canonical link: https://commits.webkit.org/264034@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 529569: [WebGPU] Rename the setting from just "WebGPU" to ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 529569b680163e9d37ed746acdf2f74d5035120f https://github.com/WebKit/WebKit/commit/529569b680163e9d37ed746acdf2f74d5035120f Author: Myles C. Maxfield Date: 2023-05-12 (Fri, 12 May 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Modules/WebGPU/GPU.idl M Source/WebCore/Modules/WebGPU/GPUAdapter.idl M Source/WebCore/Modules/WebGPU/GPUAdapterInfo.idl M Source/WebCore/Modules/WebGPU/GPUAddressMode.idl M Source/WebCore/Modules/WebGPU/GPUAutoLayoutMode.idl M Source/WebCore/Modules/WebGPU/GPUBindGroup.idl M Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.idl M Source/WebCore/Modules/WebGPU/GPUBindGroupLayout.idl M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUBindGroupLayoutEntry.idl M Source/WebCore/Modules/WebGPU/GPUBlendComponent.idl M Source/WebCore/Modules/WebGPU/GPUBlendFactor.idl M Source/WebCore/Modules/WebGPU/GPUBlendOperation.idl M Source/WebCore/Modules/WebGPU/GPUBlendState.idl M Source/WebCore/Modules/WebGPU/GPUBuffer.idl M Source/WebCore/Modules/WebGPU/GPUBufferBinding.idl M Source/WebCore/Modules/WebGPU/GPUBufferBindingLayout.idl M Source/WebCore/Modules/WebGPU/GPUBufferBindingType.idl M Source/WebCore/Modules/WebGPU/GPUBufferDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUBufferMapState.idl M Source/WebCore/Modules/WebGPU/GPUBufferUsage.idl M Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl M Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl M Source/WebCore/Modules/WebGPU/GPUColorDict.idl M Source/WebCore/Modules/WebGPU/GPUColorTargetState.idl M Source/WebCore/Modules/WebGPU/GPUColorWrite.idl M Source/WebCore/Modules/WebGPU/GPUCommandBuffer.idl M Source/WebCore/Modules/WebGPU/GPUCommandBufferDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUCommandEncoder.idl M Source/WebCore/Modules/WebGPU/GPUCommandEncoderDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUCommandsMixin.idl M Source/WebCore/Modules/WebGPU/GPUCompareFunction.idl M Source/WebCore/Modules/WebGPU/GPUCompilationInfo.idl M Source/WebCore/Modules/WebGPU/GPUCompilationMessage.idl M Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.idl M Source/WebCore/Modules/WebGPU/GPUComputePassDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUComputePassEncoder.idl M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampLocation.idl M Source/WebCore/Modules/WebGPU/GPUComputePassTimestampWrite.idl M Source/WebCore/Modules/WebGPU/GPUComputePipeline.idl M Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUCullMode.idl M Source/WebCore/Modules/WebGPU/GPUDebugCommandsMixin.idl M Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl M Source/WebCore/Modules/WebGPU/GPUDevice.idl M Source/WebCore/Modules/WebGPU/GPUDeviceDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl M Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl M Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl M Source/WebCore/Modules/WebGPU/GPUExtent3DDict.idl M Source/WebCore/Modules/WebGPU/GPUExternalTexture.idl M Source/WebCore/Modules/WebGPU/GPUExternalTextureBindingLayout.idl M Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.idl M Source/WebCore/Modules/WebGPU/GPUFeatureName.idl M Source/WebCore/Modules/WebGPU/GPUFilterMode.idl M Source/WebCore/Modules/WebGPU/GPUFragmentState.idl M Source/WebCore/Modules/WebGPU/GPUFrontFace.idl M Source/WebCore/Modules/WebGPU/GPUImageCopyBuffer.idl M Source/WebCore/Modules/WebGPU/GPUImageCopyExternalImage.idl M Source/WebCore/Modules/WebGPU/GPUImageCopyTexture.idl M Source/WebCore/Modules/WebGPU/GPUImageCopyTextureTagged.idl M Source/WebCore/Modules/WebGPU/GPUImageDataLayout.idl M Source/WebCore/Modules/WebGPU/GPUIndexFormat.idl M Source/WebCore/Modules/WebGPU/GPUInternalError.idl M Source/WebCore/Modules/WebGPU/GPULoadOp.idl M Source/WebCore/Modules/WebGPU/GPUMapMode.idl M Source/WebCore/Modules/WebGPU/GPUMipmapFilterMode.idl M Source/WebCore/Modules/WebGPU/GPUMultisampleState.idl M Source/WebCore/Modules/WebGPU/GPUObjectBase.idl M Source/WebCore/Modules/WebGPU/GPUObjectDescriptorBase.idl M Source/WebCore/Modules/WebGPU/GPUOrigin2DDict.idl M Source/WebCore/Modules/WebGPU/GPUOrigin3DDict.idl M Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl M Source/WebCore/Modules/WebGPU/GPUPipelineBase.idl M Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.idl M Source/WebCore/Modules/WebGPU/GPUPipelineError.idl M Source/WebCore/Modules/WebGPU/GPUPipelineErrorInit.idl M Source/WebCore
[webkit-changes] [WebKit/WebKit] 48a537: [WebGPU] Disable getContext("webgpu") when WebGPU ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 48a5372923cb172599e0c6370697929a62a51b05 https://github.com/WebKit/WebKit/commit/48a5372923cb172599e0c6370697929a62a51b05 Author: Myles C. Maxfield Date: 2023-05-09 (Tue, 09 May 2023) Changed paths: M Source/WebCore/page/Navigator.cpp Log Message: --- [WebGPU] Disable getContext("webgpu") when WebGPU is disabled https://bugs.webkit.org/show_bug.cgi?id=256533 rdar://109106604 Reviewed by Mike Wyrzykowski, Dan Glastonbury and Tadeu Zagallo. navigator.gpu is disabled, but getContext("webgpu") isn't. * Source/WebCore/page/Navigator.cpp: (WebCore::Navigator::gpu): Canonical link: https://commits.webkit.org/263877@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 126453: [Cocoa] Delete unused CoreML soft linking facilities
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 126453ee4bf26e9986e79e72aef69575e63b974c https://github.com/WebKit/WebKit/commit/126453ee4bf26e9986e79e72aef69575e63b974c Author: Myles C. Maxfield Date: 2023-05-06 (Sat, 06 May 2023) Changed paths: M Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.h M Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.mm Log Message: --- [Cocoa] Delete unused CoreML soft linking facilities https://bugs.webkit.org/show_bug.cgi?id=256350 rdar://108930951 Reviewed by Tim Nguyen. Just delete the dead code. * Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.h: * Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.mm: Canonical link: https://commits.webkit.org/263763@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9aa6d1: [watchOS] Fix the build
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9aa6d16cba8a945d0f5156478847684c1e945d87 https://github.com/WebKit/WebKit/commit/9aa6d16cba8a945d0f5156478847684c1e945d87 Author: Myles C. Maxfield Date: 2023-05-05 (Fri, 05 May 2023) Changed paths: M Source/WebKit/UIProcess/ios/forms/WKFocusedFormControlView.mm Log Message: --- [watchOS] Fix the build https://bugs.webkit.org/show_bug.cgi?id=256344 rdar://108923818 Unreviewed build fix. Building for watchOS reports "Use bounds.size instead." * Source/WebKit/UIProcess/ios/forms/WKFocusedFormControlView.mm: (-[WKFocusedFormControlView layoutSubviews]): Canonical link: https://commits.webkit.org/263740@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 237442: [Cocoa] Rename FontCustomPlatformDataMac to FontCu...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 237442dfbbc2a48cccdcc8b7a27b17ed847a4301 https://github.com/WebKit/WebKit/commit/237442dfbbc2a48cccdcc8b7a27b17ed847a4301 Author: Myles C. Maxfield Date: 2023-05-04 (Thu, 04 May 2023) Changed paths: M Source/WebCore/PlatformMac.cmake M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp R Source/WebCore/platform/graphics/mac/FontCustomPlatformDataMac.cpp Log Message: --- [Cocoa] Rename FontCustomPlatformDataMac to FontCustomPlatformDataCoreText https://bugs.webkit.org/show_bug.cgi?id=256345 rdar://108924213 Reviewed by Tim Nguyen. The code in this file uses Core Text, instead of anything macOS-specific. * Source/WebCore/PlatformMac.cmake: * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp: Renamed from Source/WebCore/platform/graphics/mac/FontCustomPlatformDataMac.cpp. (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::createFontCustomPlatformData): (WebCore::FontCustomPlatformData::supportsFormat): Canonical link: https://commits.webkit.org/263706@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 65b13c: Remove dead code: ModalContainerObserver and Modal...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 65b13cfb8a8bcad1b08c89f58d9fe7667232 https://github.com/WebKit/WebKit/commit/65b13cfb8a8bcad1b08c89f58d9fe7667232 Author: Myles C. Maxfield Date: 2023-05-04 (Thu, 04 May 2023) Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/loader/EmptyClients.cpp M Source/WebCore/loader/EmptyClients.h M Source/WebCore/page/ChromeClient.h M Source/WebCore/page/LocalFrameView.cpp R Source/WebCore/page/ModalContainerObserver.cpp R Source/WebCore/page/ModalContainerObserver.h M Source/WebCore/style/StyleAdjuster.cpp M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl M Source/WebKit/SourcesCocoa.txt M Source/WebKit/UIProcess/API/APIUIClient.h M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h R Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.h R Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.mm M Source/WebKit/UIProcess/Cocoa/UIDelegate.h M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm M Tools/TestWebKitAPI/SourcesCocoa.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj R Tools/TestWebKitAPI/Tests/WebKit/modal-container-custom.html R Tools/TestWebKitAPI/Tests/WebKit/modal-container-with-overlay.html R Tools/TestWebKitAPI/Tests/WebKit/modal-container.html R Tools/TestWebKitAPI/Tests/WebKitCocoa/ModalContainerObservation.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIPermissions.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Log Message: --- Remove dead code: ModalContainerObserver and ModalContainerControlClassifier https://bugs.webkit.org/show_bug.cgi?id=256289 rdar://108871402 Reviewed by Ryosuke Niwa. Mechanical deletion. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/dom/Document.cpp: (WebCore::Document::modalContainerObserver): Deleted. (WebCore::Document::modalContainerObserverIfExists const): Deleted. * Source/WebCore/dom/Document.h: * Source/WebCore/loader/EmptyClients.cpp: (WebCore::EmptyChromeClient::classifyModalContainerControls): Deleted. * Source/WebCore/loader/EmptyClients.h: * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::searchStringForModalContainerObserver const): Deleted. * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::performPostLayoutTasks): * Source/WebCore/page/ModalContainerObserver.cpp: Removed. * Source/WebCore/page/ModalContainerObserver.h: Removed. * Source/WebCore/style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjust const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::overrideModalContainerSearchTermForTesting): Deleted. * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.h: Removed. * Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.mm: Removed. * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::classifyModalContainerControls): Deleted. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::createNetworkExtensionsSandboxExtensions): (WebKit::WebPageProxy::classifyModalContainerControls): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::classifyModalContainerControls): Deleted. (WebKit::WebChromeClient::searchStringForModalContainerObserver const): Deleted. * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h: * Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm: (WebChromeClient::classifyModalContainerControls): Deleted. Canonical link: https://commits.webkit.org/263667@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fcedcb: [Cocoa] [Shape Detection] WebKit crashes on launch...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fcedcb75b10f017f98ec88d832d9fb01dd8921b6 https://github.com/WebKit/WebKit/commit/fcedcb75b10f017f98ec88d832d9fb01dd8921b6 Author: Myles C. Maxfield Date: 2023-05-03 (Wed, 03 May 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.mm M Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.h M Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.mm M Source/WebCore/PAL/pal/cocoa/VisionSoftLink.mm M Source/WebCore/WebCore.xcodeproj/project.pbxproj Log Message: --- [Cocoa] [Shape Detection] WebKit crashes on launch when on the base system https://bugs.webkit.org/show_bug.cgi?id=256287 rdar://108870362 Reviewed by Aditya Keerthi. Turns out the base system doesn't have Vision.framework or CoreML.framework. We were crashing because we were statically linking with CoreML.framework. This patch makes us use soft linking instead. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.mm: (WebCore::ShapeDetection::configureRequestToUseCPUOrGPU): * Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.h: * Source/WebCore/PAL/pal/cocoa/CoreMLSoftLink.mm: * Source/WebCore/PAL/pal/cocoa/VisionSoftLink.h: * Source/WebCore/PAL/pal/cocoa/VisionSoftLink.mm: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/263661@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f64678: Add a microbenchmark to measure Japanese text layout
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f646785f415f91d8d9c21dcb07fb29854710ec25 https://github.com/WebKit/WebKit/commit/f646785f415f91d8d9c21dcb07fb29854710ec25 Author: Myles C. Maxfield Date: 2023-04-27 (Thu, 27 Apr 2023) Changed paths: A PerformanceTests/Layout/JapaneseLineLayout.html Log Message: --- Add a microbenchmark to measure Japanese text layout https://bugs.webkit.org/show_bug.cgi?id=256066 rdar://108635108 Reviewed by Alan Baradlay. Let's measure the performance of laying out Japanese text! * PerformanceTests/Layout/JapaneseLineLayout.html: Added. Canonical link: https://commits.webkit.org/263484@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 67ce1e: [Shape Detection] Fix internal Apple build
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 67ce1e3fcec1df093c7f6e1f69f9126ede2bfc43 https://github.com/WebKit/WebKit/commit/67ce1e3fcec1df093c7f6e1f69f9126ede2bfc43 Author: Myles C. Maxfield Date: 2023-04-26 (Wed, 26 Apr 2023) Changed paths: M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.mm M Source/WebCore/PAL/pal/cocoa/VisionSoftLink.h M Source/WebCore/PAL/pal/cocoa/VisionSoftLink.mm M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.mm Log Message: --- [Shape Detection] Fix internal Apple build https://bugs.webkit.org/show_bug.cgi?id=256001 rdar://108561521 Unreviewed build fix. 263397@main broke the internal Apple build because it directly linked with Vision. Apparently, Vision already depends on WebCore, so that patch created a cycle. This patch fixes it by using soft linking instead. * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm: (WebCore::ShapeDetection::convertSymbology): (WebCore::ShapeDetection::convertBarcodeFormat): (WebCore::ShapeDetection::request): (WebCore::ShapeDetection::BarcodeDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm: (WebCore::ShapeDetection::FaceDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm: (WebCore::ShapeDetection::TextDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.mm: * Source/WebCore/PAL/pal/cocoa/VisionSoftLink.h: * Source/WebCore/PAL/pal/cocoa/VisionSoftLink.mm: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.mm: (WebKit::requestPayloadForQRCode): Canonical link: https://commits.webkit.org/263429@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ce99b4: [Shape Detection] [Cocoa] Implement first draft of...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ce99b4d5dd33bd28ffb58899e356841cb5ed7285 https://github.com/WebKit/WebKit/commit/ce99b4d5dd33bd28ffb58899e356841cb5ed7285 Author: Myles C. Maxfield Date: 2023-04-25 (Tue, 25 Apr 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.h A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/VisionUtilities.mm M Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h M Source/WebCore/PAL/pal/spi/cocoa/SpeechSPI.h M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj Log Message: --- [Shape Detection] [Cocoa] Implement first draft of the shape detection API using the Vision framework https://bugs.webkit.org/show_bug.cgi?id=255803 rdar://108380805 Reviewed by Mike Wyrzykowski. This is the first draft implementation of the shape detection API. This patch makes WebCore.framework link with Vision.framework. The shape detection API is very very similar to Vision's API, so the implementation is almost trivial: each call to detect() just turns into the creation of a VNRequest and a VNRequestHandler, and calls performRequests() on the request handler. VNRequest has a callback-based codepath, where you can say -[VNRequest initWithCompletionHandler:], but this isn't really suitable for our purposes, at least right out-of-the-box, for 2 reasons: 1. Even if you set up the VNRequest this way, the call to -[VNImageRequestHandler performRequest:error:] is still synchronous. It blocks until all the requests are complete, and AFAICT there's no way to make it not block. So, using the callback doesn't actually free up the main thread to do other work. (The purpose of the completion handler is when you pass many requests to a single performRequests: call, you can be notified as the requests complete, one by one - *not* so that the call to performRequests: can be asynchronous. If you want the call to performRequests: to be asynchronous, you're supposed to call it from a background thread yourself.) 2. The callbacks are called on another thread internal to Vision, so if we wanted to use them, we'd have to immediately bounce back to the RemoteRenderingBackend's worker thread in WebKit2, or the main thread in WebKitLegacy. This means the Shape Detection objects would have to have more plumbing to take a generic handler which can schedule work on the right thread. At some point, it probably would make sense to do this plumbing work + calling Vision on a background thread, but it isn't really necessary for this first-draft implementation. I haven't profiled these calls yet to know if they're even expensive enough to be worth calling on a background thread or not. This patch also sets the usesCPUOnly flag, because otherwise the API wouldn't work in WebKit 2, because the GPU Process's sandbox is blocking the connection to aned on Apple Silicon devices (I haven't tried on Intel devices, maybe it works using the GPU there?). I'm working with Per Arne to see what we can do about this. If you manually disable the sandbox, this flag isn't necessary. The tests for this patch are at https://github.com/web-platform-tests/wpt/commit/b5a2b1e1b0bd51817dca49b49eb3e8825833b216. I will import them in a follow-up patch. This patch marks the shape detection as "testable." * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm: (WebCore::ShapeDetection::convertSymbology): (WebCore::ShapeDetection::convertBarcodeFormat): (WebCore::ShapeDetection::convertRequestedBarcodeFormatSet): (WebCore::ShapeDetection::BarcodeDetectorImpl::BarcodeDetectorImpl): (WebCore::ShapeDetection::request): (WebCore::ShapeDetection::BarcodeDetectorImpl::getSupportedFormats): (WebCore::ShapeDetection::BarcodeDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm: (WebCore::Shap
[webkit-changes] [WebKit/WebKit] 7e3bfb: [Shape Detection] Plumb ImageBitmapSource to the G...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7e3bfb4cf39ac035dfec7f0d4b12384f22a3d484 https://github.com/WebKit/WebKit/commit/7e3bfb4cf39ac035dfec7f0d4b12384f22a3d484 Author: Myles C. Maxfield Date: 2023-04-20 (Thu, 20 Apr 2023) Changed paths: M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.idl M Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp M Source/WebCore/Modules/ShapeDetection/FaceDetector.h M Source/WebCore/Modules/ShapeDetection/FaceDetector.idl M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm M Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/FaceDetectorInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/TextDetectorInterface.h M Source/WebCore/Modules/ShapeDetection/TextDetector.cpp M Source/WebCore/Modules/ShapeDetection/TextDetector.h M Source/WebCore/Modules/ShapeDetection/TextDetector.idl M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.h M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.messages.in M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.h M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.messages.in M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.h M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.messages.in M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.cpp M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteBarcodeDetectorProxy.h M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.cpp M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteFaceDetectorProxy.h M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.cpp M Source/WebKit/WebProcess/GPU/ShapeDetection/RemoteTextDetectorProxy.h Log Message: --- [Shape Detection] Plumb ImageBitmapSource to the GPU process https://bugs.webkit.org/show_bug.cgi?id=255633 rdar://108232629 Reviewed by Dean Jackson. This patch plumbs ImageBitmapSource to the GPU process by using the same technique as ImageBitmap uses. When you say createImageBitmap(), what that actually does is it creates a new ImageBuffer and draws the source object into the ImageBuffer's graphics context. The ImageBitmap is backed by the ImageBuffer. The cool part about this is that sending the ImageBuffer to the GPU process is actually free, because the context that draw into it is a remote context that actually performs the draw in the GPU process - so the ImageBitmap is _already_ in the GPU process. If you want to send it to a new API call in the GPU process, all you need to send is its identifier, and have the GPU process look it up from the RemoteRenderingBackend. No tests because there is no behavior change - I haven't actually hooked up the Vision framework to actually implement any of the calls yet. * Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp: (WebCore::BarcodeDetector::detect): * Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h: * Source/WebCore/Modules/ShapeDetection/BarcodeDetector.idl: * Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp: (WebCore::FaceDetector::detect): * Source/WebCore/Modules/ShapeDetection/FaceDetector.h: * Source/WebCore/Modules/ShapeDetection/FaceDetector.idl: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm: (WebCore::ShapeDetection::BarcodeDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm: (WebCore::ShapeDetection::FaceDetectorImpl::detect): * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h: * Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa
[webkit-changes] [WebKit/WebKit] cc8075: Allow ImageBitmap to be created from ImageBitmap::...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cc807585594a80b0881be87386e371c7aa88f3da https://github.com/WebKit/WebKit/commit/cc807585594a80b0881be87386e371c7aa88f3da Author: Myles C. Maxfield Date: 2023-04-19 (Wed, 19 Apr 2023) Changed paths: M Source/WebCore/html/ImageBitmap.cpp M Source/WebCore/html/ImageBitmap.h Log Message: --- Allow ImageBitmap to be created from ImageBitmap::Source without needing a Promise https://bugs.webkit.org/show_bug.cgi?id=255666 rdar://108270485 Reviewed by Dean Jackson. The shape detection API takes ImageBitmap::Sources as inputs, and we need to be able to convert those to ImageBuffers in order to detect shapes in them. This is exactly what ImageBitmap::createPromise() does, except that requires using a promise. This patch refactors this to use a CompletionHandler instead, so the shape detection API can perform additional processing on the ImageBuffer once it has been created. I had to name the type ImageBitmapCompletionHandler, instead of ImageBitmap::CompletionHandler, because the GCC ports were giving an error about "declaration of ‘using CompletionHandler = ...’ changes meaning of ‘CompletionHandler’". No tests because there is no behavior change. * Source/WebCore/html/ImageBitmap.cpp: (WebCore::ImageBitmap::createCompletionHandler): (WebCore::ImageBitmap::createPromise): (WebCore::ImageBitmap::createBlankImageBuffer): (WebCore::ImageBitmap::createFromBuffer): (WebCore::ImageBitmap::resolveWithBlankImageBuffer): Deleted. * Source/WebCore/html/ImageBitmap.h: Canonical link: https://commits.webkit.org/263143@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5ecd84: Plumb shape detection API to the GPU Process
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5ecd8455a80d9c5becbddee087062f82891fccea https://github.com/WebKit/WebKit/commit/5ecd8455a80d9c5becbddee087062f82891fccea Author: Myles C. Maxfield Date: 2023-04-18 (Tue, 18 Apr 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebCore/Headers.cmake M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.idl M Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp M Source/WebCore/Modules/ShapeDetection/FaceDetector.h M Source/WebCore/Modules/ShapeDetection/FaceDetector.idl M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorOptionsInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeFormatInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedBarcodeInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedFaceInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedTextInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkTypeInterface.h M Source/WebCore/Modules/ShapeDetection/TextDetector.cpp M Source/WebCore/Modules/ShapeDetection/TextDetector.h M Source/WebCore/Modules/ShapeDetection/TextDetector.idl M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/Chrome.cpp M Source/WebCore/page/Chrome.h M Source/WebCore/page/ChromeClient.h M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources-output.xcfilelist M Source/WebKit/DerivedSources.make A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/ShapeDetectionObjectHeap.cpp A Source/WebKit/GPUProcess/ShapeDetection/ShapeDetectionObjectHeap.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp M Source/WebKit/Scripts/webkit/tests/MessageNames.cpp M Source/WebKit/Scripts/webkit/tests/MessageNames.h M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp M Source/WebKit/Scripts/webkit
[webkit-changes] [WebKit/WebKit] f2195a: Plumb shape detection API to the GPU Process
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f2195aa52bec637d3a35273da68217f83e845350 https://github.com/WebKit/WebKit/commit/f2195aa52bec637d3a35273da68217f83e845350 Author: Myles C. Maxfield Date: 2023-04-18 (Tue, 18 Apr 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebCore/Headers.cmake M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.idl M Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp M Source/WebCore/Modules/ShapeDetection/FaceDetector.h M Source/WebCore/Modules/ShapeDetection/FaceDetector.idl M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h M Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorOptionsInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeFormatInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedBarcodeInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedFaceInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedTextInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkInterface.h M Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkTypeInterface.h M Source/WebCore/Modules/ShapeDetection/TextDetector.cpp M Source/WebCore/Modules/ShapeDetection/TextDetector.h M Source/WebCore/Modules/ShapeDetection/TextDetector.idl M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/Chrome.cpp M Source/WebCore/page/Chrome.h M Source/WebCore/page/ChromeClient.h M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources-output.xcfilelist M Source/WebKit/DerivedSources.make A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.h A Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.messages.in A Source/WebKit/GPUProcess/ShapeDetection/ShapeDetectionObjectHeap.cpp A Source/WebKit/GPUProcess/ShapeDetection/ShapeDetectionObjectHeap.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp M Source/WebKit/Scripts/webkit/tests/MessageNames.cpp M Source/WebKit/Scripts/webkit/tests/MessageNames.h M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessageReceiver.cpp M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessageReceiver.cpp M Source/WebKit/Scripts/webkit
[webkit-changes] [WebKit/WebKit] e6f858: [WebGPU] Make RemoteGPU owned by RemoteRenderingBa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e6f858aaaea1422afde832fa05d3c227edf75247 https://github.com/WebKit/WebKit/commit/e6f858aaaea1422afde832fa05d3c227edf75247 Author: Myles C. Maxfield Date: 2023-04-17 (Mon, 17 Apr 2023) Changed paths: M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp Log Message: --- [WebGPU] Make RemoteGPU owned by RemoteRenderingBackend rather than GPUConnectionToWebProcess https://bugs.webkit.org/show_bug.cgi?id=255429 Reviewed by Matt Woodrow. This patch isn't strictly necessary, but I do think this is a better design. Previously, every GPU object in the web process got its own identifier, and that identifier got sent to the GPU process. The GPU process has a GPUConnectionToWebProcess for each web process, and it owned a HashMap<> of the GPU objects for that web process. That's okay, but it doesn't fit very well with the design of the GPU process. Every Page in the web process has an associated RemoteRenderingBackend for that page, which is the owner of all the resources used by that page (the RemoteRenderingBackend owns a RemoteResourceCache which contains all the resources). It's a generally better design to match this for WebGPU, and make the GPU object owned by the RemoteRenderingBackend rather than the GPUConnectionToWebProcess. There are a few benefits to this design: 1. It more closely matches the ownership model for normal page drawing, which just makes it less complicated to understand and reason about 2. At some point, we're going to have to implement interactions with other parts of the web platform (videos, canvas 2d, etc.) in WebGPU. All those resources are owned by the RemoteRenderingBackend. We could have each individual entry point reach into the RemoteRenderingBackend to pull out what it needs, but it's a more convenient design if everything just already lives in the same place. No tests because there is no behavior change. * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::createRemoteGPU): Deleted. (WebKit::GPUConnectionToWebProcess::releaseRemoteGPU): Deleted. * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h: * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::createRemoteGPU): (WebKit::RemoteRenderingBackend::releaseRemoteGPU): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in: * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp: (WebKit::RemoteGPU::RemoteGPU): (WebKit::RemoteGPU::initialize): (WebKit::RemoteGPU::stopListeningForIPC): * Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h: * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp: (WebKit::RemoteGPUProxy::create): (WebKit::RemoteGPUProxy::RemoteGPUProxy): (WebKit::RemoteGPUProxy::~RemoteGPUProxy): (WebKit::RemoteGPUProxy::initializeIPC): (WebKit::RemoteGPUProxy::disconnectGpuProcessIfNeeded): Deleted. (WebKit::RemoteGPUProxy::gpuProcessConnectionDidClose): Deleted. (WebKit::RemoteGPUProxy::abandonGPUProcess): Deleted. * Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createGPUForWebGPU const): Canonical link: https://commits.webkit.org/263054@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a13230: Create scaffolding for Shape Detection API
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a132303fd6a0c4b8ee96b6cc986723477ffefb98 https://github.com/WebKit/WebKit/commit/a132303fd6a0c4b8ee96b6cc986723477ffefb98 Author: Myles C. Maxfield Date: 2023-04-14 (Fri, 14 Apr 2023) Changed paths: M Source/WebCore/CMakeLists.txt M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp M Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h M Source/WebCore/Modules/ShapeDetection/BarcodeDetectorOptions.h M Source/WebCore/Modules/ShapeDetection/BarcodeFormat.h M Source/WebCore/Modules/ShapeDetection/DetectedBarcode.h M Source/WebCore/Modules/ShapeDetection/DetectedBarcode.idl M Source/WebCore/Modules/ShapeDetection/DetectedFace.h M Source/WebCore/Modules/ShapeDetection/DetectedFace.idl M Source/WebCore/Modules/ShapeDetection/DetectedText.h M Source/WebCore/Modules/ShapeDetection/DetectedText.idl M Source/WebCore/Modules/ShapeDetection/FaceDetector.cpp M Source/WebCore/Modules/ShapeDetection/FaceDetector.h M Source/WebCore/Modules/ShapeDetection/FaceDetectorOptions.h A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.h A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/BarcodeDetectorImplementation.mm A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.h A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/FaceDetectorImplementation.mm A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.h A Source/WebCore/Modules/ShapeDetection/Implementation/Cocoa/TextDetectorImplementation.mm A Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeDetectorOptionsInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/BarcodeFormatInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedBarcodeInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedFaceInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/DetectedTextInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/FaceDetectorInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/FaceDetectorOptionsInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/LandmarkTypeInterface.h A Source/WebCore/Modules/ShapeDetection/Interfaces/TextDetectorInterface.h M Source/WebCore/Modules/ShapeDetection/Landmark.h M Source/WebCore/Modules/ShapeDetection/Landmark.idl M Source/WebCore/Modules/ShapeDetection/LandmarkType.h M Source/WebCore/Modules/ShapeDetection/Point2D.h M Source/WebCore/Modules/ShapeDetection/Point2D.idl M Source/WebCore/Modules/ShapeDetection/TextDetector.cpp M Source/WebCore/Modules/ShapeDetection/TextDetector.h M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.h M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.mm M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj Log Message: --- Create scaffolding for Shape Detection API https://bugs.webkit.org/show_bug.cgi?id=255215 rdar://107821288 Reviewed by Mike Wyrzykowski. The implementation of the Shape Detection API needs to run in the GPU process. However, in WebKitLegacy, it can run in-process. Therefore, we're going to have to have 2 different implementations: one that implements the functionality directly (that the GPU process and WebKitLegacy will use) and another one that uses IPC to forward the calls across processes. This patch implements this by creating a virtual interface for the API. This interface will have 2 concrete implementations, and this patch stubs out one of them. The IPC implementation will be implemented in another patch. This virtual interface is in Source/WebCore/Modules/ShapeDetection/Interfaces, and the stubs for the first implementation are in Source/WebCore/Modules/ShapeDetection/Implementation. The original classes inside Source/WebCore/Modules/ShapeDetection, which are what the IDL files target, delegate to this virtual interface. Each one of these classes has a Ref to a "backing" object which is an implementation of this virtual interface. No tests because there is no behavior change. * Source/WebCore/Modules/ShapeDetection/BarcodeDetector.cpp: (WebCore::BarcodeDetector::create): (WebCore::BarcodeDetector::BarcodeDetector): (WebCore::BarcodeDetector::getSupportedFormats): (WebCore::BarcodeDetector::detect): * Source/WebCore/Modules/ShapeDetection/BarcodeDetector.h: * Source/WebCore/Modules/ShapeDetection/BarcodeDetectorOptions.h: (WebCore::BarcodeDetectorOptions::convertToBacking const): (WebCore::convertFromBacking): * Source/WebCore/Modules/ShapeDetection/BarcodeFormat.h
[webkit-changes] [WebKit/WebKit] f204f5: Migrate to ALLOW_***_BEGIN/END instead of #pragma ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f204f5437c4e4edbe6551c2ad6dc58be653ba834 https://github.com/WebKit/WebKit/commit/f204f5437c4e4edbe6551c2ad6dc58be653ba834 Author: Myles C. Maxfield Date: 2023-04-14 (Fri, 14 Apr 2023) Changed paths: M Source/JavaScriptCore/assembler/LinkBuffer.h M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp M Source/WTF/wtf/Assertions.cpp M Source/WTF/wtf/FileSystem.cpp M Source/WTF/wtf/PrintStream.cpp M Source/WTF/wtf/SHA1.cpp M Source/WTF/wtf/darwin/OSLogPrintStream.mm M Source/WebCore/Modules/model-element/scenekit/SceneKitModelPlayer.mm M Source/WebCore/PAL/pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp M Source/WebCore/PAL/pal/system/mac/PopupMenu.mm M Source/WebCore/PAL/pal/system/mac/WebPanel.mm M Source/WebCore/accessibility/mac/AXObjectCacheMac.mm M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm M Source/WebCore/crypto/CommonCryptoUtilities.cpp M Source/WebCore/crypto/mac/CryptoAlgorithmAES_GCMMac.cpp M Source/WebCore/crypto/mac/CryptoKeyRSAMac.cpp M Source/WebCore/crypto/mac/SerializedCryptoKeyWrapMac.mm M Source/WebCore/page/mac/EventHandlerMac.mm M Source/WebCore/platform/audio/mac/AudioHardwareListenerMac.cpp M Source/WebCore/platform/audio/mac/AudioSessionMac.mm M Source/WebCore/platform/cocoa/DragImageCocoa.mm M Source/WebCore/platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm M Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp M Source/WebCore/platform/graphics/cg/NativeImageCG.cpp M Source/WebCore/platform/graphics/mac/GraphicsChecksMac.cpp M Source/WebCore/platform/graphics/mac/IconMac.mm M Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm M Source/WebCore/platform/graphics/mac/WebKitNSImageExtras.mm M Source/WebCore/platform/graphics/mac/controls/ControlMac.mm M Source/WebCore/platform/gtk/RenderThemeGadget.cpp M Source/WebCore/platform/ios/LegacyTileGrid.mm M Source/WebCore/platform/ios/PasteboardIOS.mm M Source/WebCore/platform/ios/ScrollViewIOS.mm M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm M Source/WebCore/platform/mac/DataDetectorHighlight.mm M Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm M Source/WebCore/platform/mac/PasteboardMac.mm M Source/WebCore/platform/mac/PasteboardWriter.mm M Source/WebCore/platform/mac/PlatformEventFactoryMac.mm M Source/WebCore/platform/mac/PlatformPasteboardMac.mm M Source/WebCore/platform/mac/ScrollViewMac.mm M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm M Source/WebCore/platform/mac/WidgetMac.mm M Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mediastream/mac/CGDisplayStreamCaptureSource.cpp M Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.mm M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDevice.cpp M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.cpp M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/network/cocoa/CookieCocoa.mm M Source/WebCore/rendering/RenderThemeIOS.mm M Source/WebCore/rendering/RenderThemeMac.mm M Source/WebGPU/WebGPU/BindGroupLayout.mm M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm M Source/WebKit/Platform/cocoa/XPCUtilities.mm M Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm M Source/WebKit/Shared/Cocoa/APIObject.mm M Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm M Source/WebKit/Shared/mac/ObjCObjectGraph.mm M Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h M Source/WebKit/UIProcess/API/Cocoa