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

Timeline



May 9, 2021:

6:48 PM Changeset in webkit [277255] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Add back protection of the pixel buffer in ImageBufferCGBackend::toCFData removed in r277237
https://bugs.webkit.org/show_bug.cgi?id=225574

Reviewed by Darin Adler.

In r277237, I accidentally removed a RefPtr<Uint8ClampedArray> protectedPixelArray
in ImageBufferCGBackend::toCFData that was needed to avoided crashing in some cases
when running fast/canvas/canvas-toDataURL-jpeg-crash.html.

Since it wasn't super clear what it was doing, this switches to using the more idiomatic
method of keeping the data alive in a CGDataProviderRef by passing the leaked image data
as the context and derefing in the callback lambda.

Just to be consistent, I went to other callers of CGDataProviderCreateWithData and
updated them to be idiomatically consistent.

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):
(WebCore::releaseImageData): Deleted.

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ImageBufferCGBackend::toCFData const):

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::create):

5:26 PM Changeset in webkit [277254] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WebXR] Remove reference cycle in WebXRSession
https://bugs.webkit.org/show_bug.cgi?id=225025
<rdar://problem/77111217>

Unreviewed WPE build fix.

  • Modules/webxr/WebXRInputSourceArray.h: Add missing namespace.
5:10 PM WebKitGTK/2.28.x edited by clopez@igalia.com
(diff)
2:21 PM Changeset in webkit [277253] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo][Clang] lld-link: error: undefined symbol: public: static class GenericTypedArrayView<>::tryCreate() in CryptoKeyRSAOpenSSL.cpp
https://bugs.webkit.org/show_bug.cgi?id=225581

Unreviewed build for r277142.

  • crypto/openssl/CryptoKeyRSAOpenSSL.cpp: Include <JavaScriptCore/TypedArrayInlines.h>.
12:11 PM Changeset in webkit [277252] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Tools] Generate marshalling code without source reference
https://bugs.webkit.org/show_bug.cgi?id=225283

Patch by Khem Raj <raj.khem@gmail.com> on 2021-05-09
Reviewed by Carlos Alberto Lopez Perez.

  • MiniBrowser/gtk/CMakeLists.txt:
12:04 PM Changeset in webkit [277251] by dino@apple.com
  • 15 edits in trunk/Source/WebCore

[WebXR] Remove reference cycle in WebXRSession
https://bugs.webkit.org/show_bug.cgi?id=225025
<rdar://problem/77111217>

Reviewed by Sam Weinig.

Patch by Sam Weinig, who took my bad patch and made it better.

WebXRSession was attempting to create an WebXRInputSourceArray in
its constructor, which itself was trying to hold a strong reference
back to WebXRSession - causing a crash.

  • Modules/webxr/WebXRBoundedReferenceSpace.h: Fix small typo.
  • Modules/webxr/WebXRFrame.cpp: Use reference in constructor, since we

know the session exists.
(WebCore::WebXRFrame::create):
(WebCore::WebXRFrame::WebXRFrame):

  • Modules/webxr/WebXRFrame.h:
  • Modules/webxr/WebXRInputSource.cpp: Use a WeakPtr as a reference back

to the WebXRSession.
(WebCore::WebXRInputSource::create):
(WebCore::WebXRInputSource::WebXRInputSource):
(WebCore::WebXRInputSource::session): Add this getter.
(WebCore::WebXRInputSource::update): Check for null.
(WebCore::WebXRInputSource::pollEvents):
(WebCore::WebXRInputSource::createEvent): Deleted - moved to lambda.

  • Modules/webxr/WebXRInputSource.h:
  • Modules/webxr/WebXRInputSource.idl:
  • Modules/webxr/WebXRInputSourceArray.cpp: Add GenerateIsReachable.

(WebCore::WebXRInputSourceArray::create):
(WebCore::WebXRInputSourceArray::WebXRInputSourceArray):
(WebCore::WebXRInputSourceArray::ref):
(WebCore::WebXRInputSourceArray::deref):
(WebCore::WebXRInputSourceArray::update):
(WebCore::WebXRInputSourceArray::handleAddedOrUpdatedInputSources):

  • Modules/webxr/WebXRInputSourceArray.h:
  • Modules/webxr/WebXRInputSourceArray.idl:
  • Modules/webxr/WebXRInputSpace.cpp: Use reference in constructor.

(WebCore::WebXRInputSpace::create):
(WebCore::WebXRInputSpace::WebXRInputSpace):

  • Modules/webxr/WebXRInputSpace.h:
  • Modules/webxr/WebXRSession.cpp: Use a UniqueRef for input source array.

(WebCore::WebXRSession::onFrame):

  • Modules/webxr/WebXRSession.h:
  • bindings/scripts/CodeGeneratorJS.pm: Add ImplWebXRSessionRoot to GenerateIsReachable.

(GenerateImplementation):

11:57 AM Changeset in webkit [277250] by rniwa@webkit.org
  • 8 edits in trunk

IPC testing API should have the ability to send and receive shared memory
https://bugs.webkit.org/show_bug.cgi?id=225576

