[webkit-changes] [WebKit/WebKit] bc3ff0: ShareableResource::Handle should always be valid

Don Olmstead noreply at github.com
Mon Sep 18 01:47:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bc3ff053ad9d4dc8da786f2d35c5d871796eca88
      https://github.com/WebKit/WebKit/commit/bc3ff053ad9d4dc8da786f2d35c5d871796eca88
  Author: Don Olmstead <don.olmstead at sony.com>
  Date:   2023-09-18 (Mon, 18 Sep 2023)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCache.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.h
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/ShareableResource.cpp
    M Source/WebKit/Shared/ShareableResource.h
    M Source/WebKit/Shared/ShareableResource.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp

  Log Message:
  -----------
  ShareableResource::Handle should always be valid
https://bugs.webkit.org/show_bug.cgi?id=261610

Reviewed by Kimmo Kinnunen.

The underyling `SharedMemory::Handle` in `ShareableResource::Handle`
should always be valid. Remove the `isNull` method and default
constructor. Use `std::optional<ShareableResource::Handle>` in place of
any `isNull` checks. Validate the handle within the generated
serialization.

This is a step towards `SharedMemory::Handle` also always being valid.

* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
* Source/WebKit/NetworkProcess/cache/NetworkCache.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeBufferFromStorageRecord const):
(WebKit::NetworkCache::Entry::shareableResourceHandle const):
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord const): Deleted.
* Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.h:
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_must_be_moved):
* Source/WebKit/Shared/ShareableResource.cpp:
(WebKit::ShareableResourceHandle::ShareableResourceHandle):
* Source/WebKit/Shared/ShareableResource.h:
(WebKit::ShareableResourceHandle::isNull const): Deleted.
* Source/WebKit/Shared/ShareableResource.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::tryConvertToShareableResourceHandle):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::encode):
(IPC::ArgumentCoder<WebCore::ScriptBuffer>::decode):
(IPC::decodeScriptBufferAsShareableResourceHandle): Deleted.

Canonical link: https://commits.webkit.org/268077@main




More information about the webkit-changes mailing list