Reviewed by Wenson Hsieh.

Source/WebKit:

This patch adds the capability to send & receive shared memory for IPC testing purposes.
It adds IPC.createSharedMemory which creates a JavaScript object representing a newly
allocated IPC-sharable memory. It has readBytes and writeBytes methods. Both takes offset
and the number of bytes to read / write. readBytes will return a new ArrayBuffer and
writeBytes takes an ArrayBuffer or a typed array as the first argument.

IPC.sendMessage and IPC.sendSyncMessage now supprts encoding this SharedMemory JavaScript
object. It supports the type specific arguments of "protection" and "dataSize" in addition
to the regular "value" property for the SharedMemory object.

This patch also adds the support for sending Semaphore object over IPC created via
IPC.createSemaphore, which was supposed to be added in r277199.

Finally, this patch also exposes the VM page size via IPC.vmPageSize to facilitate
the allocation of a sharable memory of an interesting size for testing purposes.

Tests: TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory

TestWebKitAPI.IPCTestingAPI.CanCreateSharedMemory
TestWebKitAPI.IPCTestingAPI.CanSendSemaphpre
TestWebKitAPI.IPCTestingAPI.CanSendSharedMemory

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::updateSharedMemoryForGetImageData): Use uint32_t instead
of size_t since the latter depends on the specific architecture (e.g. 32-bit vs 64-bit).
(WebKit::RemoteRenderingBackend::updateSharedMemoryAndSemaphoreForGetImageData): Ditto.

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in: Ditto.
  • Platform/IPC/JSIPCBinding.h: Added a specialization for SharedMemory::IPCHandle.
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPCSemaphore::encode const): Added.
(WebKit::IPCTestingAPI::JSSharedMemory): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::create): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::size): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::JSSharedMemory): Added.
(WebKit::IPCTestingAPI::convertToUint64): Moved up here.
(WebKit::IPCTestingAPI::JSIPCSemaphore::signal): Fixed a typo.
(WebKit::IPCTestingAPI::JSIPCSemaphore::waitFor): Ditto.
(WebKit::IPCTestingAPI::JSSharedMemory::createHandle): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::createJSWrapper): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::wrapperClass): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::unwrap): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::toWrapped): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::initialize): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::finalize): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::staticFunctions): Added.
(WebKit::IPCTestingAPI::JSSharedMemory::readBytes): Added.
(WebKit::IPCTestingAPI::arrayBufferDataFromValueRef): Extracted out of encodeTypedArray.
(WebKit::IPCTestingAPI::JSSharedMemory::writeBytes): Added.
(WebKit::IPCTestingAPI::JSIPC::staticFunctions): Added IPC.createSharedMemory.
(WebKit::IPCTestingAPI::JSIPC::staticValues): Added IPC.vmPageSize.
(WebKit::IPCTestingAPI::encodeTypedArray):
(WebKit::IPCTestingAPI::getObjectIdentifierFromProperty): Now uses convertToUint64.
(WebKit::IPCTestingAPI::encodeSharedMemory): Added.
(WebKit::IPCTestingAPI::encodeSemaphore): Added.
(WebKit::IPCTestingAPI::encodeArgument): Added the support for encoding SharedMemory and
Semaphore.
(WebKit::IPCTestingAPI::JSIPC::createSharedMemory): Added.
(WebKit::IPCTestingAPI::JSIPC::vmPageSize): Added.
(IPC::jsValueForDecodedArgumentValue): Added. Creates a newly added SharedMemory JavaScript
object for SharedMemory::IPCHandle. It also exposes dataSize and protection value.
This decoder detects whether the shared memory is writable or not by attempting to map it
as Protection::ReadWrite and falling back to Protection::ReadOnly if the former fails.

Tools:

Added tests for sending and receiving shared memory in the IPC testing API.
Also added a test to send semaphore, which was missing in r277199.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(IPCTestingAPI.CanReceiveSharedMemory): Added.
(IPCTestingAPI.CanCreateSharedMemory): Added.
(IPCTestingAPI.CanSendSemaphpre): Added after r277199.
(IPCTestingAPI.CanSendSharedMemory): Added.

11:54 AM Changeset in webkit [277249] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Remove uses of the String::toInt family of functions from the WebCore/platform directory
https://bugs.webkit.org/show_bug.cgi?id=225575

Second half.

Reviewed by Sam Weinig.

  • platform/mediastream/mac/ScreenDisplayCapturerMac.mm:

(WebCore::ScreenDisplayCapturerMac::create): Use parseInteger<uint32_t>
instead of String::toUIntStrict.
(WebCore::ScreenDisplayCapturerMac::screenCaptureDeviceWithPersistentID): Ditto.

  • platform/mediastream/mac/WindowDisplayCapturerMac.mm:

(WebCore::WindowDisplayCapturerMac::create): Ditto.
(WebCore::WindowDisplayCapturerMac::windowCaptureDeviceWithPersistentID): Ditto.

  • platform/network/HTTPParsers.cpp:

(WebCore::parseRange): Use parseInteger<long long> instead of
String::toInt64Strict. Also use StringView so we don't allocate substrings on
the heap just to parse integers within an existing string. And removed unneeded
call to stripWhiteSpace in one place since parseInteger already allows leading
and trailing spaces, and in another case where we need to strip because of an
empty string check, used stripLeadingAndTrailingHTTPSpaces instead.

  • platform/network/ParsedContentRange.cpp:

(WebCore::parseContentRange): Use parseInteger<int64_t> instead of
StringView::toInt64Strict.

  • platform/network/ParsedRequestRange.cpp:

(WebCore::ParsedRequestRange::parse): Use parseInteger<uint64_t> instead of
StringView::toUInt64Strict.

11:39 AM ProjectsWorthDoing edited by weinig@apple.com
(diff)
11:39 AM Changeset in webkit [277248] by Darin Adler
  • 1 edit in trunk/Source/WebCore/ChangeLog

fixed ChangeLog

11:35 AM Changeset in webkit [277247] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Follow-up to: Remove uses of the String::toInt family of functions from the WebCore/platform directory
https://bugs.webkit.org/show_bug.cgi?id=225575

Reviewed by Sam Weinig.

  • html/FTPDirectoryDocument.cpp:

(WebCore::processFilesizeString): Change format to "1000.0" as we discussed.

11:31 AM Changeset in webkit [277246] by Darin Adler
  • 10 edits in trunk/Source/WebCore

Remove uses of the String::toInt family of functions from the WebCore/platform directory
https://bugs.webkit.org/show_bug.cgi?id=225575

Reviewed by Sam Weinig.

  • platform/DateComponents.cpp: Tweak a comment on the local parseInt function here

that should likely be consolidated with parseInteger at some point.

  • platform/Length.cpp:

(WebCore::parseLength): Use parseInteger<int> instead of charactersToIntStrict.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMPrivateClearKey::sanitizeSessionId const): Use parseInteger<uint32_t>
instead of String::toUIntStrict.

  • platform/graphics/HEVCUtilities.cpp:

(WebCore::parseHEVCCodecParameters): Use parseInteger<uint8/32_t> instead of
toIntegralType<uint8/32_t>.
(WebCore::parseDoViCodecParameters): Ditto.

  • platform/graphics/VP9Utilities.cpp:

(WebCore::parseVPCodecParameters): Ditto.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::parseKeySystem): Use parseInteger<int>
instead of String::toInt. There's no need for the "allow trailing junk" here
because a regular expression is used to check format before we call parseInteger.
Also removed an unnecessary empty string check, since the regular expression
match check will fail on an empty string.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeSelected): Use
parseIntegerAllowingTrailingJunk<uint64_t> instead ot toUInt64.
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::flush): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::canSetMinimumUpcomingPresentationTime const): Ditto.

  • platform/graphics/cocoa/HEVCUtilitiesCocoa.mm:

(WebCore::parseStringArrayFromDictionaryToUInt16Vector): Use
parseInteger<uint16_t> instead of toIntegralType<uint16_t>. We could also
consider using -[NSString intValue] here with some range checking instead
of converting to WTF::String.

  • platform/mediastream/mac/ScreenDisplayCapturerMac.mm:

(WebCore::ScreenDisplayCapturerMac::create): Use parseInteger<uint32_t>
instead of String::toUIntStrict.
(WebCore::ScreenDisplayCapturerMac::screenCaptureDeviceWithPersistentID): Ditto.

  • platform/mediastream/mac/WindowDisplayCapturerMac.mm:

(WebCore::WindowDisplayCapturerMac::create): Ditto.
(WebCore::WindowDisplayCapturerMac::windowCaptureDeviceWithPersistentID): Ditto.

  • platform/network/HTTPParsers.cpp:

(WebCore::parseRange): Use parseInteger<long long> instead of
String::toInt64Strict. Also use StringView so we don't allocate substrings on
the heap just to parse integers within an existing string. And removed unneeded
call to stripWhiteSpace in one place since parseInteger already allows leading
and trailing spaces, and in another case where we need to strip because of an
empty string check, used stripLeadingAndTrailingHTTPSpaces instead.

  • platform/network/ParsedContentRange.cpp:

(WebCore::parseContentRange): Use parseInteger<int64_t> instead of
StringView::toInt64Strict.

  • platform/network/ParsedRequestRange.cpp:

(WebCore::ParsedRequestRange::parse): Use parseInteger<uint64_t> instead of
StringView::toUInt64Strict.

11:22 AM Changeset in webkit [277245] by Darin Adler
  • 35 edits
    1 copy
    1 add in trunk/Source

Remove uses of the String::toInt family of functions from WebCore/html and similar directories
https://bugs.webkit.org/show_bug.cgi?id=225577

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::createEvent): Fix spelling error.

  • html/FTPDirectoryDocument.cpp:

(WebCore::processFilesizeString): Use parseIntegerAllowingTrailingJunk<uint64_t>
instead of String::toUInt64.

  • html/FormController.cpp:

(WebCore::deserializeFormControlState): Use parseIntegerAllowingTrailingJunk<size_t>
instead of String::toUInt.
(WebCore::SavedFormState::deserialize): Ditto.

  • html/HTMLFontElement.cpp:

(WebCore::parseFontSize): Use parseInteger<int> instead of
charactersToIntStrict.

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::parseAttribute): Use parseIntegerAllowingTrailingJunk<int>
instead of String::toInt.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute): Ditto.

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Ditto.

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::parseValue): Ditto.

  • html/HTMLMarqueeElement.cpp:

(WebCore::HTMLMarqueeElement::loop const): Ditto.

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute): Ditto.

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::parseAttribute): Ditto.

  • html/LinkIconCollector.cpp:

(WebCore::LinkIconCollector::iconsOfTypes): Use parseIntegerAllowingTrailingJunk<unsigned>
instead of String::toUInt. Also removed unneeded call to stripWhiteSpace since the
integer parsing function already skips leading and trailing spaces.

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseNPTTime): Use parseInteger<int> instead of
String::toInt. The strings passsed in are fixed size and all digits.

  • html/TypeAhead.cpp:

(WebCore::TypeAhead::handleEvent): Use parseIntegerAllowingTrailingJunk<int>
instead of String::toInt.

  • html/URLDecomposition.cpp:

(WebCore::URLDecomposition::setHost): Use parseInteger<uint16_t> instead of parseUInt16.
(WebCore::parsePort): Ditto.

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent): Use
parseIntegerAllowingTrailingJunk<int> instead of String::toInt.

  • html/track/VTTScanner.cpp:

(WebCore::VTTScanner::scanDigits): Use parseInteger<int> instead of
charactersToIntStrict.

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex): Use
parseIntegerAllowingTrailingJunk<int> instead of AtomString::toInt.

Source/WTF:

  • wtf/text/StringBuilder.h: Added conversion operator to make a StringView, built on the exiting

is8Bit, characters8, characters16 and length functions. Removed now-uneeded equal function and

and != operators since the StringView ones work for those same cases with the same syntax.

11:13 AM ProjectsWorthDoing created by weinig@apple.com
10:43 AM WikiStart edited by weinig@apple.com
(diff)
10:42 AM WikiStart edited by weinig@apple.com
(diff)
2:52 AM Changeset in webkit [277244] by mmaxfield@apple.com
  • 12 edits in trunk

[GPU Process] Simplify DisplayList::Iterator part 6: Migrate ItemBufferWritingClient from ItemHandle to a const Variant&
https://bugs.webkit.org/show_bug.cgi?id=224270

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch adds a new Variant that contains all the DisplayList item types, named DisplayListItem. It also migrates
ItemBufferWritingClient from ItemHandle to this new Variant.

There are two benefits to this:

  1. The templated overload of ItemBuffer::append() is way simpler now. Previously, we used to allocate a byte buffer

on the stack and run a placement new of the display list item type into it. Now, we can just run the DisplayListItem
constructor instead. Using the Variant does require more stack space, but we only will ever have one of these objects
on the stack at a time.

  1. The big table inside RemoteImageBufferProxy::encodeItemOutOfLine() is gone, and is replaced with just 7 lines. This is

one fewer place where we'll have to make sure the DisplayListItem types match a function in an entirely different
framework.

No new tests, because there is no behavior change.

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::copyInto):
(WebCore::DisplayList::safeCopyHelper):
(WebCore::DisplayList::safeCopy):
(WebCore::DisplayList::ItemBuffer::append):

  • platform/graphics/displaylists/DisplayListItemBuffer.h:

(WebCore::DisplayList::ItemBufferWritingClient::requiredSizeForItem const):
(WebCore::DisplayList::ItemBufferWritingClient::encodeItemOutOfLine const):
(WebCore::DisplayList::ItemBufferWritingClient::encodeItemInline const):
(WebCore::DisplayList::ItemBuffer::append):

  • platform/graphics/displaylists/DisplayListItemType.cpp:

(WebCore::DisplayList::paddedSizeOfTypeAndItemInBytes):
(WebCore::DisplayList::displayListItemType):

  • platform/graphics/displaylists/DisplayListItems.h:
  • platform/graphics/displaylists/InMemoryDisplayList.cpp:

(WebCore::DisplayList::InMemoryDisplayList::WritingClient::requiredSizeForItem const):
(WebCore::DisplayList::InMemoryDisplayList::WritingClient::encodeItemInline const):

  • platform/graphics/displaylists/InMemoryDisplayList.h:

Source/WebKit:

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::encodeItemOutOfLineHelper):

Tools:

  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
12:17 AM Changeset in webkit [277243] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Unify last resort fallback font between all Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=225569

Reviewed by Darin Adler.

Just remove an unnecessary #if.

Covered by existing tests.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::lastResortFallbackFont):

May 8, 2021:

9:53 PM Changeset in webkit [277242] by Peng Liu
  • 14 edits in trunk/Source

[GPUP] A small video element enters fullscreen with strange animations
https://bugs.webkit.org/show_bug.cgi?id=225548

Reviewed by Eric Carlson.

Use FloatRect instead of IntRect to exchange video element location/size
information between WebContent processes and the UI process to avoid information
mismatch due to floating-point rounding.

Source/WebCore:

Manually tested.

  • platform/ios/VideoFullscreenInterfaceAVKit.h:
  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(VideoFullscreenInterfaceAVKit::setupFullscreen):
(VideoFullscreenInterfaceAVKit::exitFullscreen):
(VideoFullscreenInterfaceAVKit::preparedToReturnToInline):
(VideoFullscreenInterfaceAVKit::setInlineRect):

Source/WebKit:

Deal with the video element resizing differently for two cases:
1) Video is playing in the inline mode.
2) Video is entering fullscreen/picture-in-picture.
For the latter case, -[WKVideoLayerRemote layoutSublayers] will scale the layer
with the same factor in both X and Y direction.

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:

(WebKit::setVideoInlineSizeIfPossible):
(WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeFenced):

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:

(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::exitFullscreen):
(WebKit::VideoFullscreenManagerProxy::setInlineRect):
(WebKit::VideoFullscreenManagerProxy::preparedToReturnToInline):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::setVideoInlineSizeFenced):
(WebKit::MediaPlayerPrivateRemote::inVideoFullscreenOrPictureInPicture const):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/cocoa/VideoLayerRemoteCocoa.mm:

(-[WKVideoLayerRemote layoutSublayers]):
(-[WKVideoLayerRemote resolveBounds]):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::inlineVideoFrame):
(WebKit::VideoFullscreenManager::requestUpdateInlineRect):

9:31 PM Changeset in webkit [277241] by basuke.suzuki@sony.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[WinCairo] Remove linker warning on ANGLE
https://bugs.webkit.org/show_bug.cgi?id=225501

Reviewed by Darin Adler.

libANGLE is statically linked to libGLESv2.dll so that declspec(dllimport) is not required here.

  • include/platform/PlatformMethods.h:
9:15 PM Changeset in webkit [277240] by Darin Adler
  • 4 edits in trunk/Source/JavaScriptCore

Remove calls to the String::toInt family of functions from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=225571

Reviewed by Sam Weinig.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::parseLocation): Use parseIntegerAllowingTrailingJunk<JSC::SourceID>
instead of String::toIntPtr. There was no reason to parse the source ID as a
signed integer, and it's more elegant to parse the type we intend to store and
process, not a different but similar type.
(Inspector::InspectorDebuggerAgent::searchInContent): Ditto.
(Inspector::InspectorDebuggerAgent::getScriptSource): Ditto.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets): Use
parseInteger<uintptr_t> instead of String::toIntPtrStrict.
(Inspector::InspectorRuntimeAgent::getBasicBlocks): Use
parseIntegerAllowingTrailingJunk<uintptr_t> instead of String::toIntPtr.

  • runtime/FuzzerPredictions.cpp:

(JSC::FuzzerPredictions::FuzzerPredictions): Use parseInteger<uint64_t>
instead of String::toUInt64Strict.

9:09 PM Changeset in webkit [277239] by Darin Adler
  • 7 edits in trunk/Source/WebKit

Remove uses of the WTF::String::toInt family of functions from WebKit framework sources
https://bugs.webkit.org/show_bug.cgi?id=225570

Reviewed by Sam Weinig.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::readSizeFile): Use parseInteger<uint64_t>
instead of charactersToUIntStrict. Also simplified the code a bit by
reducing the mixing of integer types in the function.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::deleteOldVersions): Use parseInteger<unsigned>
instead of String::toUIntStrict. Also use StringView::substring so we don't
have to allocate a copy of a substring just to parse it.

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::getClientSDKVersion): Use
parseInteger<uint32_t> instead of charactersToUIntStrict. Also let the
StringView constructor take care of converting the const char*
so we don't have to write explicit calls to std::strlen here.
(WebKit::XPCServiceInitializerDelegate::getProcessIdentifier): Use
parseInteger<uint64_t> instead of String::toUInt64Strict. Also pass the
const char* as a StringView rather than converting it to a String so we
don't have to allocate a copy of the string just to parse it.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::PluginVersion::parse): Use parseIntegerAllowingTrailingJunk<unsigned>
instead of String::toUInt. Also use StringView::split instead of String::split
so we don't have to allocate memory for all the substrings and a range-based
for loop for simplicity.

  • UIProcess/API/Cocoa/WKWebView.mm:

(coreTextManipulationItemIdentifierFromString): Use -[NSString longLongValue]
instead of String::toUInt64. There's no need to parse this unsigned because
the values will fit in 63 bits just fine, and it's nice to use NSString
directly rather than copying the string just to parse the integer in it.
(coreTextManipulationTokenIdentifierFromString): Ditto.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::parsePostBuffer): Use parseIntegerAllowingTrailingJunk<unsigned>
instead of String::toInt. The length can't be negative; it was not helpful
to parse negative numbers before and this is a small bug fix, but in a code
path that is probably not used for much of anything any more.

7:18 PM Changeset in webkit [277238] by Ross Kirsling
  • 12 edits in trunk/Source/JavaScriptCore

[JSC] Fix invalid exception checks after recent ErrorInstance changes
https://bugs.webkit.org/show_bug.cgi?id=225565

Reviewed by Alexey Shvayka.

r277221 and r277224 each introduced issues under validateExceptionChecks=1; this patch fixes them.

Of particular note:
The earlier patch sought to consolidate Error#cause logic under ErrorInstance::finishCreation.
This part must be undone as it is crucial that non-user-thrown errors be able to bypass that logic
(otherwise throwException itself would need to be exception-checked).

  • runtime/AggregateError.cpp:

(JSC::createAggregateError):

  • runtime/ArrayPrototype.cpp:

(JSC::getProperty):

  • runtime/Error.cpp:

(JSC::createError):
(JSC::createEvalError):
(JSC::createRangeError):
(JSC::createReferenceError):
(JSC::createSyntaxError):
(JSC::createTypeError):
(JSC::createURIError):
(JSC::createGetterTypeError):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::create):
(JSC::ErrorInstance::finishCreation):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::create):

  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::getIfPropertyExists):

  • runtime/NullSetterFunction.cpp:

(JSC::NullSetterFunctionInternal::JSC_DEFINE_HOST_FUNCTION):

  • wasm/js/JSWebAssemblyCompileError.cpp:

(JSC::createJSWebAssemblyCompileError):

  • wasm/js/JSWebAssemblyLinkError.cpp:

(JSC::createJSWebAssemblyLinkError):

  • wasm/js/JSWebAssemblyRuntimeError.cpp:

(JSC::createJSWebAssemblyRuntimeError):

6:29 PM Changeset in webkit [277237] by weinig@apple.com
  • 39 edits
    2 adds in trunk/Source

Factor out pixel buffer from DOM specific ImageData class
https://bugs.webkit.org/show_bug.cgi?id=225554

Reviewed by Darin Adler.

Source/WebCore:

Prepare to fix layering violating use of DOM level ImageData being
used by platform code by factoring out the pixel storage into a new
PixelBuffer class. Since it will be a little more general that
ImageData is now (though ImageData will need to gain these soon)
PixelBuffer also captures the pixel format and color space the pixel
data represents.

While here, update ImageData::data() to return a reference rather than
a pointer to indicate it is never null and update all the callers.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readTerminal):

  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createPromise):

  • html/ImageData.cpp:

(WebCore::ImageData::create):
(WebCore::ImageData::ImageData):
(WebCore::ImageData::deepClone const):
(WebCore::operator<<):

  • html/ImageData.h:

(WebCore::ImageData::size const):
(WebCore::ImageData::width const):
(WebCore::ImageData::height const):
(WebCore::ImageData::data const):
(WebCore::ImageData::colorSpace const):
(WebCore::ImageData::format const):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::createEmptyImageData):
(WebCore::CanvasRenderingContext2DBase::putImageData):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImageSourceHelper):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForImageData):

  • platform/graphics/GraphicsContextGL.cpp:

(WebCore::GraphicsContextGL::extractImageData):

  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::convertToLuminanceMask):
(WebCore::ImageBufferBackend::getImageData const):
(WebCore::ImageBufferBackend::putImageData):

  • platform/graphics/PixelBuffer.cpp: Added.

(WebCore::PixelBuffer::PixelBuffer):
(WebCore::PixelBuffer::deepClone const):

  • platform/graphics/PixelBuffer.h: Added.

(WebCore::PixelBuffer::colorSpace const):
(WebCore::PixelBuffer::format const):
(WebCore::PixelBuffer::size const):
(WebCore::PixelBuffer::data const):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::blurShadowBuffer):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::readPixelsForPaintResults):

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLOpenGL::paintToCanvas):

  • platform/graphics/cg/ImageBufferCGBackend.cpp:

(WebCore::ImageBufferCGBackend::toCFData const):

  • platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::cfData):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::platformApplySoftware):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::platformApplySoftware):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::platformApplySoftware):

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::platformApplySoftware):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::forceValidPreMultipliedPixels):
(WebCore::FilterEffect::copyConvertedImageBufferToDestination):
(WebCore::FilterEffect::copyConvertedImageDataToDestination):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

Source/WebKit:

Update for ImageData::data() returning a reference.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::populateGetImageDataSharedMemory):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Ref<WebCore::ImageData>>::encode):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
6:26 PM Changeset in webkit [277236] by Darin Adler
  • 2 edits in trunk/Source/WebKitLegacy/mac

[Cocoa] Remove the one use of String::toInt from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=225568

Reviewed by Sam Weinig.

  • DOM/DOMHTMLInputElement.mm:

(-[DOMHTMLInputElement setSize:]): Use -[NSString intValue] instead of WTF::String::toInt.
Both functions ignore leading spaces, and both ignore trailing junk, so there is no
significant change in behavior.

6:17 PM Changeset in webkit [277235] by commit-queue@webkit.org
  • 16 edits
    2 deletes in trunk

REGRESSION (r276797?): [ macOS/iOS ] TestWebKitAPI.URLSchemeHandler.Exceptions is flakey crashing
https://bugs.webkit.org/show_bug.cgi?id=225373

Patch by Alex Christensen <achristensen@webkit.org> on 2021-05-08
Reviewed by Sam Weinig.

Source/WebKit:

This patch fixes three problems related to the lifetime of WKURLSchemeTasks:

  1. There was an unneeded abstraction API::URLSchemeTask which wrapped a WebURLSchemeTask, which could have a different lifetime than its owner. This is especially bad since at least one was used on multiple threads.
  2. We weren't explicitly keeping a strong reference to the task given to the API client in startURLSchemeTask: and stopURLSchemeTask: which could cause all our internal maps to release their references to the task after the first call to didFailWithError and there was a test that did multiple calls to didFailWithError and verifies it throws an NSException the second time.
  3. We were keeping a HashSet of raw WebURLSchemeHandler pointers, then using each of them without keeping it alive.

This is covered by at least the URLSchemeHandler.Exceptions API test which would crash in many exciting places before this but doesn't crash after this.

  • Sources.txt:
  • UIProcess/API/APIURLSchemeTask.cpp: Removed.
  • UIProcess/API/APIURLSchemeTask.h: Removed.
  • UIProcess/API/C/WKTestingSupport.cpp:

(WKGetAPIURLSchemeTaskInstanceCount): Deleted.

  • UIProcess/API/C/WKTestingSupport.h:
  • UIProcess/API/Cocoa/WKURLSchemeTask.mm:

(-[WKURLSchemeTaskImpl init]):
(-[WKURLSchemeTaskImpl dealloc]):
(-[WKURLSchemeTaskImpl request]):
(-[WKURLSchemeTaskImpl _requestOnlyIfCached]):
(-[WKURLSchemeTaskImpl _willPerformRedirection:newRequest:completionHandler:]):
(-[WKURLSchemeTaskImpl didReceiveResponse:]):
(-[WKURLSchemeTaskImpl didReceiveData:]):
(-[WKURLSchemeTaskImpl didFinish]):
(-[WKURLSchemeTaskImpl didFailWithError:]):
(-[WKURLSchemeTaskImpl _didPerformRedirection:newRequest:]):
(-[WKURLSchemeTaskImpl _frame]):

  • UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h:
  • UIProcess/Cocoa/WebURLSchemeHandlerCocoa.h:
  • UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm:

(WebKit::WebURLSchemeHandlerCocoa::platformStartTask):
(WebKit::WebURLSchemeHandlerCocoa::platformStopTask):
(WebKit::WebURLSchemeHandlerCocoa::platformTaskCompleted): Deleted.

  • UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.h:
  • UIProcess/Inspector/win/InspectorResourceURLSchemeHandler.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::stopAllURLSchemeTasks):

  • UIProcess/WebURLSchemeHandler.cpp:

(WebKit::WebURLSchemeHandler::taskCompleted):

  • UIProcess/WebURLSchemeHandler.h:
  • UIProcess/WebURLSchemeTask.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:

(runUntilTasksInFlight):

5:59 PM Changeset in webkit [277234] by Darin Adler
  • 4 edits in trunk/Source/WTF

Rename toIntegralType to parseInteger and prepare to use it to replace all our integer-parsing functions
https://bugs.webkit.org/show_bug.cgi?id=225560

Reviewed by Sam Weinig.

I have a much larger patch that replaces all the many toInt functions with these parseInteger
function templates. The parseInteger ones take StringView, which means we can pass almost any
type of string or character/length pair including a substring without allocating a new string,
return Optional rather than using an out argument to report failure, take the integer type as
a template parameter so can be used for precisely the desired type at each call site, and make
the "allow trailing junk" feature explicit, rather than implicitly including it in the shortest
named functions, which I hope will discourage people from using that junk-ignoring mode
when it's not desirable.

Also includes adoption of parseInteger within WTF itself, outside the string classes.

My plan is to land the rest of adoption of this in chunks so we can review carefully and spot
mistakes as we go. Then return to files like WTFString.h and remove the many old functions
this replaces, including the String::toInt and charactersToInt families of functions.

  • wtf/URL.cpp:

(WTF::URL::port const): Use parseInteger<uint16_t>.
(WTF::URL::setHostAndPort): Ditto.

  • wtf/text/StringToIntegerConversion.h: Refactored the existing code to tighten things up

a bit, and got rid of overloads that take pointer and length and the the generic "any string
type" feature, since StringView already works well for that. Renamed toIntegralType to
parseInteger, leaving the old name behind to ease the transition while adopting parseInteger.

  • wtf/text/WTFString.cpp:

(WTF::toDoubleType): Use the TrailingJunkPolicy enumeration from the
StringToIntegerConversion.h header.
(WTF::charactersToDouble): Ditto.
(WTF::charactersToFloat): Ditto.

5:51 PM Changeset in webkit [277233] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Unify font collection handling between all Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=225566

Reviewed by Darin Adler.

Just remove an unnecessary #if.

Covered by existing tests.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

5:13 PM Changeset in webkit [277232] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Add bounds checks around calls to GlyphBuffer::stringOffsetAt()
https://bugs.webkit.org/show_bug.cgi?id=225335
<rdar://problem/75663608>

Reviewed by Simon Fraser and Geoff Garen.

We're getting crash reports that look like they're from string offsets being out-of-bounds.
These string offsets round-trip through Core Text, which is allowed to modify them, which
can end up making them out-of-bounds.

No new tests because I don't have a reproducible test case; just crash reports.

  • platform/graphics/FontCascade.cpp:

(WebCore::computeUnderlineType):

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::uncheckedStringOffsetAt const):
(WebCore::GlyphBuffer::checkedStringOffsetAt const):
(WebCore::GlyphBuffer::stringOffsetAt const): Deleted.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::applyExtraSpacingAfterShaping):

3:35 PM Changeset in webkit [277231] by Chris Dumez
  • 9 edits in trunk

Port Filesystem::pathByAppendingComponent() & Filesystem:: pathByAppendingComponents() to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225550

Reviewed by Darin Adler.

Source/JavaScriptCore:

Build fix.

  • Configurations/JavaScriptCore.xcconfig:

Source/WTF:

Port Filesystem::pathByAppendingComponent() & Filesystem:: pathByAppendingComponents() to std::filesystem
and get rid of platform-specific implementations.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::pathByAppendingComponent):
(WTF::FileSystemImpl::pathByAppendingComponents):

  • wtf/glib/FileSystemGlib.cpp:
  • wtf/posix/FileSystemPOSIX.cpp:
  • wtf/win/FileSystemWin.cpp:

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WTF/FileSystem.cpp:

(TestWebKitAPI::TEST_F):

10:56 AM Changeset in webkit [277230] by commit-queue@webkit.org
  • 7 edits in trunk

Fix a typo
https://bugs.webkit.org/show_bug.cgi?id=225502

Patch by Ricky Mondello <Ricky Mondello> on 2021-05-08
Reviewed by Chris Dumez.

Source/WebCore:

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preconnectIfNeeded):

LayoutTests:

Update test expectations.

  • http/tests/in-app-browser-privacy/context-string-preconnect-expected.txt:
  • http/tests/preconnect/link-header-rel-preconnect-http-expected.txt:
  • http/tests/preconnect/link-rel-preconnect-http-expected.txt:
  • http/tests/preconnect/link-rel-preconnect-https-expected.txt:
9:54 AM Changeset in webkit [277229] by Diego Pino Garcia
  • 3 edits in trunk/Source/WTF

[GLIB] REGRESSION(r277158) imported/w3c/web-platform-tests/xhr/FormData-append.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=225551

Reviewed by Chris Dumez.

  • wtf/FileSystem.cpp:

(WTF::FileSystemImpl::fileIsDirectory): Remove unnecessary path.isEmpty check.

  • wtf/glib/FileSystemGlib.cpp:

(WTF::FileSystemImpl::fileSystemRepresentation): Return empty CString if path is empty.

8:03 AM Changeset in webkit [277228] by Megan Gardner
  • 2 edits in trunk/Source/WebCore

Increase stored AppHighlight character limit to 500
https://bugs.webkit.org/show_bug.cgi?id=225558

Reviewed by Tim Horton.

  • Modules/highlight/AppHighlightStorage.cpp:
7:12 AM Changeset in webkit [277227] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.32.1

WPE WebKit 2.32.1

7:11 AM Changeset in webkit [277226] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.32

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.32.1 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.32.1
3:43 AM Changeset in webkit [277225] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

[SOUP] Use the new libsoup network metrics API
https://bugs.webkit.org/show_bug.cgi?id=225510

Reviewed by Michael Catanzaro.

Use the new API available in libsoup3. It provides more accurate information for time metrics and also size
metrics that were missing.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::createRequest):
(WebKit::NetworkDataTaskSoup::clearRequest):
(WebKit::NetworkDataTaskSoup::resume):
(WebKit::NetworkDataTaskSoup::didSendRequest):
(WebKit::NetworkDataTaskSoup::dispatchDidCompleteWithError):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
(WebKit::NetworkDataTaskSoup::didGetHeaders):
(WebKit::NetworkDataTaskSoup::wroteHeadersCallback):
(WebKit::NetworkDataTaskSoup::wroteBodyCallback):
(WebKit::NetworkDataTaskSoup::gotBodyCallback):
(WebKit::NetworkDataTaskSoup::networkEvent):
(WebKit::NetworkDataTaskSoup::didStartRequest):
(WebKit::NetworkDataTaskSoup::didRestart):

  • NetworkProcess/soup/NetworkDataTaskSoup.h:
12:32 AM Changeset in webkit [277224] by Ross Kirsling
  • 5 edits in trunk/Source/JavaScriptCore

Introduce JSObject::getIfPropertyExists helper
https://bugs.webkit.org/show_bug.cgi?id=225553

Reviewed by Alexey Shvayka.

Suggested by Alexey during review of r277221.
ArrayPrototype also has a "Has-guarded Get", so it's helpful for JSObject to house this functionality.

  • runtime/ArrayPrototype.cpp:

(JSC::getProperty):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::getIfPropertyExists):

Note: See TracTimeline for information about the timeline view.