<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[287021] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/287021">287021</a></dd>
<dt>Author</dt> <dd>jya@apple.com</dd>
<dt>Date</dt> <dd>2021-12-14 02:48:01 -0800 (Tue, 14 Dec 2021)</dd>
</dl>

<h3>Log Message</h3>
<pre>PerformanceTests:
Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability: part 3
https://bugs.webkit.org/show_bug.cgi?id=233677

Reviewed by Youenn Fablet.

* DecoderTest/DecoderTest/main.mm:
(main):

Source/JavaScriptCore:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* runtime/ArrayBuffer.h:

Source/WebCore:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

Rename only, no change in behaviour.

* Modules/async-clipboard/ClipboardImageReader.cpp:
* Modules/async-clipboard/ClipboardImageReader.h:
* Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
* Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
* Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm:
* Modules/async-clipboard/mac/ClipboardImageReaderMac.mm:
* Modules/cache/CacheStorageConnection.cpp:
* Modules/cache/DOMCache.cpp:
* Modules/cache/DOMCache.h:
* Modules/cache/DOMCacheEngine.cpp:
* Modules/cache/DOMCacheEngine.h:
* Modules/encryptedmedia/CDM.cpp:
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMClient.h:
* Modules/encryptedmedia/InitDataRegistry.cpp:
* Modules/encryptedmedia/InitDataRegistry.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeyStatusMap.cpp:
* Modules/encryptedmedia/MediaKeyStatusMap.h:
* Modules/encryptedmedia/MediaKeys.cpp:
* Modules/encryptedmedia/MediaKeys.h:
* Modules/fetch/FetchBody.cpp:
* Modules/fetch/FetchBody.h:
* Modules/fetch/FetchBodyConsumer.cpp:
* Modules/fetch/FetchBodyConsumer.h:
* Modules/fetch/FetchLoader.cpp:
* Modules/fetch/FetchLoader.h:
* Modules/fetch/FetchResponse.cpp:
* Modules/fetch/FetchResponse.h:
* Modules/highlight/AppHighlight.h:
* Modules/highlight/AppHighlightRangeData.cpp:
* Modules/highlight/AppHighlightRangeData.h:
* Modules/highlight/AppHighlightStorage.cpp:
* Modules/highlight/AppHighlightStorage.h:
* Modules/indexeddb/server/IDBSerialization.cpp:
* Modules/indexeddb/server/IDBSerialization.h:
* Modules/mediarecorder/MediaRecorder.cpp:
* Modules/mediarecorder/MediaRecorder.h:
* Modules/mediasession/MediaMetadata.cpp:
* Modules/mediasource/SourceBuffer.cpp:
* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/RTCDataChannelRemoteHandler.h:
* Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
* Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
* Modules/streams/ReadableStreamSink.h:
* bindings/js/JSDOMGlobalObject.cpp:
* bindings/js/ScriptBufferSourceProvider.h:
* bindings/js/SerializedScriptValue.h:
* css/CSSFontFaceSource.cpp:
* css/CSSFontFaceSource.h:
* dom/DataTransfer.cpp:
* editing/Editor.cpp:
* editing/Editor.h:
* editing/SerializedAttachmentData.h:
* editing/WebContentReader.h:
* editing/WebCorePasteboardFileReader.cpp:
* editing/WebCorePasteboardFileReader.h:
* editing/cocoa/EditorCocoa.mm:
* editing/cocoa/HTMLConverter.mm:
* editing/cocoa/WebContentReaderCocoa.mm:
* editing/gtk/WebContentReaderGtk.cpp:
* editing/mac/EditorMac.mm:
* fileapi/Blob.h:
* fileapi/NetworkSendQueue.cpp:
* fileapi/NetworkSendQueue.h:
* html/FTPDirectoryDocument.cpp:
* html/HTMLAttachmentElement.cpp:
* html/HTMLAttachmentElement.h:
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:
* html/ImageDocument.cpp:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorInstrumentationWebKit.cpp:
* inspector/InspectorInstrumentationWebKit.h:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
* inspector/agents/InspectorNetworkAgent.cpp:
* inspector/agents/InspectorNetworkAgent.h:
* inspector/agents/InspectorPageAgent.cpp:
* inspector/agents/InspectorPageAgent.h:
* loader/ContentFilter.cpp:
* loader/CrossOriginPreflightChecker.cpp:
* loader/DocumentLoader.cpp:
* loader/DocumentLoader.h:
* loader/DocumentThreadableLoader.cpp:
* loader/EmptyClients.cpp:
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/LoaderStrategy.h:
* loader/NetscapePlugInStreamLoader.cpp:
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceCryptographicDigest.cpp:
* loader/ResourceCryptographicDigest.h:
* loader/ResourceLoader.cpp:
* loader/ResourceLoader.h:
* loader/SubresourceLoader.cpp:
* loader/SubresourceLoader.h:
* loader/SubstituteData.h:
* loader/SubstituteResource.h:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheResource.cpp:
* loader/appcache/ApplicationCacheResource.h:
* loader/appcache/ApplicationCacheStorage.cpp:
* loader/appcache/ApplicationCacheStorage.h:
* loader/archive/ArchiveFactory.cpp:
* loader/archive/ArchiveFactory.h:
* loader/archive/ArchiveResource.cpp:
* loader/archive/ArchiveResource.h:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/archive/cf/LegacyWebArchive.h:
* loader/archive/mhtml/MHTMLArchive.cpp:
* loader/archive/mhtml/MHTMLArchive.h:
* loader/archive/mhtml/MHTMLParser.cpp:
* loader/archive/mhtml/MHTMLParser.h:
* loader/cache/CachedApplicationManifest.cpp:
* loader/cache/CachedApplicationManifest.h:
* loader/cache/CachedCSSStyleSheet.cpp:
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedFont.h:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedImage.h:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
* loader/cache/CachedSVGDocument.cpp:
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedSVGFont.cpp:
* loader/cache/CachedSVGFont.h:
* loader/cache/CachedScript.cpp:
* loader/cache/CachedScript.h:
* loader/cache/CachedTextTrack.cpp:
* loader/cache/CachedTextTrack.h:
* loader/cache/CachedXSLStyleSheet.cpp:
* loader/cache/CachedXSLStyleSheet.h:
* loader/cocoa/DiskCacheMonitorCocoa.h:
* loader/cocoa/DiskCacheMonitorCocoa.mm:
* loader/ios/LegacyPreviewLoader.h:
* loader/ios/LegacyPreviewLoader.mm:
* page/EditorClient.h:
* page/Page.cpp:
* page/PageSerializer.cpp:
* page/PageSerializer.h:
* page/ShareData.h:
* page/ShareDataReader.cpp:
* platform/KeyedCoding.h:
* platform/NowPlayingManager.h:
* platform/Pasteboard.cpp:
* platform/Pasteboard.h:
* platform/PasteboardCustomData.cpp:
* platform/PasteboardCustomData.h:
* platform/PasteboardStrategy.h:
* platform/PasteboardWriterData.h:
* platform/PlatformContentFilter.h:
* platform/PlatformPasteboard.h:
* platform/PreviewConverter.cpp:
* platform/PreviewConverter.h:
* platform/PreviewConverterClient.h:
* platform/PreviewConverterProvider.h:
* platform/PromisedAttachmentInfo.h:
* platform/SharedBuffer.cpp:
* platform/SharedBuffer.h:
* platform/SharedBufferChunkReader.cpp:
* platform/SharedBufferChunkReader.h:
* platform/StaticPasteboard.cpp:
* platform/StaticPasteboard.h:
* platform/audio/NowPlayingInfo.h:
* platform/audio/cocoa/AudioFileReaderCocoa.cpp:
* platform/cf/KeyedEncoderCF.cpp:
* platform/cf/KeyedEncoderCF.h:
* platform/cf/SharedBufferCF.cpp:
* platform/cocoa/NetworkExtensionContentFilter.h:
* platform/cocoa/NetworkExtensionContentFilter.mm:
* platform/cocoa/ParentalControlsContentFilter.h:
* platform/cocoa/ParentalControlsContentFilter.mm:
* platform/cocoa/PasteboardCocoa.mm:
* platform/cocoa/SharedBufferCocoa.mm:
* platform/encryptedmedia/CDMInstance.h:
* platform/encryptedmedia/CDMInstanceSession.h:
* platform/encryptedmedia/CDMPrivate.h:
* platform/encryptedmedia/CDMProxy.cpp:
* platform/encryptedmedia/CDMProxy.h:
* platform/encryptedmedia/CDMUtilities.cpp:
* platform/encryptedmedia/CDMUtilities.h:
* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
* platform/encryptedmedia/clearkey/CDMClearKey.h:
* platform/generic/KeyedEncoderGeneric.cpp:
* platform/generic/KeyedEncoderGeneric.h:
* platform/glib/KeyedEncoderGlib.cpp:
* platform/glib/KeyedEncoderGlib.h:
* platform/glib/SharedBufferGlib.cpp:
* platform/graphics/Font.cpp:
* platform/graphics/Font.h:
* platform/graphics/FontPlatformData.h:
* platform/graphics/Image.cpp:
* platform/graphics/Image.h:
* platform/graphics/ImageBackingStore.h:
* platform/graphics/ImageDecoder.cpp:
* platform/graphics/ImageDecoder.h:
* platform/graphics/ImageSource.cpp:
* platform/graphics/ImageSource.h:
* platform/graphics/Model.cpp:
* platform/graphics/Model.h:
* platform/graphics/PlatformMediaResourceLoader.h:
* platform/graphics/SourceBufferPrivate.cpp:
* platform/graphics/SourceBufferPrivate.h:
* platform/graphics/WOFFFileFormat.cpp:
* platform/graphics/WOFFFileFormat.h:
* platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
* platform/graphics/avfoundation/CDMFairPlayStreaming.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
* platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
* platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cg/ImageDecoderCG.cpp:
* platform/graphics/cg/ImageDecoderCG.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
* platform/graphics/cocoa/SourceBufferParser.cpp:
* platform/graphics/cocoa/SourceBufferParser.h:
* platform/graphics/cocoa/SourceBufferParserWebM.cpp:
* platform/graphics/coretext/FontPlatformDataCoreText.cpp:
* platform/graphics/displaylists/DisplayListItemBuffer.cpp:
* platform/graphics/displaylists/DisplayListItemBuffer.h:
* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
* platform/graphics/gstreamer/GStreamerCommon.cpp:
* platform/graphics/gstreamer/GStreamerCommon.h:
* platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
* platform/graphics/gstreamer/ImageDecoderGStreamer.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/graphics/gstreamer/eme/CDMProxyClearKey.h:
* platform/graphics/gstreamer/eme/CDMThunder.cpp:
* platform/graphics/gstreamer/eme/CDMThunder.h:
* platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
* platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
* platform/graphics/mac/FontCustomPlatformData.cpp:
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/opentype/OpenTypeMathData.cpp:
* platform/graphics/opentype/OpenTypeMathData.h:
* platform/graphics/opentype/OpenTypeTypes.h:
* platform/graphics/opentype/OpenTypeUtilities.cpp:
* platform/graphics/opentype/OpenTypeUtilities.h:
* platform/graphics/opentype/OpenTypeVerticalData.cpp:
* platform/graphics/win/DirectWriteUtilities.h:
* platform/graphics/win/FontCustomPlatformData.cpp:
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
* platform/graphics/win/FontPlatformDataWin.cpp:
* platform/graphics/win/ImageDecoderDirect2D.cpp:
* platform/graphics/win/ImageDecoderDirect2D.h:
* platform/graphics/win/ImageWin.cpp:
* platform/gtk/SelectionData.h:
* platform/image-decoders/ScalableImageDecoder.cpp:
* platform/image-decoders/ScalableImageDecoder.h:
* platform/image-decoders/avif/AVIFImageReader.cpp:
* platform/image-decoders/avif/AVIFImageReader.h:
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/bmp/BMPImageReader.h:
* platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:
* platform/image-decoders/png/PNGImageDecoder.cpp:
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
* platform/image-decoders/webp/WEBPImageDecoder.h:
* platform/ios/PasteboardIOS.mm:
* platform/ios/PlatformPasteboardIOS.mm:
* platform/mac/PasteboardMac.mm:
* platform/mac/PlatformPasteboardMac.mm:
* platform/mediarecorder/MediaRecorderPrivate.h:
* platform/mediarecorder/MediaRecorderPrivateMock.cpp:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
* platform/network/DataURLDecoder.h:
* platform/network/FormData.cpp:
* platform/network/FormData.h:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
* platform/network/ResourceHandleClient.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
* platform/network/cocoa/RangeResponseGenerator.mm:
* platform/network/cocoa/WebCoreNSURLSession.h:
* platform/network/cocoa/WebCoreNSURLSession.mm:
* platform/network/curl/CurlDownload.cpp:
* platform/network/curl/CurlDownload.h:
* platform/network/curl/CurlMultipartHandle.cpp:
* platform/network/curl/CurlMultipartHandle.h:
* platform/network/curl/CurlMultipartHandleClient.h:
* platform/network/curl/CurlRequest.cpp:
* platform/network/curl/CurlRequest.h:
* platform/network/curl/CurlRequestClient.h:
* platform/network/curl/CurlResourceHandleDelegate.cpp:
* platform/network/curl/CurlResourceHandleDelegate.h:
* platform/network/ios/LegacyPreviewLoaderClient.h:
* platform/posix/SharedBufferPOSIX.cpp:
* platform/win/PasteboardWin.cpp:
* platform/win/SharedBufferWin.cpp:
* testing/MockCDMFactory.cpp:
* testing/MockCDMFactory.h:
* testing/MockContentFilter.cpp:
* testing/MockContentFilter.h:
* workers/ScriptBuffer.h:
* workers/WorkerFontLoadRequest.cpp:
* workers/service/context/ServiceWorkerFetch.cpp:
* workers/service/context/ServiceWorkerFetch.h:
* workers/service/server/SWScriptStorage.cpp:
* xml/XSLTProcessorLibxslt.cpp:
* xml/parser/XMLDocumentParserLibxml2.cpp:

Source/WebKit:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* GPUProcess/media/RemoteCDMInstanceProxy.cpp:
* GPUProcess/media/RemoteCDMInstanceProxy.h:
* GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
* GPUProcess/media/RemoteCDMInstanceSessionProxy.h:
* GPUProcess/media/RemoteCDMProxy.cpp:
* GPUProcess/media/RemoteCDMProxy.h:
* GPUProcess/media/RemoteLegacyCDMProxy.h:
* GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp:
* GPUProcess/media/RemoteLegacyCDMSessionProxy.h:
* GPUProcess/media/RemoteMediaResource.cpp:
* GPUProcess/media/RemoteMediaResource.h:
* GPUProcess/webrtc/RemoteMediaRecorder.cpp:
* NetworkProcess/Downloads/PendingDownload.h:
* NetworkProcess/NetworkCORSPreflightChecker.cpp:
* NetworkProcess/NetworkCORSPreflightChecker.h:
* NetworkProcess/NetworkDataTask.h:
* NetworkProcess/NetworkLoad.cpp:
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkLoadClient.h:
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/PingLoad.cpp:
* NetworkProcess/PingLoad.h:
* NetworkProcess/PreconnectTask.cpp:
* NetworkProcess/PreconnectTask.h:
* NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
* NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h:
* NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
* NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
* NetworkProcess/cache/CacheStorageEngineCache.cpp:
* NetworkProcess/cache/NetworkCache.cpp:
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheEntry.cpp:
* NetworkProcess/cache/NetworkCacheEntry.h:
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
* NetworkProcess/cache/PrefetchCache.cpp:
* NetworkProcess/cache/PrefetchCache.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
* NetworkProcess/curl/NetworkDataTaskCurl.cpp:
* NetworkProcess/curl/NetworkDataTaskCurl.h:
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
* NetworkProcess/webrtc/NetworkRTCProvider.h:
* Platform/IPC/SharedBufferCopy.cpp:
* Platform/IPC/SharedBufferCopy.h:
* Platform/IPC/SharedBufferDataReference.h:
* Platform/SharedMemory.cpp:
* Platform/SharedMemory.h:
* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
* Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
* Shared/ShareableResource.cpp:
* Shared/ShareableResource.h:
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebHitTestResultData.cpp:
* Shared/gtk/ArgumentCodersGtk.cpp:
* Shared/win/WebCoreArgumentCodersWin.cpp:
* UIProcess/API/APIAttachment.cpp:
* UIProcess/API/APIAttachment.h:
* UIProcess/API/APIContentRuleListStore.cpp:
* UIProcess/API/APIContentRuleListStore.h:
* UIProcess/API/APINavigationClient.h:
* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
* UIProcess/API/gtk/DropTargetGtk3.cpp:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebURLSchemeTask.cpp:
* UIProcess/WebURLSchemeTask.h:
* UIProcess/gtk/Clipboard.h:
* UIProcess/gtk/ClipboardGtk3.cpp:
* UIProcess/gtk/ClipboardGtk4.cpp:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
* UIProcess/ios/WKContentViewInteraction.mm:
* UIProcess/ios/WebPageProxyIOS.mm:
* UIProcess/mac/PageClientImplMac.h:
* UIProcess/mac/PageClientImplMac.mm:
* UIProcess/mac/WebPageProxyMac.mm:
* WebProcess/GPU/media/RemoteCDM.cpp:
* WebProcess/GPU/media/RemoteCDM.h:
* WebProcess/GPU/media/RemoteCDMInstance.cpp:
* WebProcess/GPU/media/RemoteCDMInstance.h:
* WebProcess/GPU/media/RemoteCDMInstanceSession.cpp:
* WebProcess/GPU/media/RemoteCDMInstanceSession.h:
* WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
* WebProcess/GPU/media/RemoteImageDecoderAVF.h:
* WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:
* WebProcess/GPU/media/RemoteImageDecoderAVFManager.h:
* WebProcess/GPU/media/RemoteLegacyCDMSession.cpp:
* WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
* WebProcess/GPU/media/SourceBufferPrivateRemote.h:
* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
* WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
* WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
* WebProcess/Network/WebResourceLoader.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/Plugins/PluginView.h:
* WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
* WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.cpp:
* WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
* WebProcess/WebPage/WebFrame.cpp:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/win/WebProcessWin.cpp:

Source/WebKitLegacy:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* WebCoreSupport/PingHandle.h:

Source/WebKitLegacy/mac:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebView/WebDataSource.mm:
* WebView/WebHTMLView.mm:
* WebView/WebResource.mm:

Source/WebKitLegacy/win:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* MemoryStream.cpp:
* MemoryStream.h:
* WebArchive.cpp:
* WebCoreSupport/WebEditorClient.cpp:
* WebCoreSupport/WebEditorClient.h:
* WebFrame.cpp:
* WebFrame.h:
* WebKitDLL.cpp:
* WebResource.cpp:
* WebResource.h:

Tools:
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900

Reviewed by Youenn Fablet.

SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.

* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
* TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
* TestWebKitAPI/Tests/WebCore/SharedBufferTest.h:
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
* TestWebKitAPI/win/TestWebCoreStubs.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkPerformanceTestsChangeLog">trunk/PerformanceTests/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeArrayBufferh">trunk/Source/JavaScriptCore/runtime/ArrayBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardClipboardImageReadercpp">trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardClipboardImageReaderh">trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourcecpp">trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourceh">trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardiosClipboardImageReaderIOSmm">trunk/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreModulesasyncclipboardmacClipboardImageReaderMacmm">trunk/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm</a></li>
<li><a href="#trunkSourceWebCoreModulescacheCacheStorageConnectioncpp">trunk/Source/WebCore/Modules/cache/CacheStorageConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulescacheDOMCachecpp">trunk/Source/WebCore/Modules/cache/DOMCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulescacheDOMCacheh">trunk/Source/WebCore/Modules/cache/DOMCache.h</a></li>
<li><a href="#trunkSourceWebCoreModulescacheDOMCacheEnginecpp">trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulescacheDOMCacheEngineh">trunk/Source/WebCore/Modules/cache/DOMCacheEngine.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaCDMcpp">trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaCDMh">trunk/Source/WebCore/Modules/encryptedmedia/CDM.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaCDMClienth">trunk/Source/WebCore/Modules/encryptedmedia/CDMClient.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaInitDataRegistrycpp">trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaInitDataRegistryh">trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeySessioncpp">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeySessionh">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeyStatusMapcpp">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeyStatusMaph">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeyscpp">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesencryptedmediaMediaKeysh">trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchBodycpp">trunk/Source/WebCore/Modules/fetch/FetchBody.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchBodyh">trunk/Source/WebCore/Modules/fetch/FetchBody.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchBodyConsumercpp">trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchBodyConsumerh">trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchLoadercpp">trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchLoaderh">trunk/Source/WebCore/Modules/fetch/FetchLoader.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponsecpp">trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponseh">trunk/Source/WebCore/Modules/fetch/FetchResponse.h</a></li>
<li><a href="#trunkSourceWebCoreModuleshighlightAppHighlighth">trunk/Source/WebCore/Modules/highlight/AppHighlight.h</a></li>
<li><a href="#trunkSourceWebCoreModuleshighlightAppHighlightRangeDatacpp">trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleshighlightAppHighlightRangeDatah">trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.h</a></li>
<li><a href="#trunkSourceWebCoreModuleshighlightAppHighlightStoragecpp">trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleshighlightAppHighlightStorageh">trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBSerializationcpp">trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverIDBSerializationh">trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediarecorderMediaRecordercpp">trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediarecorderMediaRecorderh">trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionMediaMetadatacpp">trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBuffercpp">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceSourceBufferh">trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCDataChannelRemoteHandlerh">trunk/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlercpp">trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlerh">trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamSinkh">trunk/Source/WebCore/Modules/streams/ReadableStreamSink.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptBufferSourceProviderh">trunk/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValueh">trunk/Source/WebCore/bindings/js/SerializedScriptValue.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFaceSourcecpp">trunk/Source/WebCore/css/CSSFontFaceSource.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFaceSourceh">trunk/Source/WebCore/css/CSSFontFaceSource.h</a></li>
<li><a href="#trunkSourceWebCoredomDataTransfercpp">trunk/Source/WebCore/dom/DataTransfer.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorcpp">trunk/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditorh">trunk/Source/WebCore/editing/Editor.h</a></li>
<li><a href="#trunkSourceWebCoreeditingSerializedAttachmentDatah">trunk/Source/WebCore/editing/SerializedAttachmentData.h</a></li>
<li><a href="#trunkSourceWebCoreeditingWebContentReaderh">trunk/Source/WebCore/editing/WebContentReader.h</a></li>
<li><a href="#trunkSourceWebCoreeditingWebCorePasteboardFileReadercpp">trunk/Source/WebCore/editing/WebCorePasteboardFileReader.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingWebCorePasteboardFileReaderh">trunk/Source/WebCore/editing/WebCorePasteboardFileReader.h</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaEditorCocoamm">trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaHTMLConvertermm">trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaWebContentReaderCocoamm">trunk/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreeditinggtkWebContentReaderGtkcpp">trunk/Source/WebCore/editing/gtk/WebContentReaderGtk.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingmacEditorMacmm">trunk/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#trunkSourceWebCorefileapiBlobh">trunk/Source/WebCore/fileapi/Blob.h</a></li>
<li><a href="#trunkSourceWebCorefileapiNetworkSendQueuecpp">trunk/Source/WebCore/fileapi/NetworkSendQueue.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiNetworkSendQueueh">trunk/Source/WebCore/fileapi/NetworkSendQueue.h</a></li>
<li><a href="#trunkSourceWebCorehtmlFTPDirectoryDocumentcpp">trunk/Source/WebCore/html/FTPDirectoryDocument.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAttachmentElementcpp">trunk/Source/WebCore/html/HTMLAttachmentElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLAttachmentElementh">trunk/Source/WebCore/html/HTMLAttachmentElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementh">trunk/Source/WebCore/html/HTMLMediaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlImageDocumentcpp">trunk/Source/WebCore/html/ImageDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationWebKitcpp">trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationWebKith">trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorNetworkResourcesDatacpp">trunk/Source/WebCore/inspector/NetworkResourcesData.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorNetworkResourcesDatah">trunk/Source/WebCore/inspector/NetworkResourcesData.h</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorNetworkAgentcpp">trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorNetworkAgenth">trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorPageAgentcpp">trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorPageAgenth">trunk/Source/WebCore/inspector/agents/InspectorPageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreloaderContentFiltercpp">trunk/Source/WebCore/loader/ContentFilter.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp">trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoaderh">trunk/Source/WebCore/loader/DocumentLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoadercpp">trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientscpp">trunk/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderh">trunk/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderClienth">trunk/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreloaderLoaderStrategyh">trunk/Source/WebCore/loader/LoaderStrategy.h</a></li>
<li><a href="#trunkSourceWebCoreloaderNetscapePlugInStreamLoadercpp">trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderNetscapePlugInStreamLoaderh">trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceCryptographicDigestcpp">trunk/Source/WebCore/loader/ResourceCryptographicDigest.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceCryptographicDigesth">trunk/Source/WebCore/loader/ResourceCryptographicDigest.h</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadercpp">trunk/Source/WebCore/loader/ResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoaderh">trunk/Source/WebCore/loader/ResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderSubresourceLoadercpp">trunk/Source/WebCore/loader/SubresourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderSubresourceLoaderh">trunk/Source/WebCore/loader/SubresourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderSubstituteDatah">trunk/Source/WebCore/loader/SubstituteData.h</a></li>
<li><a href="#trunkSourceWebCoreloaderSubstituteResourceh">trunk/Source/WebCore/loader/SubstituteResource.h</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheHostcpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheHosth">trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheResourcecpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheResourceh">trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.h</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheStorageh">trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchiveArchiveFactorycpp">trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchiveArchiveFactoryh">trunk/Source/WebCore/loader/archive/ArchiveFactory.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchiveArchiveResourcecpp">trunk/Source/WebCore/loader/archive/ArchiveResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchiveArchiveResourceh">trunk/Source/WebCore/loader/archive/ArchiveResource.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivecfLegacyWebArchivecpp">trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivecfLegacyWebArchiveh">trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivemhtmlMHTMLArchivecpp">trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivemhtmlMHTMLArchiveh">trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.h</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivemhtmlMHTMLParsercpp">trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderarchivemhtmlMHTMLParserh">trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedApplicationManifestcpp">trunk/Source/WebCore/loader/cache/CachedApplicationManifest.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedApplicationManifesth">trunk/Source/WebCore/loader/cache/CachedApplicationManifest.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedCSSStyleSheetcpp">trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedCSSStyleSheeth">trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedFontcpp">trunk/Source/WebCore/loader/cache/CachedFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedFonth">trunk/Source/WebCore/loader/cache/CachedFont.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImagecpp">trunk/Source/WebCore/loader/cache/CachedImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedImageh">trunk/Source/WebCore/loader/cache/CachedImage.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourcecpp">trunk/Source/WebCore/loader/cache/CachedRawResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourceh">trunk/Source/WebCore/loader/cache/CachedRawResource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourcecpp">trunk/Source/WebCore/loader/cache/CachedResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceh">trunk/Source/WebCore/loader/cache/CachedResource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGDocumentcpp">trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGDocumenth">trunk/Source/WebCore/loader/cache/CachedSVGDocument.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFontcpp">trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedSVGFonth">trunk/Source/WebCore/loader/cache/CachedSVGFont.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedScriptcpp">trunk/Source/WebCore/loader/cache/CachedScript.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedScripth">trunk/Source/WebCore/loader/cache/CachedScript.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedTextTrackcpp">trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedTextTrackh">trunk/Source/WebCore/loader/cache/CachedTextTrack.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedXSLStyleSheetcpp">trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedXSLStyleSheeth">trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h</a></li>
<li><a href="#trunkSourceWebCoreloadercocoaDiskCacheMonitorCocoah">trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h</a></li>
<li><a href="#trunkSourceWebCoreloadercocoaDiskCacheMonitorCocoamm">trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreloaderiosLegacyPreviewLoaderh">trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderiosLegacyPreviewLoadermm">trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.mm</a></li>
<li><a href="#trunkSourceWebCorepageEditorClienth">trunk/Source/WebCore/page/EditorClient.h</a></li>
<li><a href="#trunkSourceWebCorepagePagecpp">trunk/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageSerializercpp">trunk/Source/WebCore/page/PageSerializer.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageSerializerh">trunk/Source/WebCore/page/PageSerializer.h</a></li>
<li><a href="#trunkSourceWebCorepageShareDatah">trunk/Source/WebCore/page/ShareData.h</a></li>
<li><a href="#trunkSourceWebCorepageShareDataReadercpp">trunk/Source/WebCore/page/ShareDataReader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformKeyedCodingh">trunk/Source/WebCore/platform/KeyedCoding.h</a></li>
<li><a href="#trunkSourceWebCoreplatformNowPlayingManagerh">trunk/Source/WebCore/platform/NowPlayingManager.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardcpp">trunk/Source/WebCore/platform/Pasteboard.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardh">trunk/Source/WebCore/platform/Pasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardCustomDatacpp">trunk/Source/WebCore/platform/PasteboardCustomData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardCustomDatah">trunk/Source/WebCore/platform/PasteboardCustomData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardStrategyh">trunk/Source/WebCore/platform/PasteboardStrategy.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPasteboardWriterDatah">trunk/Source/WebCore/platform/PasteboardWriterData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformContentFilterh">trunk/Source/WebCore/platform/PlatformContentFilter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPlatformPasteboardh">trunk/Source/WebCore/platform/PlatformPasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPreviewConvertercpp">trunk/Source/WebCore/platform/PreviewConverter.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformPreviewConverterh">trunk/Source/WebCore/platform/PreviewConverter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPreviewConverterClienth">trunk/Source/WebCore/platform/PreviewConverterClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPreviewConverterProviderh">trunk/Source/WebCore/platform/PreviewConverterProvider.h</a></li>
<li><a href="#trunkSourceWebCoreplatformPromisedAttachmentInfoh">trunk/Source/WebCore/platform/PromisedAttachmentInfo.h</a></li>
<li><a href="#trunkSourceWebCoreplatformSharedBuffercpp">trunk/Source/WebCore/platform/SharedBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformSharedBufferh">trunk/Source/WebCore/platform/SharedBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformSharedBufferChunkReadercpp">trunk/Source/WebCore/platform/SharedBufferChunkReader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformSharedBufferChunkReaderh">trunk/Source/WebCore/platform/SharedBufferChunkReader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformStaticPasteboardcpp">trunk/Source/WebCore/platform/StaticPasteboard.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformStaticPasteboardh">trunk/Source/WebCore/platform/StaticPasteboard.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioNowPlayingInfoh">trunk/Source/WebCore/platform/audio/NowPlayingInfo.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudiococoaAudioFileReaderCocoacpp">trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformcfKeyedEncoderCFcpp">trunk/Source/WebCore/platform/cf/KeyedEncoderCF.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformcfKeyedEncoderCFh">trunk/Source/WebCore/platform/cf/KeyedEncoderCF.h</a></li>
<li><a href="#trunkSourceWebCoreplatformcfSharedBufferCFcpp">trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaNetworkExtensionContentFilterh">trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaNetworkExtensionContentFiltermm">trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaParentalControlsContentFilterh">trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.h</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaParentalControlsContentFiltermm">trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaPasteboardCocoamm">trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaSharedBufferCocoamm">trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMInstanceh">trunk/Source/WebCore/platform/encryptedmedia/CDMInstance.h</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMInstanceSessionh">trunk/Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMPrivateh">trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMProxycpp">trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMProxyh">trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.h</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMUtilitiescpp">trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaCDMUtilitiesh">trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.h</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeycpp">trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeyh">trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgenericKeyedEncoderGenericcpp">trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgenericKeyedEncoderGenerich">trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.h</a></li>
<li><a href="#trunkSourceWebCoreplatformglibKeyedEncoderGlibcpp">trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformglibKeyedEncoderGlibh">trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.h</a></li>
<li><a href="#trunkSourceWebCoreplatformglibSharedBufferGlibcpp">trunk/Source/WebCore/platform/glib/SharedBufferGlib.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontcpp">trunk/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFonth">trunk/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontPlatformDatah">trunk/Source/WebCore/platform/graphics/FontPlatformData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsHEVCUtilitiescpp">trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsHEVCUtilitiesh">trunk/Source/WebCore/platform/graphics/HEVCUtilities.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImagecpp">trunk/Source/WebCore/platform/graphics/Image.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageh">trunk/Source/WebCore/platform/graphics/Image.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageBackingStoreh">trunk/Source/WebCore/platform/graphics/ImageBackingStore.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageDecodercpp">trunk/Source/WebCore/platform/graphics/ImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageDecoderh">trunk/Source/WebCore/platform/graphics/ImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageSourcecpp">trunk/Source/WebCore/platform/graphics/ImageSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsImageSourceh">trunk/Source/WebCore/platform/graphics/ImageSource.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsModelcpp">trunk/Source/WebCore/platform/graphics/Model.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsModelh">trunk/Source/WebCore/platform/graphics/Model.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsPlatformMediaResourceLoaderh">trunk/Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsSourceBufferPrivatecpp">trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsSourceBufferPrivateh">trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsWOFFFileFormatcpp">trunk/Source/WebCore/platform/graphics/WOFFFileFormat.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsWOFFFileFormath">trunk/Source/WebCore/platform/graphics/WOFFFileFormat.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingcpp">trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingh">trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationFormatDescriptionUtilitiescpp">trunk/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoaderh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscairoFontCustomPlatformDatah">trunk/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageDecoderCGcpp">trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscgImageDecoderCGh">trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaFontPlatformDataCocoamm">trunk/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaSourceBufferParsercpp">trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaSourceBufferParserh">trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParser.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaSourceBufferParserWebMcpp">trunk/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscoretextFontPlatformDataCoreTextcpp">trunk/Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsdisplaylistsDisplayListItemBuffercpp">trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsdisplaylistsDisplayListItemBufferh">trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfreetypeFontCustomPlatformDataFreeTypecpp">trunk/Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsfreetypeFontPlatformDataFreeTypecpp">trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerGStreamerCommoncpp">trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerGStreamerCommonh">trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamerh">trunk/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerWebKitWebSourceGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreameremeCDMProxyClearKeyh">trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMProxyClearKey.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreameremeCDMThundercpp">trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreameremeCDMThunderh">trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiescpp">trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiesh">trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacFontCustomPlatformDatacpp">trunk/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacFontCustomPlatformDatah">trunk/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatacpp">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatah">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeTypesh">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiescpp">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiesh">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsopentypeOpenTypeVerticalDatacpp">trunk/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinDirectWriteUtilitiesh">trunk/Source/WebCore/platform/graphics/win/DirectWriteUtilities.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontCustomPlatformDatacpp">trunk/Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontCustomPlatformDatah">trunk/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontCustomPlatformDataCairocpp">trunk/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontPlatformDataCairoWincpp">trunk/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinFontPlatformDataWincpp">trunk/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageDecoderDirect2Dcpp">trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageDecoderDirect2Dh">trunk/Source/WebCore/platform/graphics/win/ImageDecoderDirect2D.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicswinImageWincpp">trunk/Source/WebCore/platform/graphics/win/ImageWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkSelectionDatah">trunk/Source/WebCore/platform/gtk/SelectionData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersScalableImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersScalableImageDecoderh">trunk/Source/WebCore/platform/image-decoders/ScalableImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersavifAVIFImageReadercpp">trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersavifAVIFImageReaderh">trunk/Source/WebCore/platform/image-decoders/avif/AVIFImageReader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersbmpBMPImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersbmpBMPImageDecoderh">trunk/Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersbmpBMPImageReaderh">trunk/Source/WebCore/platform/image-decoders/bmp/BMPImageReader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecoderscairoImageBackingStoreCairocpp">trunk/Source/WebCore/platform/image-decoders/cairo/ImageBackingStoreCairo.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersgifGIFImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersgifGIFImageDecoderh">trunk/Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersgifGIFImageReaderh">trunk/Source/WebCore/platform/image-decoders/gif/GIFImageReader.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersicoICOImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersicoICOImageDecoderh">trunk/Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersjpegJPEGImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersjpegJPEGImageDecoderh">trunk/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecodersjpeg2000JPEG2000ImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecoderspngPNGImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecoderswebpWEBPImageDecodercpp">trunk/Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformimagedecoderswebpWEBPImageDecoderh">trunk/Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPasteboardIOSmm">trunk/Source/WebCore/platform/ios/PasteboardIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPlatformPasteboardIOSmm">trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosPreviewConverterIOSmm">trunk/Source/WebCore/platform/ios/PreviewConverterIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacPasteboardMacmm">trunk/Source/WebCore/platform/mac/PasteboardMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacPlatformPasteboardMacmm">trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmediarecorderMediaRecorderPrivateh">trunk/Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediarecorderMediaRecorderPrivateMockcpp">trunk/Source/WebCore/platform/mediarecorder/MediaRecorderPrivateMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediarecordercocoaMediaRecorderPrivateWriterCocoah">trunk/Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmediarecordercocoaMediaRecorderPrivateWriterCocoamm">trunk/Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkDataURLDecoderh">trunk/Source/WebCore/platform/network/DataURLDecoder.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatacpp">trunk/Source/WebCore/platform/network/FormData.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkFormDatah">trunk/Source/WebCore/platform/network/FormData.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceHandleh">trunk/Source/WebCore/platform/network/ResourceHandle.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceHandleClientcpp">trunk/Source/WebCore/platform/network/ResourceHandleClient.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceHandleClienth">trunk/Source/WebCore/platform/network/ResourceHandleClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp">trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaRangeResponseGeneratormm">trunk/Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaWebCoreNSURLSessionh">trunk/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaWebCoreNSURLSessionmm">trunk/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlDownloadcpp">trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlDownloadh">trunk/Source/WebCore/platform/network/curl/CurlDownload.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlMultipartHandlecpp">trunk/Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlMultipartHandleh">trunk/Source/WebCore/platform/network/curl/CurlMultipartHandle.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlMultipartHandleClienth">trunk/Source/WebCore/platform/network/curl/CurlMultipartHandleClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlRequestcpp">trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlRequesth">trunk/Source/WebCore/platform/network/curl/CurlRequest.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlRequestClienth">trunk/Source/WebCore/platform/network/curl/CurlRequestClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlResourceHandleDelegatecpp">trunk/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlResourceHandleDelegateh">trunk/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkiosLegacyPreviewLoaderClienth">trunk/Source/WebCore/platform/network/ios/LegacyPreviewLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsOperationQueueDelegatemm">trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPasteboardWincpp">trunk/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingMockCDMFactorycpp">trunk/Source/WebCore/testing/MockCDMFactory.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingMockCDMFactoryh">trunk/Source/WebCore/testing/MockCDMFactory.h</a></li>
<li><a href="#trunkSourceWebCoretestingMockContentFiltercpp">trunk/Source/WebCore/testing/MockContentFilter.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingMockContentFilterh">trunk/Source/WebCore/testing/MockContentFilter.h</a></li>
<li><a href="#trunkSourceWebCoreworkersScriptBufferh">trunk/Source/WebCore/workers/ScriptBuffer.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerFontLoadRequestcpp">trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersservicecontextServiceWorkerFetchcpp">trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersservicecontextServiceWorkerFetchh">trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.h</a></li>
<li><a href="#trunkSourceWebCoreworkersserviceserverSWScriptStoragecpp">trunk/Source/WebCore/workers/service/server/SWScriptStorage.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXSLTProcessorLibxsltcpp">trunk/Source/WebCore/xml/XSLTProcessorLibxslt.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMInstanceProxycpp">trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMInstanceProxyh">trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMInstanceSessionProxycpp">trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMInstanceSessionProxyh">trunk/Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMProxycpp">trunk/Source/WebKit/GPUProcess/media/RemoteCDMProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteCDMProxyh">trunk/Source/WebKit/GPUProcess/media/RemoteCDMProxy.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteLegacyCDMProxyh">trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMProxy.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteLegacyCDMSessionProxyh">trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteMediaResourcecpp">trunk/Source/WebKit/GPUProcess/media/RemoteMediaResource.cpp</a></li>
<li><a href="#trunkSourceWebKitGPUProcessmediaRemoteMediaResourceh">trunk/Source/WebKit/GPUProcess/media/RemoteMediaResource.h</a></li>
<li><a href="#trunkSourceWebKitGPUProcesswebrtcRemoteMediaRecordercpp">trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessDownloadsPendingDownloadh">trunk/Source/WebKit/NetworkProcess/Downloads/PendingDownload.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkCORSPreflightCheckercpp">trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkCORSPreflightCheckerh">trunk/Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkDataTaskh">trunk/Source/WebKit/NetworkProcess/NetworkDataTask.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkLoadcpp">trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkLoadh">trunk/Source/WebKit/NetworkProcess/NetworkLoad.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkLoadClienth">trunk/Source/WebKit/NetworkProcess/NetworkLoadClient.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadercpp">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoaderh">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessPingLoadcpp">trunk/Source/WebKit/NetworkProcess/PingLoad.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessPingLoadh">trunk/Source/WebKit/NetworkProcess/PingLoad.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessPreconnectTaskcpp">trunk/Source/WebKit/NetworkProcess/PreconnectTask.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessPreconnectTaskh">trunk/Source/WebKit/NetworkProcess/PreconnectTask.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloadercpp">trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloaderh">trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessServiceWorkerServiceWorkerSoftUpdateLoadercpp">trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessServiceWorkerServiceWorkerSoftUpdateLoaderh">trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheCacheStorageEngineCachecpp">trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCachecpp">trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCacheh">trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCacheEntrycpp">trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCacheEntryh">trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCacheSpeculativeLoadcpp">trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscacheNetworkCacheSpeculativeLoadh">trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscachePrefetchCachecpp">trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscachePrefetchCacheh">trunk/Source/WebKit/NetworkProcess/cache/PrefetchCache.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscocoaNetworkDataTaskCocoah">trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscocoaNetworkDataTaskCocoamm">trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscurlNetworkDataTaskCurlcpp">trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesscurlNetworkDataTaskCurlh">trunk/Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesssoupNetworkDataTaskSoupcpp">trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcesswebrtcNetworkRTCProviderh">trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.h</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCSharedBufferCopycpp">trunk/Source/WebKit/Platform/IPC/SharedBufferCopy.cpp</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCSharedBufferCopyh">trunk/Source/WebKit/Platform/IPC/SharedBufferCopy.h</a></li>
<li><a href="#trunkSourceWebKitPlatformIPCSharedBufferDataReferenceh">trunk/Source/WebKit/Platform/IPC/SharedBufferDataReference.h</a></li>
<li><a href="#trunkSourceWebKitPlatformSharedMemorycpp">trunk/Source/WebKit/Platform/SharedMemory.cpp</a></li>
<li><a href="#trunkSourceWebKitPlatformSharedMemoryh">trunk/Source/WebKit/Platform/SharedMemory.h</a></li>
<li><a href="#trunkSourceWebKitSharedCocoaWebCoreArgumentCodersCocoamm">trunk/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm</a></li>
<li><a href="#trunkSourceWebKitSharedRemoteLayerTreeCGDisplayListImageBufferBackendcpp">trunk/Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedShareableResourcecpp">trunk/Source/WebKit/Shared/ShareableResource.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedShareableResourceh">trunk/Source/WebKit/Shared/ShareableResource.h</a></li>
<li><a href="#trunkSourceWebKitSharedWebCoreArgumentCoderscpp">trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedWebCoreArgumentCodersh">trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h</a></li>
<li><a href="#trunkSourceWebKitSharedWebHitTestResultDatacpp">trunk/Source/WebKit/Shared/WebHitTestResultData.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedgtkArgumentCodersGtkcpp">trunk/Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedwinWebCoreArgumentCodersWincpp">trunk/Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIAPIAttachmentcpp">trunk/Source/WebKit/UIProcess/API/APIAttachment.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIAPIAttachmenth">trunk/Source/WebKit/UIProcess/API/APIAttachment.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIAPIContentRuleListStorecpp">trunk/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIAPIContentRuleListStoreh">trunk/Source/WebKit/UIProcess/API/APIContentRuleListStore.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIAPINavigationClienth">trunk/Source/WebKit/UIProcess/API/APINavigationClient.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPICocoaAPIAttachmentCocoamm">trunk/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIgtkDropTargetGtk3cpp">trunk/Source/WebKit/UIProcess/API/gtk/DropTargetGtk3.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessCocoaNavigationStateh">trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessCocoaNavigationStatemm">trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessCocoaWebProcessProxyCocoamm">trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessCocoaWebViewImplh">trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessCocoaWebViewImplmm">trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessNetworkNetworkProcessProxycpp">trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessNetworkNetworkProcessProxyh">trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessPageClienth">trunk/Source/WebKit/UIProcess/PageClient.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebPageProxycpp">trunk/Source/WebKit/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebPageProxyh">trunk/Source/WebKit/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebURLSchemeTaskcpp">trunk/Source/WebKit/UIProcess/WebURLSchemeTask.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebURLSchemeTaskh">trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessgtkClipboardh">trunk/Source/WebKit/UIProcess/gtk/Clipboard.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessgtkClipboardGtk3cpp">trunk/Source/WebKit/UIProcess/gtk/ClipboardGtk3.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessgtkClipboardGtk4cpp">trunk/Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessiosPageClientImplIOSh">trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessiosPageClientImplIOSmm">trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessiosWKContentViewInteractionmm">trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessiosWebPageProxyIOSmm">trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessmacPageClientImplMach">trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessmacPageClientImplMacmm">trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm</a></li>
<li><a href="#trunkSourceWebKitUIProcessmacWebPageProxyMacmm">trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMcpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDM.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMh">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDM.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMInstancecpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDMInstance.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMInstanceh">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDMInstance.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMInstanceSessioncpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteCDMInstanceSessionh">trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSession.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFcpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFh">trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFManagercpp">trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaRemoteImageDecoderAVFManagerh">trunk/Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVFManager.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaSourceBufferPrivateRemotecpp">trunk/Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUmediaSourceBufferPrivateRemoteh">trunk/Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUwebrtcMediaRecorderPrivatecpp">trunk/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessGPUwebrtcMediaRecorderPrivateh">trunk/Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundleEditorClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundlePageLoaderClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleAPImacWKWebProcessPlugInBrowserContextControllermm">trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClientcpp">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageLoaderClientcpp">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageLoaderClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkNetworkProcessConnectioncpp">trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebResourceLoadercpp">trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessPluginsPDFPDFPluginh">trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessPluginsPDFPDFPluginmm">trunk/Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcessPluginsPluginh">trunk/Source/WebKit/WebProcess/Plugins/Plugin.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessPluginsPluginViewcpp">trunk/Source/WebKit/WebProcess/Plugins/PluginView.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessPluginsPluginViewh">trunk/Source/WebKit/WebProcess/Plugins/PluginView.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessStorageWebServiceWorkerFetchTaskClientcpp">trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessStorageWebServiceWorkerFetchTaskClienth">trunk/Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebEditorClientcpp">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebEditorClienth">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebPlatformStrategiescpp">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebPlatformStrategiesh">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportiosWebPreviewLoaderClientcpp">trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportiosWebPreviewLoaderClienth">trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportmacWebDragClientMacmm">trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebFramecpp">trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebPagecpp">trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebPageh">trunk/Source/WebKit/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcesswinWebProcessWincpp">trunk/Source/WebKit/WebProcess/win/WebProcessWin.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacyChangeLog">trunk/Source/WebKitLegacy/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacyWebCoreSupportPingHandleh">trunk/Source/WebKitLegacy/WebCoreSupport/PingHandle.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacChangeLog">trunk/Source/WebKitLegacy/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebEditorClienth">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebEditorClientmm">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClientmm">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebPlatformStrategiesh">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebPlatformStrategiesmm">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebDataSourcemm">trunk/Source/WebKitLegacy/mac/WebView/WebDataSource.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebHTMLViewmm">trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebResourcemm">trunk/Source/WebKitLegacy/mac/WebView/WebResource.mm</a></li>
<li><a href="#trunkSourceWebKitLegacywinChangeLog">trunk/Source/WebKitLegacy/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacywinMemoryStreamcpp">trunk/Source/WebKitLegacy/win/MemoryStream.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinMemoryStreamh">trunk/Source/WebKitLegacy/win/MemoryStream.h</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebArchivecpp">trunk/Source/WebKitLegacy/win/WebArchive.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebCoreSupportWebEditorClientcpp">trunk/Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebCoreSupportWebEditorClienth">trunk/Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebFramecpp">trunk/Source/WebKitLegacy/win/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebFrameh">trunk/Source/WebKitLegacy/win/WebFrame.h</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebKitDLLcpp">trunk/Source/WebKitLegacy/win/WebKitDLL.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebResourcecpp">trunk/Source/WebKitLegacy/win/WebResource.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebResourceh">trunk/Source/WebKitLegacy/win/WebResource.h</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWTFFileSystemcpp">trunk/Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreDisplayListTestscpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreSharedBuffercpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreSharedBufferTestcpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCoreSharedBufferTesth">trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBufferTest.h</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCorecgDisplayListTestsCGcpp">trunk/Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebCorecocoaSharedBuffermm">trunk/Tools/TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm</a></li>
<li><a href="#trunkToolsTestWebKitAPIwinTestWebCoreStubscpp">trunk/Tools/TestWebKitAPI/win/TestWebCoreStubs.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkPerformanceTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/PerformanceTests/ChangeLog (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/PerformanceTests/ChangeLog 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/PerformanceTests/ChangeLog    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2021-12-14  Jean-Yves Avenard  <jya@apple.com>
+
+        Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability: part 3
+        https://bugs.webkit.org/show_bug.cgi?id=233677
+
+        Reviewed by Youenn Fablet.
+
+        * DecoderTest/DecoderTest/main.mm:
+        (main):
+
</ins><span class="cx"> 2021-12-13  Cathie Chen  <cathiechen@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [Performance test] Add test lots-of-self-painting-layers.html
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/JavaScriptCore/ChangeLog       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2021-12-14  Jean-Yves Avenard  <jya@apple.com>
+
+        Rename SharedBuffer classes.
+        https://bugs.webkit.org/show_bug.cgi?id=233677
+        rdar://problem/85963900
+
+        Reviewed by Youenn Fablet.
+
+        SharedBuffer are renamed FragmentedSharedBuffer and
+        ContiguousSharedBuffer to SharedBuffer to better reflect their actual
+        types.
+
+        * runtime/ArrayBuffer.h:
+
</ins><span class="cx"> 2021-12-13  Saam Barati  <sbarati@apple.com>
</span><span class="cx"> 
</span><span class="cx">         WasmB3IRGenerator should estimate static execution counts
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeArrayBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ArrayBuffer.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ArrayBuffer.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/JavaScriptCore/runtime/ArrayBuffer.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     JS_EXPORT_PRIVATE static RefPtr<ArrayBuffer> tryCreate(ArrayBuffer&);
</span><span class="cx">     JS_EXPORT_PRIVATE static RefPtr<ArrayBuffer> tryCreate(const void* source, size_t byteLength);
</span><span class="cx"> 
</span><del>-    // Only for use by Uint8ClampedArray::tryCreateUninitialized and SharedBuffer::tryCreateArrayBuffer.
</del><ins>+    // Only for use by Uint8ClampedArray::tryCreateUninitialized and FragmentedSharedBuffer::tryCreateArrayBuffer.
</ins><span class="cx">     JS_EXPORT_PRIVATE static Ref<ArrayBuffer> createUninitialized(size_t numElements, unsigned elementByteSize);
</span><span class="cx">     JS_EXPORT_PRIVATE static RefPtr<ArrayBuffer> tryCreateUninitialized(size_t numElements, unsigned elementByteSize);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/ChangeLog      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1,3 +1,345 @@
</span><ins>+2021-12-14  Jean-Yves Avenard  <jya@apple.com>
+
+        Rename SharedBuffer classes.
+        https://bugs.webkit.org/show_bug.cgi?id=233677
+        rdar://problem/85963900
+
+        Reviewed by Youenn Fablet.
+
+        SharedBuffer are renamed FragmentedSharedBuffer and
+        ContiguousSharedBuffer to SharedBuffer to better reflect their actual
+        types.
+
+        Rename only, no change in behaviour.
+
+        * Modules/async-clipboard/ClipboardImageReader.cpp:
+        * Modules/async-clipboard/ClipboardImageReader.h:
+        * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
+        * Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
+        * Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm:
+        * Modules/async-clipboard/mac/ClipboardImageReaderMac.mm:
+        * Modules/cache/CacheStorageConnection.cpp:
+        * Modules/cache/DOMCache.cpp:
+        * Modules/cache/DOMCache.h:
+        * Modules/cache/DOMCacheEngine.cpp:
+        * Modules/cache/DOMCacheEngine.h:
+        * Modules/encryptedmedia/CDM.cpp:
+        * Modules/encryptedmedia/CDM.h:
+        * Modules/encryptedmedia/CDMClient.h:
+        * Modules/encryptedmedia/InitDataRegistry.cpp:
+        * Modules/encryptedmedia/InitDataRegistry.h:
+        * Modules/encryptedmedia/MediaKeySession.cpp:
+        * Modules/encryptedmedia/MediaKeySession.h:
+        * Modules/encryptedmedia/MediaKeyStatusMap.cpp:
+        * Modules/encryptedmedia/MediaKeyStatusMap.h:
+        * Modules/encryptedmedia/MediaKeys.cpp:
+        * Modules/encryptedmedia/MediaKeys.h:
+        * Modules/fetch/FetchBody.cpp:
+        * Modules/fetch/FetchBody.h:
+        * Modules/fetch/FetchBodyConsumer.cpp:
+        * Modules/fetch/FetchBodyConsumer.h:
+        * Modules/fetch/FetchLoader.cpp:
+        * Modules/fetch/FetchLoader.h:
+        * Modules/fetch/FetchResponse.cpp:
+        * Modules/fetch/FetchResponse.h:
+        * Modules/highlight/AppHighlight.h:
+        * Modules/highlight/AppHighlightRangeData.cpp:
+        * Modules/highlight/AppHighlightRangeData.h:
+        * Modules/highlight/AppHighlightStorage.cpp:
+        * Modules/highlight/AppHighlightStorage.h:
+        * Modules/indexeddb/server/IDBSerialization.cpp:
+        * Modules/indexeddb/server/IDBSerialization.h:
+        * Modules/mediarecorder/MediaRecorder.cpp:
+        * Modules/mediarecorder/MediaRecorder.h:
+        * Modules/mediasession/MediaMetadata.cpp:
+        * Modules/mediasource/SourceBuffer.cpp:
+        * Modules/mediasource/SourceBuffer.h:
+        * Modules/mediastream/RTCDataChannelRemoteHandler.h:
+        * Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
+        * Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
+        * Modules/streams/ReadableStreamSink.h:
+        * bindings/js/JSDOMGlobalObject.cpp:
+        * bindings/js/ScriptBufferSourceProvider.h:
+        * bindings/js/SerializedScriptValue.h:
+        * css/CSSFontFaceSource.cpp:
+        * css/CSSFontFaceSource.h:
+        * dom/DataTransfer.cpp:
+        * editing/Editor.cpp:
+        * editing/Editor.h:
+        * editing/SerializedAttachmentData.h:
+        * editing/WebContentReader.h:
+        * editing/WebCorePasteboardFileReader.cpp:
+        * editing/WebCorePasteboardFileReader.h:
+        * editing/cocoa/EditorCocoa.mm:
+        * editing/cocoa/HTMLConverter.mm:
+        * editing/cocoa/WebContentReaderCocoa.mm:
+        * editing/gtk/WebContentReaderGtk.cpp:
+        * editing/mac/EditorMac.mm:
+        * fileapi/Blob.h:
+        * fileapi/NetworkSendQueue.cpp:
+        * fileapi/NetworkSendQueue.h:
+        * html/FTPDirectoryDocument.cpp:
+        * html/HTMLAttachmentElement.cpp:
+        * html/HTMLAttachmentElement.h:
+        * html/HTMLMediaElement.cpp:
+        * html/HTMLMediaElement.h:
+        * html/ImageDocument.cpp:
+        * inspector/InspectorInstrumentation.cpp:
+        * inspector/InspectorInstrumentation.h:
+        * inspector/InspectorInstrumentationWebKit.cpp:
+        * inspector/InspectorInstrumentationWebKit.h:
+        * inspector/NetworkResourcesData.cpp:
+        * inspector/NetworkResourcesData.h:
+        * inspector/agents/InspectorNetworkAgent.cpp:
+        * inspector/agents/InspectorNetworkAgent.h:
+        * inspector/agents/InspectorPageAgent.cpp:
+        * inspector/agents/InspectorPageAgent.h:
+        * loader/ContentFilter.cpp:
+        * loader/CrossOriginPreflightChecker.cpp:
+        * loader/DocumentLoader.cpp:
+        * loader/DocumentLoader.h:
+        * loader/DocumentThreadableLoader.cpp:
+        * loader/EmptyClients.cpp:
+        * loader/FrameLoader.cpp:
+        * loader/FrameLoader.h:
+        * loader/FrameLoaderClient.h:
+        * loader/LoaderStrategy.h:
+        * loader/NetscapePlugInStreamLoader.cpp:
+        * loader/NetscapePlugInStreamLoader.h:
+        * loader/ResourceCryptographicDigest.cpp:
+        * loader/ResourceCryptographicDigest.h:
+        * loader/ResourceLoader.cpp:
+        * loader/ResourceLoader.h:
+        * loader/SubresourceLoader.cpp:
+        * loader/SubresourceLoader.h:
+        * loader/SubstituteData.h:
+        * loader/SubstituteResource.h:
+        * loader/appcache/ApplicationCacheHost.cpp:
+        * loader/appcache/ApplicationCacheHost.h:
+        * loader/appcache/ApplicationCacheResource.cpp:
+        * loader/appcache/ApplicationCacheResource.h:
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        * loader/appcache/ApplicationCacheStorage.h:
+        * loader/archive/ArchiveFactory.cpp:
+        * loader/archive/ArchiveFactory.h:
+        * loader/archive/ArchiveResource.cpp:
+        * loader/archive/ArchiveResource.h:
+        * loader/archive/cf/LegacyWebArchive.cpp:
+        * loader/archive/cf/LegacyWebArchive.h:
+        * loader/archive/mhtml/MHTMLArchive.cpp:
+        * loader/archive/mhtml/MHTMLArchive.h:
+        * loader/archive/mhtml/MHTMLParser.cpp:
+        * loader/archive/mhtml/MHTMLParser.h:
+        * loader/cache/CachedApplicationManifest.cpp:
+        * loader/cache/CachedApplicationManifest.h:
+        * loader/cache/CachedCSSStyleSheet.cpp:
+        * loader/cache/CachedCSSStyleSheet.h:
+        * loader/cache/CachedFont.cpp:
+        * loader/cache/CachedFont.h:
+        * loader/cache/CachedImage.cpp:
+        * loader/cache/CachedImage.h:
+        * loader/cache/CachedRawResource.cpp:
+        * loader/cache/CachedRawResource.h:
+        * loader/cache/CachedResource.cpp:
+        * loader/cache/CachedResource.h:
+        * loader/cache/CachedSVGDocument.cpp:
+        * loader/cache/CachedSVGDocument.h:
+        * loader/cache/CachedSVGFont.cpp:
+        * loader/cache/CachedSVGFont.h:
+        * loader/cache/CachedScript.cpp:
+        * loader/cache/CachedScript.h:
+        * loader/cache/CachedTextTrack.cpp:
+        * loader/cache/CachedTextTrack.h:
+        * loader/cache/CachedXSLStyleSheet.cpp:
+        * loader/cache/CachedXSLStyleSheet.h:
+        * loader/cocoa/DiskCacheMonitorCocoa.h:
+        * loader/cocoa/DiskCacheMonitorCocoa.mm:
+        * loader/ios/LegacyPreviewLoader.h:
+        * loader/ios/LegacyPreviewLoader.mm:
+        * page/EditorClient.h:
+        * page/Page.cpp:
+        * page/PageSerializer.cpp:
+        * page/PageSerializer.h:
+        * page/ShareData.h:
+        * page/ShareDataReader.cpp:
+        * platform/KeyedCoding.h:
+        * platform/NowPlayingManager.h:
+        * platform/Pasteboard.cpp:
+        * platform/Pasteboard.h:
+        * platform/PasteboardCustomData.cpp:
+        * platform/PasteboardCustomData.h:
+        * platform/PasteboardStrategy.h:
+        * platform/PasteboardWriterData.h:
+        * platform/PlatformContentFilter.h:
+        * platform/PlatformPasteboard.h:
+        * platform/PreviewConverter.cpp:
+        * platform/PreviewConverter.h:
+        * platform/PreviewConverterClient.h:
+        * platform/PreviewConverterProvider.h:
+        * platform/PromisedAttachmentInfo.h:
+        * platform/SharedBuffer.cpp:
+        * platform/SharedBuffer.h:
+        * platform/SharedBufferChunkReader.cpp:
+        * platform/SharedBufferChunkReader.h:
+        * platform/StaticPasteboard.cpp:
+        * platform/StaticPasteboard.h:
+        * platform/audio/NowPlayingInfo.h:
+        * platform/audio/cocoa/AudioFileReaderCocoa.cpp:
+        * platform/cf/KeyedEncoderCF.cpp:
+        * platform/cf/KeyedEncoderCF.h:
+        * platform/cf/SharedBufferCF.cpp:
+        * platform/cocoa/NetworkExtensionContentFilter.h:
+        * platform/cocoa/NetworkExtensionContentFilter.mm:
+        * platform/cocoa/ParentalControlsContentFilter.h:
+        * platform/cocoa/ParentalControlsContentFilter.mm:
+        * platform/cocoa/PasteboardCocoa.mm:
+        * platform/cocoa/SharedBufferCocoa.mm:
+        * platform/encryptedmedia/CDMInstance.h:
+        * platform/encryptedmedia/CDMInstanceSession.h:
+        * platform/encryptedmedia/CDMPrivate.h:
+        * platform/encryptedmedia/CDMProxy.cpp:
+        * platform/encryptedmedia/CDMProxy.h:
+        * platform/encryptedmedia/CDMUtilities.cpp:
+        * platform/encryptedmedia/CDMUtilities.h:
+        * platform/encryptedmedia/clearkey/CDMClearKey.cpp:
+        * platform/encryptedmedia/clearkey/CDMClearKey.h:
+        * platform/generic/KeyedEncoderGeneric.cpp:
+        * platform/generic/KeyedEncoderGeneric.h:
+        * platform/glib/KeyedEncoderGlib.cpp:
+        * platform/glib/KeyedEncoderGlib.h:
+        * platform/glib/SharedBufferGlib.cpp:
+        * platform/graphics/Font.cpp:
+        * platform/graphics/Font.h:
+        * platform/graphics/FontPlatformData.h:
+        * platform/graphics/Image.cpp:
+        * platform/graphics/Image.h:
+        * platform/graphics/ImageBackingStore.h:
+        * platform/graphics/ImageDecoder.cpp:
+        * platform/graphics/ImageDecoder.h:
+        * platform/graphics/ImageSource.cpp:
+        * platform/graphics/ImageSource.h:
+        * platform/graphics/Model.cpp:
+        * platform/graphics/Model.h:
+        * platform/graphics/PlatformMediaResourceLoader.h:
+        * platform/graphics/SourceBufferPrivate.cpp:
+        * platform/graphics/SourceBufferPrivate.h:
+        * platform/graphics/WOFFFileFormat.cpp:
+        * platform/graphics/WOFFFileFormat.h:
+        * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
+        * platform/graphics/avfoundation/CDMFairPlayStreaming.h:
+        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
+        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
+        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
+        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
+        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+        * platform/graphics/cairo/FontCustomPlatformData.h:
+        * platform/graphics/cg/ImageDecoderCG.cpp:
+        * platform/graphics/cg/ImageDecoderCG.h:
+        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+        * platform/graphics/cocoa/SourceBufferParser.cpp:
+        * platform/graphics/cocoa/SourceBufferParser.h:
+        * platform/graphics/cocoa/SourceBufferParserWebM.cpp:
+        * platform/graphics/coretext/FontPlatformDataCoreText.cpp:
+        * platform/graphics/displaylists/DisplayListItemBuffer.cpp:
+        * platform/graphics/displaylists/DisplayListItemBuffer.h:
+        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
+        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
+        * platform/graphics/gstreamer/GStreamerCommon.cpp:
+        * platform/graphics/gstreamer/GStreamerCommon.h:
+        * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
+        * platform/graphics/gstreamer/ImageDecoderGStreamer.h:
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        * platform/graphics/gstreamer/eme/CDMProxyClearKey.h:
+        * platform/graphics/gstreamer/eme/CDMThunder.cpp:
+        * platform/graphics/gstreamer/eme/CDMThunder.h:
+        * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
+        * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
+        * platform/graphics/mac/FontCustomPlatformData.cpp:
+        * platform/graphics/mac/FontCustomPlatformData.h:
+        * platform/graphics/opentype/OpenTypeMathData.cpp:
+        * platform/graphics/opentype/OpenTypeMathData.h:
+        * platform/graphics/opentype/OpenTypeTypes.h:
+        * platform/graphics/opentype/OpenTypeUtilities.cpp:
+        * platform/graphics/opentype/OpenTypeUtilities.h:
+        * platform/graphics/opentype/OpenTypeVerticalData.cpp:
+        * platform/graphics/win/DirectWriteUtilities.h:
+        * platform/graphics/win/FontCustomPlatformData.cpp:
+        * platform/graphics/win/FontCustomPlatformData.h:
+        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
+        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
+        * platform/graphics/win/FontPlatformDataWin.cpp:
+        * platform/graphics/win/ImageDecoderDirect2D.cpp:
+        * platform/graphics/win/ImageDecoderDirect2D.h:
+        * platform/graphics/win/ImageWin.cpp:
+        * platform/gtk/SelectionData.h:
+        * platform/image-decoders/ScalableImageDecoder.cpp:
+        * platform/image-decoders/ScalableImageDecoder.h:
+        * platform/image-decoders/avif/AVIFImageReader.cpp:
+        * platform/image-decoders/avif/AVIFImageReader.h:
+        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
+        * platform/image-decoders/bmp/BMPImageDecoder.h:
+        * platform/image-decoders/bmp/BMPImageReader.h:
+        * platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:
+        * platform/image-decoders/gif/GIFImageDecoder.cpp:
+        * platform/image-decoders/gif/GIFImageDecoder.h:
+        * platform/image-decoders/gif/GIFImageReader.h:
+        * platform/image-decoders/ico/ICOImageDecoder.cpp:
+        * platform/image-decoders/ico/ICOImageDecoder.h:
+        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+        * platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:
+        * platform/image-decoders/png/PNGImageDecoder.cpp:
+        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
+        * platform/image-decoders/webp/WEBPImageDecoder.h:
+        * platform/ios/PasteboardIOS.mm:
+        * platform/ios/PlatformPasteboardIOS.mm:
+        * platform/mac/PasteboardMac.mm:
+        * platform/mac/PlatformPasteboardMac.mm:
+        * platform/mediarecorder/MediaRecorderPrivate.h:
+        * platform/mediarecorder/MediaRecorderPrivateMock.cpp:
+        * platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
+        * platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
+        * platform/network/DataURLDecoder.h:
+        * platform/network/FormData.cpp:
+        * platform/network/FormData.h:
+        * platform/network/ResourceHandle.h:
+        * platform/network/ResourceHandleClient.cpp:
+        * platform/network/ResourceHandleClient.h:
+        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
+        * platform/network/cocoa/RangeResponseGenerator.mm:
+        * platform/network/cocoa/WebCoreNSURLSession.h:
+        * platform/network/cocoa/WebCoreNSURLSession.mm:
+        * platform/network/curl/CurlDownload.cpp:
+        * platform/network/curl/CurlDownload.h:
+        * platform/network/curl/CurlMultipartHandle.cpp:
+        * platform/network/curl/CurlMultipartHandle.h:
+        * platform/network/curl/CurlMultipartHandleClient.h:
+        * platform/network/curl/CurlRequest.cpp:
+        * platform/network/curl/CurlRequest.h:
+        * platform/network/curl/CurlRequestClient.h:
+        * platform/network/curl/CurlResourceHandleDelegate.cpp:
+        * platform/network/curl/CurlResourceHandleDelegate.h:
+        * platform/network/ios/LegacyPreviewLoaderClient.h:
+        * platform/posix/SharedBufferPOSIX.cpp:
+        * platform/win/PasteboardWin.cpp:
+        * platform/win/SharedBufferWin.cpp:
+        * testing/MockCDMFactory.cpp:
+        * testing/MockCDMFactory.h:
+        * testing/MockContentFilter.cpp:
+        * testing/MockContentFilter.h:
+        * workers/ScriptBuffer.h:
+        * workers/WorkerFontLoadRequest.cpp:
+        * workers/service/context/ServiceWorkerFetch.cpp:
+        * workers/service/context/ServiceWorkerFetch.h:
+        * workers/service/server/SWScriptStorage.cpp:
+        * xml/XSLTProcessorLibxslt.cpp:
+        * xml/parser/XMLDocumentParserLibxml2.cpp:
+
</ins><span class="cx"> 2021-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [GTK][a11y] Register the wrappers tree when org.a11y.atspi.Cache.GetItems() is called
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardClipboardImageReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(COCOA)
</span><span class="cx"> 
</span><del>-void ClipboardImageReader::readBuffer(const String&, const String&, Ref<ContiguousSharedBuffer>&&)
</del><ins>+void ClipboardImageReader::readBuffer(const String&, const String&, Ref<SharedBuffer>&&)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardClipboardImageReaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Document;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct ClipboardImageReader : PasteboardFileReader {
</span><span class="cx">     ClipboardImageReader(Document* document, const String& mimeType)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     void readFilename(const String&) final { ASSERT_NOT_REACHED(); }
</span><span class="cx"> 
</span><span class="cx">     bool shouldReadBuffer(const String&) const final;
</span><del>-    void readBuffer(const String& filename, const String& type, Ref<ContiguousSharedBuffer>&&) final;
</del><ins>+    void readBuffer(const String& filename, const String& type, Ref<SharedBuffer>&&) final;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr<Document> m_document;
</span><span class="cx">     String m_mimeType;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -216,8 +216,8 @@
</span><span class="cx">         auto& data = itemTypeLoader->data();
</span><span class="cx">         if (std::holds_alternative<String>(data) && !!std::get<String>(data))
</span><span class="cx">             customData.writeString(type, std::get<String>(data));
</span><del>-        else if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(data))
-            customData.writeData(type, std::get<Ref<ContiguousSharedBuffer>>(data).copyRef());
</del><ins>+        else if (std::holds_alternative<Ref<SharedBuffer>>(data))
+            customData.writeData(type, std::get<Ref<SharedBuffer>>(data).copyRef());
</ins><span class="cx">         else {
</span><span class="cx">             completionHandler(std::nullopt);
</span><span class="cx">             return;
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx">     if (!stringResult.isNull())
</span><span class="cx">         m_data = { stringResult };
</span><span class="cx">     else if (auto arrayBuffer = m_blobLoader->arrayBufferResult())
</span><del>-        m_data = { ContiguousSharedBuffer::create(static_cast<const char*>(arrayBuffer->data()), arrayBuffer->byteLength()) };
</del><ins>+        m_data = { SharedBuffer::create(static_cast<const char*>(arrayBuffer->data()), arrayBuffer->byteLength()) };
</ins><span class="cx">     m_blobLoader = nullptr;
</span><span class="cx">     invokeCompletionHandler();
</span><span class="cx"> }
</span><span class="lines">@@ -265,8 +265,8 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_type == "text/html"_s) {
</span><span class="cx">         String markupToSanitize;
</span><del>-        if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(m_data)) {
-            auto& buffer = std::get<Ref<ContiguousSharedBuffer>>(m_data);
</del><ins>+        if (std::holds_alternative<Ref<SharedBuffer>>(m_data)) {
+            auto& buffer = std::get<Ref<SharedBuffer>>(m_data);
</ins><span class="cx">             markupToSanitize = String::fromUTF8(buffer->data(), buffer->size());
</span><span class="cx">         } else if (std::holds_alternative<String>(m_data))
</span><span class="cx">             markupToSanitize = std::get<String>(m_data);
</span><span class="lines">@@ -278,9 +278,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_type == "image/png"_s) {
</span><del>-        RefPtr<ContiguousSharedBuffer> bufferToSanitize;
-        if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(m_data))
-            bufferToSanitize = std::get<Ref<ContiguousSharedBuffer>>(m_data).ptr();
</del><ins>+        RefPtr<SharedBuffer> bufferToSanitize;
+        if (std::holds_alternative<Ref<SharedBuffer>>(m_data))
+            bufferToSanitize = std::get<Ref<SharedBuffer>>(m_data).ptr();
</ins><span class="cx">         else if (std::holds_alternative<String>(m_data))
</span><span class="cx">             bufferToSanitize = utf8Buffer(std::get<String>(m_data));
</span><span class="cx"> 
</span><span class="lines">@@ -296,7 +296,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         imageBuffer->context().drawImage(bitmapImage.get(), FloatPoint::zero());
</span><del>-        m_data = { ContiguousSharedBuffer::create(imageBuffer->toData("image/png"_s)) };
</del><ins>+        m_data = { SharedBuffer::create(imageBuffer->toData("image/png"_s)) };
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Blob;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class DOMPromise;
</span><span class="cx"> class FileReaderLoader;
</span><span class="cx"> class PasteboardCustomData;
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> 
</span><span class="cx">     void invokeCompletionHandler();
</span><span class="cx"> 
</span><del>-    using BufferOrString = std::variant<String, Ref<ContiguousSharedBuffer>>;
</del><ins>+    using BufferOrString = std::variant<String, Ref<SharedBuffer>>;
</ins><span class="cx">     class ClipboardItemTypeLoader : public FileReaderLoaderClient, public RefCounted<ClipboardItemTypeLoader> {
</span><span class="cx">     public:
</span><span class="cx">         static Ref<ClipboardItemTypeLoader> create(const String& type, CompletionHandler<void()>&& completionHandler)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardiosClipboardImageReaderIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-void ClipboardImageReader::readBuffer(const String&, const String&, Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+void ClipboardImageReader::readBuffer(const String&, const String&, Ref<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (m_mimeType == "image/png") {
</span><span class="cx">         auto image = adoptNS([PAL::allocUIImageInstance() initWithData:buffer->createNSData().get()]);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesasyncclipboardmacClipboardImageReaderMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-void ClipboardImageReader::readBuffer(const String&, const String&, Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+void ClipboardImageReader::readBuffer(const String&, const String&, Ref<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (m_mimeType == "image/png") {
</span><span class="cx">         auto image = adoptNS([[NSImage alloc] initWithData:buffer->createNSData().get()]);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulescacheCacheStorageConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/cache/CacheStorageConnection.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/cache/CacheStorageConnection.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/cache/CacheStorageConnection.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     uint64_t result = 0;
</span><span class="cx">     WTF::switchOn(body, [&] (const Ref<FormData>& formData) {
</span><span class="cx">         result = formDataSize(formData);
</span><del>-    }, [&] (const Ref<ContiguousSharedBuffer>& buffer) {
</del><ins>+    }, [&] (const Ref<SharedBuffer>& buffer) {
</ins><span class="cx">         result = buffer->size();
</span><span class="cx">     }, [] (const std::nullptr_t&) {
</span><span class="cx">     });
</span></span></pre></div>
<a id="trunkSourceWebCoreModulescacheDOMCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/cache/DOMCache.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/cache/DOMCache.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/cache/DOMCache.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -307,7 +307,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DOMCache::putWithResponseData(DOMPromiseDeferred<void>&& promise, Ref<FetchRequest>&& request, Ref<FetchResponse>&& response, ExceptionOr<RefPtr<ContiguousSharedBuffer>>&& responseBody)
</del><ins>+void DOMCache::putWithResponseData(DOMPromiseDeferred<void>&& promise, Ref<FetchRequest>&& request, Ref<FetchResponse>&& response, ExceptionOr<RefPtr<SharedBuffer>>&& responseBody)
</ins><span class="cx"> {
</span><span class="cx">     if (responseBody.hasException()) {
</span><span class="cx">         queueTaskKeepingObjectAlive(*this, TaskSource::DOMManipulation, [promise = WTFMove(promise), exception = responseBody.releaseException()]() mutable {
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">             if (auto* chunk = result.returnValue())
</span><span class="cx">                 data.append(chunk->data(), chunk->size());
</span><span class="cx">             else
</span><del>-                this->putWithResponseData(WTFMove(promise), WTFMove(request), WTFMove(response), RefPtr<ContiguousSharedBuffer> { data.takeAsContiguous() });
</del><ins>+                this->putWithResponseData(WTFMove(promise), WTFMove(request), WTFMove(response), RefPtr<SharedBuffer> { data.takeAsContiguous() });
</ins><span class="cx">         });
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulescacheDOMCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/cache/DOMCache.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/cache/DOMCache.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/cache/DOMCache.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     void stop() final;
</span><span class="cx">     const char* activeDOMObjectName() const final;
</span><span class="cx"> 
</span><del>-    void putWithResponseData(DOMPromiseDeferred<void>&&, Ref<FetchRequest>&&, Ref<FetchResponse>&&, ExceptionOr<RefPtr<ContiguousSharedBuffer>>&&);
</del><ins>+    void putWithResponseData(DOMPromiseDeferred<void>&&, Ref<FetchRequest>&&, Ref<FetchResponse>&&, ExceptionOr<RefPtr<SharedBuffer>>&&);
</ins><span class="cx"> 
</span><span class="cx">     enum class ShouldRetrieveResponses : bool { No, Yes };
</span><span class="cx">     using RecordsCallback = CompletionHandler<void(ExceptionOr<Vector<DOMCacheEngine::Record>>&&)>;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulescacheDOMCacheEnginecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/cache/DOMCacheEngine.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -131,8 +131,8 @@
</span><span class="cx"> {
</span><span class="cx">     return WTF::switchOn(body, [](const Ref<FormData>& formData) -> ResponseBody {
</span><span class="cx">         return formData->isolatedCopy();
</span><del>-    }, [](const Ref<ContiguousSharedBuffer>& buffer) -> ResponseBody {
-        return buffer.copyRef(); // ContiguousSharedBuffer are immutable and can be returned as-is.
</del><ins>+    }, [](const Ref<SharedBuffer>& buffer) -> ResponseBody {
+        return buffer.copyRef(); // SharedBuffer are immutable and can be returned as-is.
</ins><span class="cx">     }, [](const std::nullptr_t&) -> ResponseBody {
</span><span class="cx">         return DOMCacheEngine::ResponseBody { };
</span><span class="cx">     });
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> {
</span><span class="cx">     return WTF::switchOn(body, [](const Ref<FormData>& formData) -> ResponseBody {
</span><span class="cx">         return formData.copyRef();
</span><del>-    }, [](const Ref<ContiguousSharedBuffer>& buffer) -> ResponseBody {
</del><ins>+    }, [](const Ref<SharedBuffer>& buffer) -> ResponseBody {
</ins><span class="cx">         return buffer.copyRef();
</span><span class="cx">     }, [](const std::nullptr_t&) -> ResponseBody {
</span><span class="cx">         return DOMCacheEngine::ResponseBody { };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulescacheDOMCacheEngineh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/cache/DOMCacheEngine.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/cache/DOMCacheEngine.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/cache/DOMCacheEngine.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> WEBCORE_EXPORT bool queryCacheMatch(const ResourceRequest& request, const ResourceRequest& cachedRequest, const ResourceResponse&, const CacheQueryOptions&);
</span><span class="cx"> WEBCORE_EXPORT bool queryCacheMatch(const ResourceRequest& request, const URL& url, bool hasVaryStar, const HashMap<String, String>& varyHeaders, const CacheQueryOptions&);
</span><span class="cx"> 
</span><del>-using ResponseBody = std::variant<std::nullptr_t, Ref<FormData>, Ref<ContiguousSharedBuffer>>;
</del><ins>+using ResponseBody = std::variant<std::nullptr_t, Ref<FormData>, Ref<SharedBuffer>>;
</ins><span class="cx"> ResponseBody isolatedResponseBody(const ResponseBody&);
</span><span class="cx"> WEBCORE_EXPORT ResponseBody copyResponseBody(const ResponseBody&);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaCDMcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -135,17 +135,17 @@
</span><span class="cx">     return m_private && m_private->supportedInitDataTypes().contains(initDataType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDM::sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData)
</del><ins>+RefPtr<FragmentedSharedBuffer> CDM::sanitizeInitData(const AtomString& initDataType, const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     return InitDataRegistry::shared().sanitizeInitData(initDataType, initData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CDM::supportsInitData(const AtomString& initDataType, const SharedBuffer& initData)
</del><ins>+bool CDM::supportsInitData(const AtomString& initDataType, const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     return m_private && m_private->supportsInitData(initDataType, initData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDM::sanitizeResponse(const SharedBuffer& response)
</del><ins>+RefPtr<FragmentedSharedBuffer> CDM::sanitizeResponse(const FragmentedSharedBuffer& response)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_private)
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaCDMh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDM.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> class CDMPrivate;
</span><span class="cx"> class Document;
</span><span class="cx"> class ScriptExecutionContext;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class CDM : public RefCounted<CDM>, public CanMakeWeakPtr<CDM>, private ContextDestructionObserver {
</span><span class="cx"> public:
</span><span class="lines">@@ -73,10 +73,10 @@
</span><span class="cx">     bool supportsSessions() const;
</span><span class="cx">     bool supportsInitDataType(const AtomString&) const;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> sanitizeInitData(const AtomString& initDataType, const SharedBuffer&);
-    bool supportsInitData(const AtomString& initDataType, const SharedBuffer&);
</del><ins>+    RefPtr<FragmentedSharedBuffer> sanitizeInitData(const AtomString& initDataType, const FragmentedSharedBuffer&);
+    bool supportsInitData(const AtomString& initDataType, const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&);
</del><ins>+    RefPtr<FragmentedSharedBuffer> sanitizeResponse(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     std::optional<String> sanitizeSessionId(const String& sessionId);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaCDMClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDMClient.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/CDMClient.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDMClient.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class CDMInstance;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class CDMClient : public CanMakeWeakPtr<CDMClient> {
</span><span class="cx"> public:
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     virtual ~CDMClient() = default;
</span><span class="cx"> 
</span><span class="cx">     virtual void cdmClientAttemptToResumePlaybackIfNecessary() = 0;
</span><del>-    virtual void cdmClientUnrequestedInitializationDataReceived(const String&, Ref<SharedBuffer>&&) = 0;
</del><ins>+    virtual void cdmClientUnrequestedInitializationDataReceived(const String&, Ref<FragmentedSharedBuffer>&&) = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaInitDataRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     const uint32_t kKeyIdsMaxKeyIdSizeInBytes = 512;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDsKeyids(const SharedBuffer& buffer)
</del><ins>+static std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDsKeyids(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // 1. Format
</span><span class="cx">     // https://w3c.github.io/encrypted-media/format-registry/initdata/keyids.html#format
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     if (!kidsArray)
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><del>-    Vector<Ref<SharedBuffer>> keyIDs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> keyIDs;
</ins><span class="cx">     for (auto& value : *kidsArray) {
</span><span class="cx">         auto keyID = value->asString();
</span><span class="cx">         if (!keyID)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     return keyIDs;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr<SharedBuffer> sanitizeKeyids(const SharedBuffer& buffer)
</del><ins>+static RefPtr<FragmentedSharedBuffer> sanitizeKeyids(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // 1. Format
</span><span class="cx">     // https://w3c.github.io/encrypted-media/format-registry/initdata/keyids.html#format
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     return SharedBuffer::create(jsonData.data(), jsonData.length());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<Vector<std::unique_ptr<ISOProtectionSystemSpecificHeaderBox>>> InitDataRegistry::extractPsshBoxesFromCenc(const SharedBuffer& buffer)
</del><ins>+std::optional<Vector<std::unique_ptr<ISOProtectionSystemSpecificHeaderBox>>> InitDataRegistry::extractPsshBoxesFromCenc(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // 4. Common SystemID and PSSH Box Format
</span><span class="cx">     // https://w3c.github.io/encrypted-media/format-registry/initdata/cenc.html#common-system
</span><span class="lines">@@ -151,9 +151,9 @@
</span><span class="cx">     return psshBoxes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<Vector<Ref<SharedBuffer>>> InitDataRegistry::extractKeyIDsCenc(const SharedBuffer& buffer)
</del><ins>+std::optional<Vector<Ref<FragmentedSharedBuffer>>> InitDataRegistry::extractKeyIDsCenc(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><del>-    Vector<Ref<SharedBuffer>> keyIDs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> keyIDs;
</ins><span class="cx"> 
</span><span class="cx">     auto psshBoxes = extractPsshBoxesFromCenc(buffer);
</span><span class="cx">     if (!psshBoxes)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">     return keyIDs;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> InitDataRegistry::sanitizeCenc(const SharedBuffer& buffer)
</del><ins>+RefPtr<FragmentedSharedBuffer> InitDataRegistry::sanitizeCenc(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // 4. Common SystemID and PSSH Box Format
</span><span class="cx">     // https://w3c.github.io/encrypted-media/format-registry/initdata/cenc.html#common-system
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx">     return buffer.copy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr<SharedBuffer> sanitizeWebM(const SharedBuffer& buffer)
</del><ins>+static RefPtr<FragmentedSharedBuffer> sanitizeWebM(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // Check if the buffer is a valid WebM initData.
</span><span class="cx">     // The WebM initData is the ContentEncKeyID, so should be less than kWebMMaxContentEncKeyIDSize.
</span><span class="lines">@@ -205,10 +205,10 @@
</span><span class="cx">     return buffer.copy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDsWebM(const SharedBuffer& buffer)
</del><ins>+static std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDsWebM(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><del>-    Vector<Ref<SharedBuffer>> keyIDs;
-    RefPtr<SharedBuffer> sanitizedBuffer = sanitizeWebM(buffer);
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> keyIDs;
+    RefPtr<FragmentedSharedBuffer> sanitizedBuffer = sanitizeWebM(buffer);
</ins><span class="cx">     if (!sanitizedBuffer)
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx"> 
</span><span class="cx"> InitDataRegistry::~InitDataRegistry() = default;
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> InitDataRegistry::sanitizeInitData(const AtomString& initDataType, const SharedBuffer& buffer)
</del><ins>+RefPtr<FragmentedSharedBuffer> InitDataRegistry::sanitizeInitData(const AtomString& initDataType, const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto iter = m_types.find(initDataType);
</span><span class="cx">     if (iter == m_types.end() || !iter->value.sanitizeInitData)
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">     return iter->value.sanitizeInitData(buffer);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<Vector<Ref<SharedBuffer>>> InitDataRegistry::extractKeyIDs(const AtomString& initDataType, const SharedBuffer& buffer)
</del><ins>+std::optional<Vector<Ref<FragmentedSharedBuffer>>> InitDataRegistry::extractKeyIDs(const AtomString& initDataType, const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto iter = m_types.find(initDataType);
</span><span class="cx">     if (iter == m_types.end() || !iter->value.sanitizeInitData)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaInitDataRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class ISOProtectionSystemSpecificHeaderBox;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class InitDataRegistry {
</span><span class="cx"> public:
</span><span class="lines">@@ -45,12 +45,12 @@
</span><span class="cx">     WEBCORE_EXPORT static InitDataRegistry& shared();
</span><span class="cx">     friend class NeverDestroyed<InitDataRegistry>;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> sanitizeInitData(const AtomString& initDataType, const SharedBuffer&);
-    WEBCORE_EXPORT std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDs(const AtomString& initDataType, const SharedBuffer&);
</del><ins>+    RefPtr<FragmentedSharedBuffer> sanitizeInitData(const AtomString& initDataType, const FragmentedSharedBuffer&);
+    WEBCORE_EXPORT std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDs(const AtomString& initDataType, const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     struct InitDataTypeCallbacks {
</span><del>-        using SanitizeInitDataCallback = Function<RefPtr<SharedBuffer>(const SharedBuffer&)>;
-        using ExtractKeyIDsCallback = Function<std::optional<Vector<Ref<SharedBuffer>>>(const SharedBuffer&)>;
</del><ins>+        using SanitizeInitDataCallback = Function<RefPtr<FragmentedSharedBuffer>(const FragmentedSharedBuffer&)>;
+        using ExtractKeyIDsCallback = Function<std::optional<Vector<Ref<FragmentedSharedBuffer>>>(const FragmentedSharedBuffer&)>;
</ins><span class="cx"> 
</span><span class="cx">         SanitizeInitDataCallback sanitizeInitData;
</span><span class="cx">         ExtractKeyIDsCallback extractKeyIDs;
</span><span class="lines">@@ -61,9 +61,9 @@
</span><span class="cx">     static const AtomString& keyidsName();
</span><span class="cx">     static const AtomString& webmName();
</span><span class="cx"> 
</span><del>-    static std::optional<Vector<std::unique_ptr<ISOProtectionSystemSpecificHeaderBox>>> extractPsshBoxesFromCenc(const SharedBuffer&);
-    static std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDsCenc(const SharedBuffer&);
-    static RefPtr<SharedBuffer> sanitizeCenc(const SharedBuffer&);
</del><ins>+    static std::optional<Vector<std::unique_ptr<ISOProtectionSystemSpecificHeaderBox>>> extractPsshBoxesFromCenc(const FragmentedSharedBuffer&);
+    static std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDsCenc(const FragmentedSharedBuffer&);
+    static RefPtr<FragmentedSharedBuffer> sanitizeCenc(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     InitDataRegistry();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeySessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx">     queueTaskKeepingObjectAlive(*this, TaskSource::Networking, [this, weakThis = WeakPtr { *this }, initData = SharedBuffer::create(initData.data(), initData.length()), initDataType, promise = WTFMove(promise), identifier = WTFMove(identifier)] () mutable {
</span><span class="cx">         // 10.1. If the init data is not valid for initDataType, reject promise with a newly created TypeError.
</span><span class="cx">         // 10.2. Let sanitized init data be a validated and sanitized version of init data.
</span><del>-        RefPtr<SharedBuffer> sanitizedInitData = m_implementation->sanitizeInitData(initDataType, initData);
</del><ins>+        RefPtr<FragmentedSharedBuffer> sanitizedInitData = m_implementation->sanitizeInitData(initDataType, initData);
</ins><span class="cx"> 
</span><span class="cx">         // 10.3. If the preceding step failed, reject promise with a newly created TypeError.
</span><span class="cx">         if (!sanitizedInitData) {
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx">             m_latestDecryptTime = 0;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        m_instanceSession->requestLicense(m_sessionType, initDataType, sanitizedInitData.releaseNonNull(), [this, weakThis, promise = WTFMove(promise), identifier = WTFMove(identifier)] (Ref<SharedBuffer>&& message, const String& sessionId, bool needsIndividualization, CDMInstanceSession::SuccessValue succeeded) mutable {
</del><ins>+        m_instanceSession->requestLicense(m_sessionType, initDataType, sanitizedInitData.releaseNonNull(), [this, weakThis, promise = WTFMove(promise), identifier = WTFMove(identifier)] (Ref<FragmentedSharedBuffer>&& message, const String& sessionId, bool needsIndividualization, CDMInstanceSession::SuccessValue succeeded) mutable {
</ins><span class="cx">             if (!weakThis)
</span><span class="cx">                 return;
</span><span class="cx"> 
</span><span class="lines">@@ -422,7 +422,7 @@
</span><span class="cx">     // 6. Run the following steps in parallel:
</span><span class="cx">     queueTaskKeepingObjectAlive(*this, TaskSource::Networking, [this, weakThis = WeakPtr { *this }, response = SharedBuffer::create(response.data(), response.length()), promise = WTFMove(promise), identifier = WTFMove(identifier)] () mutable {
</span><span class="cx">         // 6.1. Let sanitized response be a validated and/or sanitized version of response copy.
</span><del>-        RefPtr<SharedBuffer> sanitizedResponse = m_implementation->sanitizeResponse(response);
</del><ins>+        RefPtr<FragmentedSharedBuffer> sanitizedResponse = m_implementation->sanitizeResponse(response);
</ins><span class="cx"> 
</span><span class="cx">         // 6.2. If the preceding step failed, or if sanitized response is empty, reject promise with a newly created TypeError.
</span><span class="cx">         if (!sanitizedResponse || sanitizedResponse->isEmpty()) {
</span><span class="lines">@@ -601,7 +601,7 @@
</span><span class="cx">         // 4.3. Let message type be null.
</span><span class="cx"> 
</span><span class="cx">         // 4.4. Use the cdm to execute the following steps:
</span><del>-        m_instanceSession->removeSessionData(m_sessionId, m_sessionType, [this, weakThis, promise = WTFMove(promise), identifier = WTFMove(identifier)] (CDMInstanceSession::KeyStatusVector&& keys, std::optional<Ref<SharedBuffer>>&& message, CDMInstanceSession::SuccessValue succeeded) mutable {
</del><ins>+        m_instanceSession->removeSessionData(m_sessionId, m_sessionType, [this, weakThis, promise = WTFMove(promise), identifier = WTFMove(identifier)] (CDMInstanceSession::KeyStatusVector&& keys, std::optional<Ref<FragmentedSharedBuffer>>&& message, CDMInstanceSession::SuccessValue succeeded) mutable {
</ins><span class="cx">             if (!weakThis)
</span><span class="cx">                 return;
</span><span class="cx"> 
</span><span class="lines">@@ -649,7 +649,7 @@
</span><span class="cx">     // 5. Return promise.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaKeySession::enqueueMessage(MediaKeyMessageType messageType, const SharedBuffer& message)
</del><ins>+void MediaKeySession::enqueueMessage(MediaKeyMessageType messageType, const FragmentedSharedBuffer& message)
</ins><span class="cx"> {
</span><span class="cx">     // 6.4.1 Queue a "message" Event
</span><span class="cx">     // https://w3c.github.io/encrypted-media/#queue-message
</span><span class="lines">@@ -716,7 +716,7 @@
</span><span class="cx">         });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaKeySession::sendMessage(CDMMessageType messageType, Ref<SharedBuffer>&& message)
</del><ins>+void MediaKeySession::sendMessage(CDMMessageType messageType, Ref<FragmentedSharedBuffer>&& message)
</ins><span class="cx"> {
</span><span class="cx">     enqueueMessage(messageType, message);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeySessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> class DeferredPromise;
</span><span class="cx"> class MediaKeyStatusMap;
</span><span class="cx"> class MediaKeys;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> template<typename IDLType> class DOMPromiseProxy;
</span><span class="cx"> 
</span><span class="lines">@@ -87,13 +87,13 @@
</span><span class="cx">     using ClosedPromise = DOMPromiseProxy<IDLUndefined>;
</span><span class="cx">     ClosedPromise& closed() { return m_closedPromise.get(); }
</span><span class="cx"> 
</span><del>-    const Vector<std::pair<Ref<SharedBuffer>, MediaKeyStatus>>& statuses() const { return m_statuses; }
</del><ins>+    const Vector<std::pair<Ref<FragmentedSharedBuffer>, MediaKeyStatus>>& statuses() const { return m_statuses; }
</ins><span class="cx"> 
</span><span class="cx">     unsigned internalInstanceSessionObjectRefCount() const { return m_instanceSession->refCount(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     MediaKeySession(Document&, WeakPtr<MediaKeys>&&, MediaKeySessionType, bool useDistinctiveIdentifier, Ref<CDM>&&, Ref<CDMInstanceSession>&&);
</span><del>-    void enqueueMessage(MediaKeyMessageType, const SharedBuffer&);
</del><ins>+    void enqueueMessage(MediaKeyMessageType, const FragmentedSharedBuffer&);
</ins><span class="cx">     void updateExpiration(double);
</span><span class="cx">     void sessionClosed();
</span><span class="cx">     String mediaKeysStorageDirectory() const;
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> 
</span><span class="cx">     // CDMInstanceSessionClient
</span><span class="cx">     void updateKeyStatuses(CDMInstanceSessionClient::KeyStatusVector&&) override;
</span><del>-    void sendMessage(CDMMessageType, Ref<SharedBuffer>&& message) final;
</del><ins>+    void sendMessage(CDMMessageType, Ref<FragmentedSharedBuffer>&& message) final;
</ins><span class="cx">     void sessionIdChanged(const String&) final;
</span><span class="cx">     PlatformDisplayID displayID() final;
</span><span class="cx"> 
</span><span class="lines">@@ -140,10 +140,10 @@
</span><span class="cx">     MediaKeySessionType m_sessionType;
</span><span class="cx">     Ref<CDM> m_implementation;
</span><span class="cx">     Ref<CDMInstanceSession> m_instanceSession;
</span><del>-    Vector<Ref<SharedBuffer>> m_recordOfKeyUsage;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> m_recordOfKeyUsage;
</ins><span class="cx">     double m_firstDecryptTime { 0 };
</span><span class="cx">     double m_latestDecryptTime { 0 };
</span><del>-    Vector<std::pair<Ref<SharedBuffer>, MediaKeyStatus>> m_statuses;
</del><ins>+    Vector<std::pair<Ref<FragmentedSharedBuffer>, MediaKeyStatus>> m_statuses;
</ins><span class="cx"> 
</span><span class="cx">     using DisplayChangedObserver = Observer<void(PlatformDisplayID)>;
</span><span class="cx">     DisplayChangedObserver m_displayChangedObserver;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeyStatusMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     return m_session->statuses().size();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool keyIdsMatch(const SharedBuffer& a, const BufferSource& b)
</del><ins>+static bool keyIdsMatch(const FragmentedSharedBuffer& a, const BufferSource& b)
</ins><span class="cx"> {
</span><span class="cx">     auto length = a.size();
</span><span class="cx">     if (!length || length != b.length())
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeyStatusMaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class MediaKeySession;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class MediaKeyStatusMap : public RefCounted<MediaKeyStatusMap> {
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeyscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx">         });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaKeys::unrequestedInitializationDataReceived(const String& initDataType, Ref<SharedBuffer>&& initData)
</del><ins>+void MediaKeys::unrequestedInitializationDataReceived(const String& initDataType, Ref<FragmentedSharedBuffer>&& initData)
</ins><span class="cx"> {
</span><span class="cx">     for (auto& cdmClient : m_cdmClients)
</span><span class="cx">         cdmClient.cdmClientUnrequestedInitializationDataReceived(initDataType, initData.copyRef());
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesencryptedmediaMediaKeysh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/encryptedmedia/MediaKeys.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     MediaKeys(Document&, bool useDistinctiveIdentifier, bool persistentStateAllowed, const Vector<MediaKeySessionType>&, Ref<CDM>&&, Ref<CDMInstance>&&);
</span><span class="cx"> 
</span><span class="cx">     // CDMInstanceClient
</span><del>-    void unrequestedInitializationDataReceived(const String&, Ref<SharedBuffer>&&) final;
</del><ins>+    void unrequestedInitializationDataReceived(const String&, Ref<FragmentedSharedBuffer>&&) final;
</ins><span class="cx"> 
</span><span class="cx"> #if !RELEASE_LOG_DISABLED
</span><span class="cx">     const Logger& logger() const { return m_logger; }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchBodycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchBody.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchBody.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchBody.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -297,14 +297,14 @@
</span><span class="cx">         return formDataBody();
</span><span class="cx"> 
</span><span class="cx">     if (isText())
</span><del>-        return ContiguousSharedBuffer::create(PAL::UTF8Encoding().encode(textBody(), PAL::UnencodableHandling::Entities));
</del><ins>+        return SharedBuffer::create(PAL::UTF8Encoding().encode(textBody(), PAL::UnencodableHandling::Entities));
</ins><span class="cx">     if (isURLSearchParams())
</span><del>-        return ContiguousSharedBuffer::create(PAL::UTF8Encoding().encode(urlSearchParamsBody().toString(), PAL::UnencodableHandling::Entities));
</del><ins>+        return SharedBuffer::create(PAL::UTF8Encoding().encode(urlSearchParamsBody().toString(), PAL::UnencodableHandling::Entities));
</ins><span class="cx"> 
</span><span class="cx">     if (isArrayBuffer())
</span><del>-        return ContiguousSharedBuffer::create(static_cast<const char*>(arrayBufferBody().data()), arrayBufferBody().byteLength());
</del><ins>+        return SharedBuffer::create(static_cast<const char*>(arrayBufferBody().data()), arrayBufferBody().byteLength());
</ins><span class="cx">     if (isArrayBufferView())
</span><del>-        return ContiguousSharedBuffer::create(static_cast<const uint8_t*>(arrayBufferViewBody().baseAddress()), arrayBufferViewBody().byteLength());
</del><ins>+        return SharedBuffer::create(static_cast<const uint8_t*>(arrayBufferViewBody().baseAddress()), arrayBufferViewBody().byteLength());
</ins><span class="cx"> 
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchBodyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchBody.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchBody.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchBody.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr<FormData> bodyAsFormData() const;
</span><span class="cx"> 
</span><del>-    using TakenData = std::variant<std::nullptr_t, Ref<FormData>, Ref<ContiguousSharedBuffer>>;
</del><ins>+    using TakenData = std::variant<std::nullptr_t, Ref<FormData>, Ref<SharedBuffer>>;
</ins><span class="cx">     TakenData take();
</span><span class="cx"> 
</span><span class="cx">     void setAsFormData(Ref<FormData>&& data) { m_data = WTFMove(data); }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchBodyConsumercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -329,12 +329,12 @@
</span><span class="cx">     m_buffer.append(data, size);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FetchBodyConsumer::setData(Ref<SharedBuffer>&& data)
</del><ins>+void FetchBodyConsumer::setData(Ref<FragmentedSharedBuffer>&& data)
</ins><span class="cx"> {
</span><span class="cx">     m_buffer = WTFMove(data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> FetchBodyConsumer::takeData()
</del><ins>+RefPtr<FragmentedSharedBuffer> FetchBodyConsumer::takeData()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_buffer)
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchBodyConsumerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -50,10 +50,10 @@
</span><span class="cx">     void append(const uint8_t* data, unsigned);
</span><span class="cx"> 
</span><span class="cx">     bool hasData() const { return !!m_buffer; }
</span><del>-    const SharedBuffer* data() const { return m_buffer.get().get(); }
-    void setData(Ref<SharedBuffer>&&);
</del><ins>+    const FragmentedSharedBuffer* data() const { return m_buffer.get().get(); }
+    void setData(Ref<FragmentedSharedBuffer>&&);
</ins><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> takeData();
</del><ins>+    RefPtr<FragmentedSharedBuffer> takeData();
</ins><span class="cx">     RefPtr<JSC::ArrayBuffer> takeAsArrayBuffer();
</span><span class="cx">     String takeAsText();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">         m_loader->cancel();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> FetchLoader::startStreaming()
</del><ins>+RefPtr<FragmentedSharedBuffer> FetchLoader::startStreaming()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_consumer);
</span><span class="cx">     auto firstChunk = m_consumer->takeData();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchLoader.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchLoader.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> class FetchLoaderClient;
</span><span class="cx"> class FetchRequest;
</span><span class="cx"> class ScriptExecutionContext;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class FetchLoader final : public ThreadableLoaderClient {
</span><span class="cx"> public:
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     FetchLoader(FetchLoaderClient&, FetchBodyConsumer*);
</span><span class="cx">     WEBCORE_EXPORT ~FetchLoader();
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> startStreaming();
</del><ins>+    RefPtr<FragmentedSharedBuffer> startStreaming();
</ins><span class="cx"> 
</span><span class="cx">     void start(ScriptExecutionContext&, const FetchRequest&, const String&);
</span><span class="cx">     void start(ScriptExecutionContext&, const Blob&);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponsecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx">                 setBody({ });
</span><span class="cx">             body().setAsFormData(WTFMove(formData));
</span><span class="cx">         },
</span><del>-        [this](Ref<ContiguousSharedBuffer>& buffer) {
</del><ins>+        [this](Ref<SharedBuffer>& buffer) {
</ins><span class="cx">             if (isBodyNull())
</span><span class="cx">                 setBody({ });
</span><span class="cx">             body().consumer().setData(WTFMove(buffer));
</span><span class="lines">@@ -512,7 +512,7 @@
</span><span class="cx">     closeStream();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> FetchResponse::BodyLoader::startStreaming()
</del><ins>+RefPtr<FragmentedSharedBuffer> FetchResponse::BodyLoader::startStreaming()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_loader);
</span><span class="cx">     return m_loader->startStreaming();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     void feedStream() final;
</span><span class="cx">     void cancel() final;
</span><span class="cx"> 
</span><del>-    using ResponseData = std::variant<std::nullptr_t, Ref<FormData>, Ref<ContiguousSharedBuffer>>;
</del><ins>+    using ResponseData = std::variant<std::nullptr_t, Ref<FormData>, Ref<SharedBuffer>>;
</ins><span class="cx">     ResponseData consumeBody();
</span><span class="cx">     void setBodyData(ResponseData&&, uint64_t bodySizeWithPadding);
</span><span class="cx"> 
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> 
</span><span class="cx">         void consumeDataByChunk(ConsumeDataByChunkCallback&&);
</span><span class="cx"> 
</span><del>-        RefPtr<SharedBuffer> startStreaming();
</del><ins>+        RefPtr<FragmentedSharedBuffer> startStreaming();
</ins><span class="cx">         NotificationCallback takeNotificationCallback() { return WTFMove(m_responseCallback); }
</span><span class="cx">         ConsumeDataByChunkCallback takeConsumeDataCallback() { return WTFMove(m_consumeDataCallback); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleshighlightAppHighlighth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/highlight/AppHighlight.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/highlight/AppHighlight.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/highlight/AppHighlight.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> enum class HighlightRequestOriginatedInApp : bool { No, Yes };
</span><span class="cx"> 
</span><span class="cx"> struct AppHighlight {
</span><del>-    Ref<WebCore::SharedBuffer> highlight;
</del><ins>+    Ref<WebCore::FragmentedSharedBuffer> highlight;
</ins><span class="cx">     std::optional<String> text;
</span><span class="cx">     CreateNewGroupForHighlight isNewGroup;
</span><span class="cx">     HighlightRequestOriginatedInApp requestOriginatedInApp;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleshighlightAppHighlightRangeDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx"> constexpr uint64_t highlightFileSignature = 0x4141504832303231; // File Signature  (A)pple(AP)plication(H)ighlights(2021)
</span><span class="cx"> 
</span><del>-std::optional<AppHighlightRangeData> AppHighlightRangeData::create(const SharedBuffer& buffer)
</del><ins>+std::optional<AppHighlightRangeData> AppHighlightRangeData::create(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto contiguousBuffer = buffer.makeContiguous();
</span><span class="cx">     auto decoder = contiguousBuffer->decoder();
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">     return data;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> AppHighlightRangeData::toSharedBuffer() const
</del><ins>+Ref<FragmentedSharedBuffer> AppHighlightRangeData::toSharedBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     WTF::Persistence::Encoder encoder;
</span><span class="cx">     encoder << *this;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleshighlightAppHighlightRangeDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/highlight/AppHighlightRangeData.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,12 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(APP_HIGHLIGHTS)
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class AppHighlightRangeData {
</span><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT static std::optional<AppHighlightRangeData> create(const SharedBuffer&);
</del><ins>+    WEBCORE_EXPORT static std::optional<AppHighlightRangeData> create(const FragmentedSharedBuffer&);
</ins><span class="cx">     struct NodePathComponent {
</span><span class="cx">         String identifier;
</span><span class="cx">         String nodeName;
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     template<class Encoder> void encode(Encoder&) const;
</span><span class="cx">     template<class Decoder> static std::optional<AppHighlightRangeData> decode(Decoder&);
</span><span class="cx"> 
</span><del>-    Ref<SharedBuffer> toSharedBuffer() const;
</del><ins>+    Ref<FragmentedSharedBuffer> toSharedBuffer() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     String m_identifier;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleshighlightAppHighlightStoragecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -237,7 +237,7 @@
</span><span class="cx">     m_document->page()->chrome().storeAppHighlight(WTFMove(highlight));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void AppHighlightStorage::restoreAndScrollToAppHighlight(Ref<SharedBuffer>&& buffer, ScrollToHighlight scroll)
</del><ins>+void AppHighlightStorage::restoreAndScrollToAppHighlight(Ref<FragmentedSharedBuffer>&& buffer, ScrollToHighlight scroll)
</ins><span class="cx"> {
</span><span class="cx">     auto appHighlightRangeData = AppHighlightRangeData::create(buffer);
</span><span class="cx">     if (!appHighlightRangeData)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleshighlightAppHighlightStorageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/highlight/AppHighlightStorage.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> #if ENABLE(APP_HIGHLIGHTS)
</span><span class="cx"> 
</span><span class="cx"> class Document;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class StaticRange;
</span><span class="cx"> class Highlight;
</span><span class="cx"> 
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     ~AppHighlightStorage();
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void storeAppHighlight(Ref<StaticRange>&&);
</span><del>-    WEBCORE_EXPORT void restoreAndScrollToAppHighlight(Ref<SharedBuffer>&&, ScrollToHighlight);
</del><ins>+    WEBCORE_EXPORT void restoreAndScrollToAppHighlight(Ref<FragmentedSharedBuffer>&&, ScrollToHighlight);
</ins><span class="cx">     void restoreUnrestoredAppHighlights();
</span><span class="cx">     MonotonicTime lastRangeSearchTime() const { return m_timeAtLastRangeSearch; }
</span><span class="cx">     void resetLastRangeSearchTime() { m_timeAtLastRangeSearch = MonotonicTime::now(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBSerializationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> enum class KeyPathType { Null, String, Array };
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> serializeIDBKeyPath(const std::optional<IDBKeyPath>& keyPath)
</del><ins>+RefPtr<SharedBuffer> serializeIDBKeyPath(const std::optional<IDBKeyPath>& keyPath)
</ins><span class="cx"> {
</span><span class="cx">     auto encoder = KeyedEncoder::encoder();
</span><span class="cx"> 
</span><span class="lines">@@ -282,13 +282,13 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> serializeIDBKeyData(const IDBKeyData& key)
</del><ins>+RefPtr<SharedBuffer> serializeIDBKeyData(const IDBKeyData& key)
</ins><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> data;
</span><span class="cx">     data.append(SIDBKeyVersion);
</span><span class="cx"> 
</span><span class="cx">     encodeKey(data, key);
</span><del>-    return ContiguousSharedBuffer::create(WTFMove(data));
</del><ins>+    return SharedBuffer::create(WTFMove(data));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static WARN_UNUSED_RETURN bool decodeKey(const uint8_t*& data, const uint8_t* end, IDBKeyData& result)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverIDBSerializationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -32,10 +32,10 @@
</span><span class="cx"> 
</span><span class="cx"> class IDBKeyData;
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> serializeIDBKeyPath(const std::optional<IDBKeyPath>&);
</del><ins>+RefPtr<SharedBuffer> serializeIDBKeyPath(const std::optional<IDBKeyPath>&);
</ins><span class="cx"> bool deserializeIDBKeyPath(const uint8_t* buffer, size_t bufferSize, std::optional<IDBKeyPath>&);
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> serializeIDBKeyData(const IDBKeyData&);
</del><ins>+RefPtr<SharedBuffer> serializeIDBKeyData(const IDBKeyData&);
</ins><span class="cx"> bool deserializeIDBKeyData(const uint8_t* buffer, size_t bufferSize, IDBKeyData&);
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediarecorderMediaRecordercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline Ref<BlobEvent> createDataAvailableEvent(ScriptExecutionContext* context, RefPtr<SharedBuffer>&& buffer, const String& mimeType, double timeCode)
</del><ins>+static inline Ref<BlobEvent> createDataAvailableEvent(ScriptExecutionContext* context, RefPtr<FragmentedSharedBuffer>&& buffer, const String& mimeType, double timeCode)
</ins><span class="cx"> {
</span><span class="cx">     auto blob = buffer ? Blob::create(context, buffer->extractData(), mimeType) : Blob::create(context);
</span><span class="cx">     return BlobEvent::create(eventNames().dataavailableEvent, BlobEvent::Init { { false, false, false }, WTFMove(blob), timeCode }, BlobEvent::IsTrusted::Yes);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediarecorderMediaRecorderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">     void dispatchError(Exception&&);
</span><span class="cx"> 
</span><span class="cx">     enum class TakePrivateRecorder { No, Yes };
</span><del>-    using FetchDataCallback = Function<void(RefPtr<SharedBuffer>&&, const String& mimeType, double)>;
</del><ins>+    using FetchDataCallback = Function<void(RefPtr<FragmentedSharedBuffer>&&, const String& mimeType, double)>;
</ins><span class="cx">     void fetchData(FetchDataCallback&&, TakePrivateRecorder);
</span><span class="cx"> 
</span><span class="cx">     // MediaStream::Observer
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionMediaMetadatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediasession/MediaMetadata.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     // Sanitize the image by decoding it into a BitmapImage.
</span><del>-    RefPtr<SharedBuffer> bufferToSanitize = m_cachedImage->image()->data();
</del><ins>+    RefPtr<FragmentedSharedBuffer> bufferToSanitize = m_cachedImage->image()->data();
</ins><span class="cx">     auto bitmapImage = BitmapImage::create();
</span><span class="cx">     bitmapImage->setData(WTFMove(bufferToSanitize), true);
</span><span class="cx">     auto imageBuffer = ImageBuffer::create(bitmapImage->size(), RenderingMode::Unaccelerated, 1, DestinationColorSpace::SRGB(), PixelFormat::BGRA8);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx">     // https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer-segment-parser-loop
</span><span class="cx">     // When the segment parser loop algorithm is invoked, run the following steps:
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> appendData = WTFMove(m_pendingAppendData);
</del><ins>+    RefPtr<FragmentedSharedBuffer> appendData = WTFMove(m_pendingAppendData);
</ins><span class="cx">     // 1. Loop Top: If the input buffer is empty, then jump to the need more data step below.
</span><span class="cx">     if (!appendData || !appendData->size()) {
</span><span class="cx">         sourceBufferPrivateAppendComplete(AppendResult::AppendSucceeded);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceSourceBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx"> 
</span><span class="cx">     WTF::Observer<void*()> m_opaqueRootProvider;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> m_pendingAppendData;
</del><ins>+    RefPtr<FragmentedSharedBuffer> m_pendingAppendData;
</ins><span class="cx">     Timer m_appendBufferTimer;
</span><span class="cx"> 
</span><span class="cx">     RefPtr<VideoTrackList> m_videoTracks;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCDataChannelRemoteHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> class RTCDataChannelHandlerClient;
</span><span class="cx"> class RTCDataChannelRemoteHandlerConnection;
</span><span class="cx"> class RTCError;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class RTCDataChannelRemoteHandler final : public RTCDataChannelHandler, public CanMakeWeakPtr<RTCDataChannelRemoteHandler> {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> 
</span><span class="cx">     struct Message {
</span><span class="cx">         bool isRaw { false };
</span><del>-        Ref<SharedBuffer> buffer;
</del><ins>+        Ref<FragmentedSharedBuffer> buffer;
</ins><span class="cx">     };
</span><span class="cx">     Vector<Message> m_pendingMessages;
</span><span class="cx">     bool m_isPendingClose { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">     m_contextIdentifier = contextIdentifier;
</span><span class="cx"> 
</span><span class="cx">     for (auto& message : m_bufferedMessages) {
</span><del>-        switchOn(message, [&](Ref<SharedBuffer>& data) {
</del><ins>+        switchOn(message, [&](Ref<FragmentedSharedBuffer>& data) {
</ins><span class="cx">             client.didReceiveRawData(data->makeContiguous()->data(), data->size());
</span><span class="cx">         }, [&](String& text) {
</span><span class="cx">             client.didReceiveStringData(text);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">         RTCDataChannelState state;
</span><span class="cx">         std::optional<webrtc::RTCError> error;
</span><span class="cx">     };
</span><del>-    using Message = std::variant<StateChange, String, Ref<SharedBuffer>>;
</del><ins>+    using Message = std::variant<StateChange, String, Ref<FragmentedSharedBuffer>>;
</ins><span class="cx">     using PendingMessages = Vector<Message>;
</span><span class="cx">     void storeMessage(PendingMessages&, const webrtc::DataBuffer&);
</span><span class="cx">     void processMessage(const webrtc::DataBuffer&);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamSinkh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamSink.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamSink.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamSink.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> class BufferSource;
</span><span class="cx"> class ReadableStream;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class ReadableStreamSink : public RefCounted<ReadableStreamSink> {
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -475,7 +475,7 @@
</span><span class="cx">         // FIXME: Support FormData loading.
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=221248
</span><span class="cx">         compiler->fail(globalObject, createDOMException(*globalObject, Exception { NotSupportedError, "Not implemented"_s  }));
</span><del>-    }, [&](Ref<ContiguousSharedBuffer>& buffer) {
</del><ins>+    }, [&](Ref<SharedBuffer>& buffer) {
</ins><span class="cx">         compiler->addBytes(buffer->data(), buffer->size());
</span><span class="cx">         compiler->finalize(globalObject);
</span><span class="cx">     }, [&](std::nullptr_t&) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptBufferSourceProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ScriptBuffer m_scriptBuffer;
</span><del>-    mutable RefPtr<ContiguousSharedBuffer> m_contiguousBuffer;
</del><ins>+    mutable RefPtr<SharedBuffer> m_contiguousBuffer;
</ins><span class="cx">     mutable unsigned m_scriptHash { 0 };
</span><span class="cx">     mutable String m_cachedScriptString;
</span><span class="cx">     mutable std::optional<bool> m_containsOnlyASCII;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> class IDBValue;
</span><span class="cx"> class MessagePort;
</span><span class="cx"> class ImageBitmapBacking;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> enum class SerializationReturnCode;
</span><span class="cx"> 
</span><span class="cx"> enum class SerializationErrorMode { NonThrowing, Throwing };
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFaceSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFaceSource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFaceSource.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">                 ASSERT(!m_inDocumentCustomPlatformData);
</span><span class="cx">                 SVGFontElement& fontElement = downcast<SVGFontElement>(*m_svgFontFaceElement->parentNode());
</span><span class="cx">                 if (auto otfFont = convertSVGToOTFFont(fontElement))
</span><del>-                    m_generatedOTFBuffer = ContiguousSharedBuffer::create(WTFMove(otfFont.value()));
</del><ins>+                    m_generatedOTFBuffer = SharedBuffer::create(WTFMove(otfFont.value()));
</ins><span class="cx">                 if (m_generatedOTFBuffer) {
</span><span class="cx">                     m_inDocumentCustomPlatformData = createFontCustomPlatformData(*m_generatedOTFBuffer, String());
</span><span class="cx">                     success = static_cast<bool>(m_inDocumentCustomPlatformData);
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx">         } else if (m_immediateSource) {
</span><span class="cx">             ASSERT(!m_immediateFontCustomPlatformData);
</span><span class="cx">             bool wrapping;
</span><del>-            auto buffer = ContiguousSharedBuffer::create(static_cast<const char*>(m_immediateSource->baseAddress()), m_immediateSource->byteLength());
</del><ins>+            auto buffer = SharedBuffer::create(static_cast<const char*>(m_immediateSource->baseAddress()), m_immediateSource->byteLength());
</ins><span class="cx">             m_immediateFontCustomPlatformData = CachedFont::createCustomFontData(buffer.get(), String(), wrapping);
</span><span class="cx">             success = static_cast<bool>(m_immediateFontCustomPlatformData);
</span><span class="cx">         } else {
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFaceSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFaceSource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFaceSource.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> class CSSFontFace;
</span><span class="cx"> class CSSFontSelector;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class Document;
</span><span class="cx"> class Font;
</span><span class="cx"> class FontCreationContext;
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     WeakPtr<CSSFontSelector> m_fontSelector; // For remote fonts, to orchestrate loading.
</span><span class="cx">     std::unique_ptr<FontLoadRequest> m_fontRequest; // Also for remote fonts, a pointer to the resource request.
</span><span class="cx"> 
</span><del>-    RefPtr<ContiguousSharedBuffer> m_generatedOTFBuffer;
</del><ins>+    RefPtr<SharedBuffer> m_generatedOTFBuffer;
</ins><span class="cx">     RefPtr<JSC::ArrayBufferView> m_immediateSource;
</span><span class="cx">     std::unique_ptr<FontCustomPlatformData> m_immediateFontCustomPlatformData;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomDataTransfercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/DataTransfer.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/DataTransfer.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/dom/DataTransfer.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -402,7 +402,7 @@
</span><span class="cx">         types.add(File::contentTypeForFile(filename));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void readBuffer(const String&, const String& type, Ref<ContiguousSharedBuffer>&&)
</del><ins>+    void readBuffer(const String&, const String& type, Ref<SharedBuffer>&&)
</ins><span class="cx">     {
</span><span class="cx">         types.add(type);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/Editor.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -4159,7 +4159,7 @@
</span><span class="cx">         return { };
</span><span class="cx"> 
</span><span class="cx">     Vector<String> additionalTypes;
</span><del>-    Vector<RefPtr<ContiguousSharedBuffer>> additionalData;
</del><ins>+    Vector<RefPtr<SharedBuffer>> additionalData;
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     getPasteboardTypesAndDataForAttachment(element, additionalTypes, additionalData);
</span><span class="cx"> #endif
</span><span class="lines">@@ -4167,7 +4167,7 @@
</span><span class="cx">     return { attachment->uniqueIdentifier(), WTFMove(additionalTypes), WTFMove(additionalData) };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Editor::registerAttachmentIdentifier(const String& identifier, const String& contentType, const String& preferredFileName, Ref<SharedBuffer>&& data)
</del><ins>+void Editor::registerAttachmentIdentifier(const String& identifier, const String& contentType, const String& preferredFileName, Ref<FragmentedSharedBuffer>&& data)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* client = this->client())
</span><span class="cx">         client->registerAttachmentIdentifier(identifier, contentType, preferredFileName, WTFMove(data));
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/Editor.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/Editor.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/Editor.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> class AlternativeTextController;
</span><span class="cx"> class ArchiveResource;
</span><span class="cx"> class CompositeEditCommand;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class CustomUndoStep;
</span><span class="cx"> class DataTransfer;
</span><span class="cx"> class DeleteButtonController;
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> class Pasteboard;
</span><span class="cx"> class PasteboardWriterData;
</span><span class="cx"> class RenderLayer;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class Font;
</span><span class="cx"> class SpellCheckRequest;
</span><span class="cx"> class SpellChecker;
</span><span class="lines">@@ -539,7 +539,7 @@
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     WEBCORE_EXPORT void readSelectionFromPasteboard(const String& pasteboardName);
</span><span class="cx">     WEBCORE_EXPORT void replaceNodeFromPasteboard(Node*, const String& pasteboardName);
</span><del>-    WEBCORE_EXPORT RefPtr<ContiguousSharedBuffer> dataSelectionForPasteboard(const String& pasteboardName);
</del><ins>+    WEBCORE_EXPORT RefPtr<SharedBuffer> dataSelectionForPasteboard(const String& pasteboardName);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     bool canCopyExcludingStandaloneImages() const;
</span><span class="lines">@@ -566,7 +566,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ATTACHMENT_ELEMENT)
</span><span class="cx">     WEBCORE_EXPORT void insertAttachment(const String& identifier, std::optional<uint64_t>&& fileSize, const String& fileName, const String& contentType);
</span><del>-    void registerAttachmentIdentifier(const String&, const String& contentType, const String& preferredFileName, Ref<SharedBuffer>&& fileData);
</del><ins>+    void registerAttachmentIdentifier(const String&, const String& contentType, const String& preferredFileName, Ref<FragmentedSharedBuffer>&& fileData);
</ins><span class="cx">     void registerAttachments(Vector<SerializedAttachmentData>&&);
</span><span class="cx">     void registerAttachmentIdentifier(const String&, const String& contentType, const String& filePath);
</span><span class="cx">     void registerAttachmentIdentifier(const String&);
</span><span class="lines">@@ -576,7 +576,7 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT PromisedAttachmentInfo promisedAttachmentInfo(Element&);
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    void getPasteboardTypesAndDataForAttachment(Element&, Vector<String>& outTypes, Vector<RefPtr<ContiguousSharedBuffer>>& outData);
</del><ins>+    void getPasteboardTypesAndDataForAttachment(Element&, Vector<String>& outTypes, Vector<RefPtr<SharedBuffer>>& outData);
</ins><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -624,12 +624,12 @@
</span><span class="cx">     std::optional<SimpleRange> adjustedSelectionRange();
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    RefPtr<ContiguousSharedBuffer> selectionInWebArchiveFormat();
</del><ins>+    RefPtr<SharedBuffer> selectionInWebArchiveFormat();
</ins><span class="cx">     String selectionInHTMLFormat();
</span><del>-    RefPtr<ContiguousSharedBuffer> imageInWebArchiveFormat(Element&);
</del><ins>+    RefPtr<SharedBuffer> imageInWebArchiveFormat(Element&);
</ins><span class="cx">     static String userVisibleString(const URL&);
</span><del>-    static RefPtr<ContiguousSharedBuffer> dataInRTFDFormat(NSAttributedString *);
-    static RefPtr<ContiguousSharedBuffer> dataInRTFFormat(NSAttributedString *);
</del><ins>+    static RefPtr<SharedBuffer> dataInRTFDFormat(NSAttributedString *);
+    static RefPtr<SharedBuffer> dataInRTFFormat(NSAttributedString *);
</ins><span class="cx"> #endif
</span><span class="cx">     void platformFontAttributesAtSelectionStart(FontAttributes&, const RenderStyle&) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingSerializedAttachmentDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/SerializedAttachmentData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/SerializedAttachmentData.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/SerializedAttachmentData.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,12 +33,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct SerializedAttachmentData {
</span><span class="cx">     String identifier;
</span><span class="cx">     String mimeType;
</span><del>-    Ref<ContiguousSharedBuffer> data;
</del><ins>+    Ref<SharedBuffer> data;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingWebContentReaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/WebContentReader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/WebContentReader.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/WebContentReader.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -72,16 +72,16 @@
</span><span class="cx">     bool readFilePath(const String&, PresentationSize preferredPresentationSize = { }, const String& contentType = { }) override;
</span><span class="cx">     bool readFilePaths(const Vector<String>&) override;
</span><span class="cx">     bool readHTML(const String&) override;
</span><del>-    bool readImage(Ref<SharedBuffer>&&, const String& type, PresentationSize preferredPresentationSize = { }) override;
</del><ins>+    bool readImage(Ref<FragmentedSharedBuffer>&&, const String& type, PresentationSize preferredPresentationSize = { }) override;
</ins><span class="cx">     bool readURL(const URL&, const String& title) override;
</span><span class="cx">     bool readPlainText(const String&) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    bool readWebArchive(ContiguousSharedBuffer&) override;
-    bool readRTFD(ContiguousSharedBuffer&) override;
-    bool readRTF(ContiguousSharedBuffer&) override;
-    bool readDataBuffer(ContiguousSharedBuffer&, const String& type, const String& name, PresentationSize preferredPresentationSize = { }) override;
</del><ins>+    bool readWebArchive(SharedBuffer&) override;
+    bool readRTFD(SharedBuffer&) override;
+    bool readRTF(SharedBuffer&) override;
+    bool readDataBuffer(SharedBuffer&, const String& type, const String& name, PresentationSize preferredPresentationSize = { }) override;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -99,16 +99,16 @@
</span><span class="cx">     bool readFilePath(const String&, PresentationSize = { }, const String& = { }) override { return false; }
</span><span class="cx">     bool readFilePaths(const Vector<String>&) override { return false; }
</span><span class="cx">     bool readHTML(const String&) override;
</span><del>-    bool readImage(Ref<SharedBuffer>&&, const String&, PresentationSize = { }) override { return false; }
</del><ins>+    bool readImage(Ref<FragmentedSharedBuffer>&&, const String&, PresentationSize = { }) override { return false; }
</ins><span class="cx">     bool readURL(const URL&, const String&) override { return false; }
</span><span class="cx">     bool readPlainText(const String&) override { return false; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    bool readWebArchive(ContiguousSharedBuffer&) override;
-    bool readRTFD(ContiguousSharedBuffer&) override;
-    bool readRTF(ContiguousSharedBuffer&) override;
-    bool readDataBuffer(ContiguousSharedBuffer&, const String&, const String&, PresentationSize = { }) override { return false; }
</del><ins>+    bool readWebArchive(SharedBuffer&) override;
+    bool readRTFD(SharedBuffer&) override;
+    bool readRTF(SharedBuffer&) override;
+    bool readDataBuffer(SharedBuffer&, const String&, const String&, PresentationSize = { }) override { return false; }
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingWebCorePasteboardFileReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/WebCorePasteboardFileReader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/WebCorePasteboardFileReader.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/WebCorePasteboardFileReader.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     files.append(File::create(context.get(), filename));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebCorePasteboardFileReader::readBuffer(const String& filename, const String& type, Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+void WebCorePasteboardFileReader::readBuffer(const String& filename, const String& type, Ref<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     files.append(File::create(context.get(), Blob::create(context.get(), buffer->extractData(), type), filename));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingWebCorePasteboardFileReaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/WebCorePasteboardFileReader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/WebCorePasteboardFileReader.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/WebCorePasteboardFileReader.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">     ~WebCorePasteboardFileReader();
</span><span class="cx"> 
</span><span class="cx">     void readFilename(const String&) final;
</span><del>-    void readBuffer(const String& filename, const String& type, Ref<ContiguousSharedBuffer>&&) final;
</del><ins>+    void readBuffer(const String& filename, const String& type, Ref<SharedBuffer>&&) final;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr<ScriptExecutionContext> context;
</span><span class="cx">     Vector<Ref<File>> files;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaEditorCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -71,12 +71,12 @@
</span><span class="cx">         attributes.font = (__bridge id)ctFont;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr<ContiguousSharedBuffer> archivedDataForAttributedString(NSAttributedString *attributedString)
</del><ins>+static RefPtr<SharedBuffer> archivedDataForAttributedString(NSAttributedString *attributedString)
</ins><span class="cx"> {
</span><span class="cx">     if (!attributedString.length)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return ContiguousSharedBuffer::create([NSKeyedArchiver archivedDataWithRootObject:attributedString requiringSecureCoding:YES error:nullptr]);
</del><ins>+    return SharedBuffer::create([NSKeyedArchiver archivedDataWithRootObject:attributedString requiringSecureCoding:YES error:nullptr]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String Editor::selectionInHTMLFormat()
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ATTACHMENT_ELEMENT)
</span><span class="cx"> 
</span><del>-void Editor::getPasteboardTypesAndDataForAttachment(Element& element, Vector<String>& outTypes, Vector<RefPtr<ContiguousSharedBuffer>>& outData)
</del><ins>+void Editor::getPasteboardTypesAndDataForAttachment(Element& element, Vector<String>& outTypes, Vector<RefPtr<SharedBuffer>>& outData)
</ins><span class="cx"> {
</span><span class="cx">     auto elementRange = makeRangeSelectingNode(element);
</span><span class="cx">     client()->getClientPasteboardData(elementRange, outTypes, outData);
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">         if (auto archive = LegacyWebArchive::create(*elementRange)) {
</span><span class="cx">             if (auto data = archive->rawDataRepresentation()) {
</span><span class="cx">                 outTypes.append(WebArchivePboardType);
</span><del>-                outData.append(ContiguousSharedBuffer::create(data.get()));
</del><ins>+                outData.append(SharedBuffer::create(data.get()));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -151,12 +151,12 @@
</span><span class="cx">     pasteboardWriterData.setWebContent(WTFMove(webContent));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Editor::selectionInWebArchiveFormat()
</del><ins>+RefPtr<SharedBuffer> Editor::selectionInWebArchiveFormat()
</ins><span class="cx"> {
</span><span class="cx">     auto archive = LegacyWebArchive::createFromSelection(m_document.frame());
</span><span class="cx">     if (!archive)
</span><span class="cx">         return nullptr;
</span><del>-    return ContiguousSharedBuffer::create(archive->rawDataRepresentation().get());
</del><ins>+    return SharedBuffer::create(archive->rawDataRepresentation().get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: Makes no sense that selectedTextForDataTransfer always includes alt text, but stringSelectionForPasteboard does not.
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx">     return WTF::userVisibleString(url);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Editor::dataInRTFDFormat(NSAttributedString *string)
</del><ins>+RefPtr<SharedBuffer> Editor::dataInRTFDFormat(NSAttributedString *string)
</ins><span class="cx"> {
</span><span class="cx">     NSUInteger length = string.length;
</span><span class="cx">     if (!length)
</span><span class="lines">@@ -208,13 +208,13 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><del>-    return ContiguousSharedBuffer::create([string RTFDFromRange:NSMakeRange(0, length) documentAttributes:@{ }]);
</del><ins>+    return SharedBuffer::create([string RTFDFromRange:NSMakeRange(0, length) documentAttributes:@{ }]);
</ins><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS
</span><span class="cx"> 
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Editor::dataInRTFFormat(NSAttributedString *string)
</del><ins>+RefPtr<SharedBuffer> Editor::dataInRTFFormat(NSAttributedString *string)
</ins><span class="cx"> {
</span><span class="cx">     NSUInteger length = string.length;
</span><span class="cx">     if (!length)
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS
</span><del>-    return ContiguousSharedBuffer::create([string RTFFromRange:NSMakeRange(0, length) documentAttributes:@{ }]);
</del><ins>+    return SharedBuffer::create([string RTFFromRange:NSMakeRange(0, length) documentAttributes:@{ }]);
</ins><span class="cx">     END_BLOCK_OBJC_EXCEPTIONS
</span><span class="cx"> 
</span><span class="cx">     return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -2322,7 +2322,7 @@
</span><span class="cx"> static RetainPtr<NSFileWrapper> fileWrapperForElement(HTMLImageElement& element)
</span><span class="cx"> {
</span><span class="cx">     if (CachedImage* cachedImage = element.cachedImage()) {
</span><del>-        if (SharedBuffer* sharedBuffer = cachedImage->resourceBuffer())
</del><ins>+        if (FragmentedSharedBuffer* sharedBuffer = cachedImage->resourceBuffer())
</ins><span class="cx">             return adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:sharedBuffer->makeContiguous()->createNSData().get()]);
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaWebContentReaderCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -245,7 +245,7 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static Ref<DocumentFragment> createFragmentForImageAttachment(Frame& frame, Document& document, Ref<SharedBuffer>&& buffer, const String& contentType, PresentationSize preferredSize)
</del><ins>+static Ref<DocumentFragment> createFragmentForImageAttachment(Frame& frame, Document& document, Ref<FragmentedSharedBuffer>&& buffer, const String& contentType, PresentationSize preferredSize)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(ATTACHMENT_ELEMENT)
</span><span class="cx">     auto attachment = HTMLAttachmentElement::create(HTMLNames::attachmentTag, document);
</span><span class="lines">@@ -285,7 +285,7 @@
</span><span class="cx">     struct AttachmentInsertionInfo {
</span><span class="cx">         String fileName;
</span><span class="cx">         String contentType;
</span><del>-        Ref<ContiguousSharedBuffer> data;
</del><ins>+        Ref<SharedBuffer> data;
</ins><span class="cx">         Ref<Element> originalElement;
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -428,7 +428,7 @@
</span><span class="cx">     Ref<Archive> archive;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static std::optional<MarkupAndArchive> extractMarkupAndArchive(ContiguousSharedBuffer& buffer, const std::function<bool(const String)>& canShowMIMETypeAsHTML)
</del><ins>+static std::optional<MarkupAndArchive> extractMarkupAndArchive(SharedBuffer& buffer, const std::function<bool(const String)>& canShowMIMETypeAsHTML)
</ins><span class="cx"> {
</span><span class="cx">     auto archive = LegacyWebArchive::create(URL(), buffer);
</span><span class="cx">     if (!archive)
</span><span class="lines">@@ -497,7 +497,7 @@
</span><span class="cx">     return sanitizedMarkupForFragmentInDocument(WTFMove(fragment), *stagingDocument, msoListQuirks, markupAndArchive.markup);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readWebArchive(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentReader::readWebArchive(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (frame.settings().preferMIMETypeForImages() || !frame.document())
</span><span class="cx">         return false;
</span><span class="lines">@@ -532,7 +532,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentMarkupReader::readWebArchive(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentMarkupReader::readWebArchive(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame.document())
</span><span class="cx">         return false;
</span><span class="lines">@@ -612,7 +612,7 @@
</span><span class="cx">     return !markup.isEmpty();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readRTFD(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentReader::readRTFD(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (frame.settings().preferMIMETypeForImages() || !frame.document())
</span><span class="cx">         return false;
</span><span class="lines">@@ -626,7 +626,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentMarkupReader::readRTFD(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentMarkupReader::readRTFD(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame.document())
</span><span class="cx">         return false;
</span><span class="lines">@@ -639,7 +639,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readRTF(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentReader::readRTF(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (frame.settings().preferMIMETypeForImages())
</span><span class="cx">         return false;
</span><span class="lines">@@ -653,7 +653,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentMarkupReader::readRTF(ContiguousSharedBuffer& buffer)
</del><ins>+bool WebContentMarkupReader::readRTF(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame.document())
</span><span class="cx">         return false;
</span><span class="lines">@@ -676,7 +676,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readImage(Ref<SharedBuffer>&& buffer, const String& type, PresentationSize preferredPresentationSize)
</del><ins>+bool WebContentReader::readImage(Ref<FragmentedSharedBuffer>&& buffer, const String& type, PresentationSize preferredPresentationSize)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(frame.document());
</span><span class="cx">     auto& document = *frame.document();
</span><span class="lines">@@ -746,7 +746,7 @@
</span><span class="cx">     return attachment;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref<HTMLElement> attachmentForData(Frame& frame, SharedBuffer& buffer, const String& contentType, const String& name, PresentationSize preferredSize)
</del><ins>+static Ref<HTMLElement> attachmentForData(Frame& frame, FragmentedSharedBuffer& buffer, const String& contentType, const String& name, PresentationSize preferredSize)
</ins><span class="cx"> {
</span><span class="cx">     Ref document = *frame.document();
</span><span class="cx">     auto attachment = HTMLAttachmentElement::create(HTMLNames::attachmentTag, document);
</span><span class="lines">@@ -833,7 +833,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readDataBuffer(ContiguousSharedBuffer& buffer, const String& type, const String& name, PresentationSize preferredPresentationSize)
</del><ins>+bool WebContentReader::readDataBuffer(SharedBuffer& buffer, const String& type, const String& name, PresentationSize preferredPresentationSize)
</ins><span class="cx"> {
</span><span class="cx">     if (buffer.isEmpty())
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkSourceWebCoreeditinggtkWebContentReaderGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/gtk/WebContentReaderGtk.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/gtk/WebContentReaderGtk.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/gtk/WebContentReaderGtk.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebContentReader::readImage(Ref<SharedBuffer>&& buffer, const String& type, PresentationSize preferredPresentationSize)
</del><ins>+bool WebContentReader::readImage(Ref<FragmentedSharedBuffer>&& buffer, const String& type, PresentationSize preferredPresentationSize)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(frame.document());
</span><span class="cx">     auto& document = *frame.document();
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/mac/EditorMac.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/mac/EditorMac.mm    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/editing/mac/EditorMac.mm       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">     PasteboardBuffer pasteboardBuffer;
</span><span class="cx">     pasteboardBuffer.contentOrigin = m_document.originIdentifierForPasteboard();
</span><span class="cx">     pasteboardBuffer.type = legacyFontPasteboardType();
</span><del>-    pasteboardBuffer.data = ContiguousSharedBuffer::create(fontData.get());
</del><ins>+    pasteboardBuffer.data = SharedBuffer::create(fontData.get());
</ins><span class="cx">     pasteboard.write(pasteboardBuffer);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -250,15 +250,15 @@
</span><span class="cx">     client()->setInsertionPasteboard(String());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Editor::imageInWebArchiveFormat(Element& imageElement)
</del><ins>+RefPtr<SharedBuffer> Editor::imageInWebArchiveFormat(Element& imageElement)
</ins><span class="cx"> {
</span><span class="cx">     auto archive = LegacyWebArchive::create(imageElement);
</span><span class="cx">     if (!archive)
</span><span class="cx">         return nullptr;
</span><del>-    return ContiguousSharedBuffer::create(archive->rawDataRepresentation().get());
</del><ins>+    return SharedBuffer::create(archive->rawDataRepresentation().get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Editor::dataSelectionForPasteboard(const String& pasteboardType)
</del><ins>+RefPtr<SharedBuffer> Editor::dataSelectionForPasteboard(const String& pasteboardType)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME: The interface to this function is awkward. We'd probably be better off with three separate functions. As of this writing, this is only used in WebKit2 to implement the method -[WKView writeSelectionToPasteboard:types:], which is only used to support OS X services.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiBlobh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/Blob.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/Blob.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/fileapi/Blob.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> class DeferredPromise;
</span><span class="cx"> class ReadableStream;
</span><span class="cx"> class ScriptExecutionContext;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> template<typename> class ExceptionOr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiNetworkSendQueuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/NetworkSendQueue.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/NetworkSendQueue.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/fileapi/NetworkSendQueue.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">         bool shouldStopProcessing = false;
</span><span class="cx">         switchOn(m_queue.first(), [this](const CString& utf8) {
</span><span class="cx">             m_writeString(utf8);
</span><del>-        }, [this](Ref<SharedBuffer>& data) {
</del><ins>+        }, [this](Ref<FragmentedSharedBuffer>& data) {
</ins><span class="cx">             data->forEachSegment(m_writeRawData);
</span><span class="cx">         }, [this, &shouldStopProcessing](UniqueRef<BlobLoader>& loader) {
</span><span class="cx">             auto errorCode = loader->errorCode();
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiNetworkSendQueueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/NetworkSendQueue.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/NetworkSendQueue.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/fileapi/NetworkSendQueue.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> class Blob;
</span><span class="cx"> class BlobLoader;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class WEBCORE_EXPORT NetworkSendQueue : public ContextDestructionObserver {
</span><span class="cx"> public:
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> private:
</span><span class="cx">     void processMessages();
</span><span class="cx"> 
</span><del>-    using Message = std::variant<CString, Ref<SharedBuffer>, UniqueRef<BlobLoader>>;
</del><ins>+    using Message = std::variant<CString, Ref<FragmentedSharedBuffer>, UniqueRef<BlobLoader>>;
</ins><span class="cx">     Deque<Message> m_queue;
</span><span class="cx"> 
</span><span class="cx">     WriteString m_writeString;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlFTPDirectoryDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/FTPDirectoryDocument.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/FTPDirectoryDocument.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/FTPDirectoryDocument.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -276,9 +276,9 @@
</span><span class="cx">     appendEntry(filename, processFilesizeString(result.fileSize, result.type == FTPDirectoryEntry), processFileDateString(result.modifiedTime), result.type == FTPDirectoryEntry);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline RefPtr<ContiguousSharedBuffer> createTemplateDocumentData(const Settings& settings)
</del><ins>+static inline RefPtr<SharedBuffer> createTemplateDocumentData(const Settings& settings)
</ins><span class="cx"> {
</span><del>-    auto buffer = ContiguousSharedBuffer::createWithContentsOfFile(settings.ftpDirectoryTemplatePath());
</del><ins>+    auto buffer = SharedBuffer::createWithContentsOfFile(settings.ftpDirectoryTemplatePath());
</ins><span class="cx">     if (buffer)
</span><span class="cx">         LOG(FTP, "Loaded FTPDirectoryTemplate of length %zu\n", buffer->size());
</span><span class="cx">     return buffer;
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx">     
</span><span class="cx"> bool FTPDirectoryDocumentParser::loadDocumentTemplate()
</span><span class="cx"> {
</span><del>-    static ContiguousSharedBuffer* templateDocumentData = createTemplateDocumentData(document()->settings()).leakRef();
</del><ins>+    static SharedBuffer* templateDocumentData = createTemplateDocumentData(document()->settings()).leakRef();
</ins><span class="cx">     // FIXME: Instead of storing the data, it would be more efficient if we could parse the template data into the
</span><span class="cx">     // template Document once, store that document, then "copy" it whenever we get an FTP directory listing.
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAttachmentElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAttachmentElement.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAttachmentElement.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/HTMLAttachmentElement.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -227,7 +227,7 @@
</span><span class="cx">     return MIMETypeRegistry::isSupportedImageMIMEType(mimeType) || MIMETypeRegistry::isPDFMIMEType(mimeType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLAttachmentElement::updateEnclosingImageWithData(const String& contentType, Ref<SharedBuffer>&& buffer)
</del><ins>+void HTMLAttachmentElement::updateEnclosingImageWithData(const String& contentType, Ref<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto* hostElement = shadowHost();
</span><span class="cx">     if (!is<HTMLImageElement>(hostElement) || !buffer->size())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLAttachmentElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLAttachmentElement.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLAttachmentElement.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/HTMLAttachmentElement.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> class HTMLImageElement;
</span><span class="cx"> class RenderAttachment;
</span><span class="cx"> class ShareableBitmap;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class HTMLAttachmentElement final : public HTMLElement {
</span><span class="cx">     WTF_MAKE_ISO_ALLOCATED(HTMLAttachmentElement);
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     void copyNonAttributePropertiesFromElement(const Element&) final;
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void updateAttributes(std::optional<uint64_t>&& newFileSize, const String& newContentType, const String& newFilename);
</span><del>-    WEBCORE_EXPORT void updateEnclosingImageWithData(const String& contentType, Ref<SharedBuffer>&& data);
</del><ins>+    WEBCORE_EXPORT void updateEnclosingImageWithData(const String& contentType, Ref<FragmentedSharedBuffer>&& data);
</ins><span class="cx">     WEBCORE_EXPORT void updateThumbnail(const RefPtr<Image>& thumbnail);
</span><span class="cx"> 
</span><span class="cx">     InsertedIntoAncestorResult insertedIntoAncestor(InsertionType, ContainerNode&) final;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -2939,7 +2939,7 @@
</span><span class="cx">     attemptToResumePlaybackIfNecessary();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLMediaElement::cdmClientUnrequestedInitializationDataReceived(const String& initDataType, Ref<SharedBuffer>&& initData)
</del><ins>+void HTMLMediaElement::cdmClientUnrequestedInitializationDataReceived(const String& initDataType, Ref<FragmentedSharedBuffer>&& initData)
</ins><span class="cx"> {
</span><span class="cx">     mediaPlayerInitializationDataEncountered(initDataType, initData->tryCreateArrayBuffer());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -721,7 +721,7 @@
</span><span class="cx"> 
</span><span class="cx">     // CDMClient
</span><span class="cx">     void cdmClientAttemptToResumePlaybackIfNecessary() final;
</span><del>-    void cdmClientUnrequestedInitializationDataReceived(const String&, Ref<SharedBuffer>&&) final;
</del><ins>+    void cdmClientUnrequestedInitializationDataReceived(const String&, Ref<FragmentedSharedBuffer>&&) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(LEGACY_ENCRYPTED_MEDIA) && ENABLE(ENCRYPTED_MEDIA)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlImageDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ImageDocument.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ImageDocument.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/html/ImageDocument.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     if (!m_imageElement)
</span><span class="cx">         createDocumentStructure();
</span><span class="cx"> 
</span><del>-    if (RefPtr<SharedBuffer> buffer = loader()->mainResourceData())
</del><ins>+    if (RefPtr<FragmentedSharedBuffer> buffer = loader()->mainResourceData())
</ins><span class="cx">         m_imageElement->cachedImage()->updateBuffer(*buffer);
</span><span class="cx"> 
</span><span class="cx">     imageUpdated();
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!parser()->isStopped() && m_imageElement) {
</span><span class="cx">         CachedImage& cachedImage = *m_imageElement->cachedImage();
</span><del>-        RefPtr<SharedBuffer> data = loader()->mainResourceData();
</del><ins>+        RefPtr<FragmentedSharedBuffer> data = loader()->mainResourceData();
</ins><span class="cx"> 
</span><span class="cx">         // If this is a multipart image, make a copy of the current part, since the resource data
</span><span class="cx">         // will be overwritten by the next part.
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -850,7 +850,7 @@
</span><span class="cx">         networkAgent->interceptRequest(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->interceptResponse(response, identifier, WTFMove(handler));
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> class ScriptExecutionContext;
</span><span class="cx"> class SecurityOrigin;
</span><span class="cx"> class ShadowRoot;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class TimerBase;
</span><span class="cx"> class WebKitNamedFlow;
</span><span class="cx"> class WebSocketChannel;
</span><span class="lines">@@ -236,7 +236,7 @@
</span><span class="cx">     static bool shouldInterceptRequest(const Frame&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponse(const Frame&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponse(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponse(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     static void addMessageToConsole(Page&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="cx">     static void addMessageToConsole(WorkerOrWorkletGlobalScope&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="lines">@@ -441,7 +441,7 @@
</span><span class="cx">     static bool shouldInterceptRequestImpl(InstrumentingAgents&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponseImpl(InstrumentingAgents&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequestImpl(InstrumentingAgents&, ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     static void addMessageToConsoleImpl(InstrumentingAgents&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="cx"> 
</span><span class="lines">@@ -1289,7 +1289,7 @@
</span><span class="cx">         interceptRequestImpl(*agents, loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(InspectorInstrumentation::shouldInterceptResponse(frame, response));
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationWebKitcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     InspectorInstrumentation::interceptRequest(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     InspectorInstrumentation::interceptResponse(frame, response, identifier, WTFMove(handler));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationWebKith"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> class ResourceLoader;
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class WEBCORE_EXPORT InspectorInstrumentationWebKit {
</span><span class="cx"> public:
</span><span class="lines">@@ -43,13 +43,13 @@
</span><span class="cx">     static bool shouldInterceptRequest(const Frame*, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponse(const Frame*, const ResourceResponse&);
</span><span class="cx">     static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponse(const Frame*, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponse(const Frame*, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static bool shouldInterceptRequestInternal(const Frame&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponseInternal(const Frame&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequestInternal(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponseInternal(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponseInternal(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&&);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> inline bool InspectorInstrumentationWebKit::shouldInterceptRequest(const Frame* frame, const ResourceRequest& request)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     interceptRequestInternal(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(InspectorInstrumentationWebKit::shouldInterceptResponse(frame, response));
</span><span class="cx">     interceptResponseInternal(*frame, response, identifier, WTFMove(handler));
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorNetworkResourcesDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/NetworkResourcesData.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -267,7 +267,7 @@
</span><span class="cx">     resourceData->setCachedResource(cachedResource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkResourcesData::addResourceSharedBuffer(const String& requestId, RefPtr<SharedBuffer>&& buffer, const String& textEncodingName)
</del><ins>+void NetworkResourcesData::addResourceSharedBuffer(const String& requestId, RefPtr<FragmentedSharedBuffer>&& buffer, const String& textEncodingName)
</ins><span class="cx"> {
</span><span class="cx">     ResourceData* resourceData = resourceDataForRequestId(requestId);
</span><span class="cx">     if (!resourceData)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorNetworkResourcesDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/NetworkResourcesData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> class CachedResource;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx"> class TextResourceDecoder;
</span><del>-class SharedBuffer;
</del><span class="cx"> 
</span><span class="cx"> class NetworkResourcesData {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -89,8 +88,8 @@
</span><span class="cx">         RefPtr<TextResourceDecoder> decoder() const { return m_decoder.copyRef(); }
</span><span class="cx">         void setDecoder(RefPtr<TextResourceDecoder>&& decoder) { m_decoder = WTFMove(decoder); }
</span><span class="cx"> 
</span><del>-        RefPtr<SharedBuffer> buffer() const { return m_buffer.copyRef(); }
-        void setBuffer(RefPtr<SharedBuffer>&& buffer) { m_buffer = WTFMove(buffer); }
</del><ins>+        RefPtr<FragmentedSharedBuffer> buffer() const { return m_buffer.copyRef(); }
+        void setBuffer(RefPtr<FragmentedSharedBuffer>&& buffer) { m_buffer = WTFMove(buffer); }
</ins><span class="cx"> 
</span><span class="cx">         const std::optional<CertificateInfo>& certificateInfo() const { return m_certificateInfo; }
</span><span class="cx">         void setCertificateInfo(const std::optional<CertificateInfo>& certificateInfo) { m_certificateInfo = certificateInfo; }
</span><span class="lines">@@ -121,7 +120,7 @@
</span><span class="cx">         String m_mimeType;
</span><span class="cx">         RefPtr<TextResourceDecoder> m_decoder;
</span><span class="cx">         SharedBufferBuilder m_dataBuffer;
</span><del>-        RefPtr<SharedBuffer> m_buffer;
</del><ins>+        RefPtr<FragmentedSharedBuffer> m_buffer;
</ins><span class="cx">         std::optional<CertificateInfo> m_certificateInfo;
</span><span class="cx">         CachedResource* m_cachedResource { nullptr };
</span><span class="cx">         InspectorPageAgent::ResourceType m_type { InspectorPageAgent::OtherResource };
</span><span class="lines">@@ -145,7 +144,7 @@
</span><span class="cx">     ResourceData const* maybeAddResourceData(const String& requestId, const uint8_t* data, size_t dataLength);
</span><span class="cx">     void maybeDecodeDataToContent(const String& requestId);
</span><span class="cx">     void addCachedResource(const String& requestId, CachedResource*);
</span><del>-    void addResourceSharedBuffer(const String& requestId, RefPtr<SharedBuffer>&&, const String& textEncodingName);
</del><ins>+    void addResourceSharedBuffer(const String& requestId, RefPtr<FragmentedSharedBuffer>&&, const String& textEncodingName);
</ins><span class="cx">     ResourceData const* data(const String& requestId);
</span><span class="cx">     ResourceData const* dataForURL(const String& url);
</span><span class="cx">     Vector<String> removeCachedResource(CachedResource*);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorNetworkAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1140,7 +1140,7 @@
</span><span class="cx">     m_frontendDispatcher->requestIntercepted(requestId, buildObjectForResourceRequest(loader.request()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_enabled);
</span><span class="cx">     ASSERT(m_interceptionEnabled);
</span><span class="lines">@@ -1243,7 +1243,7 @@
</span><span class="cx">         overrideResponse.setHTTPHeaderField(HTTPHeaderName::ContentType, overrideResponse.mimeType());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> overrideData;
</del><ins>+    RefPtr<FragmentedSharedBuffer> overrideData;
</ins><span class="cx">     if (base64Encoded) {
</span><span class="cx">         auto buffer = base64Decode(content);
</span><span class="cx">         if (!buffer)
</span><span class="lines">@@ -1271,7 +1271,7 @@
</span><span class="cx">     if (loader->reachedTerminalState())
</span><span class="cx">         return makeUnexpected("Unable to fulfill request, it has already been processed"_s);
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> data;
</del><ins>+    RefPtr<FragmentedSharedBuffer> data;
</ins><span class="cx">     if (base64Encoded) {
</span><span class="cx">         auto buffer = base64Decode(content);
</span><span class="cx">         if (!buffer)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorNetworkAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     bool willIntercept(const ResourceRequest&);
</span><span class="cx">     bool shouldInterceptRequest(const ResourceRequest&);
</span><span class="cx">     bool shouldInterceptResponse(const ResourceResponse&);
</span><del>-    void interceptResponse(const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    void interceptResponse(const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&&);
</ins><span class="cx">     void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><span class="cx"> 
</span><span class="cx">     void searchOtherRequests(const JSC::Yarr::RegularExpression&, Ref<JSON::ArrayOf<Inspector::Protocol::Page::SearchResult>>&);
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">         WTF_MAKE_NONCOPYABLE(PendingInterceptResponse);
</span><span class="cx">         WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx">     public:
</span><del>-        PendingInterceptResponse(const ResourceResponse& originalResponse, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& completionHandler)
</del><ins>+        PendingInterceptResponse(const ResourceResponse& originalResponse, CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)>&& completionHandler)
</ins><span class="cx">             : m_originalResponse(originalResponse)
</span><span class="cx">             , m_completionHandler(WTFMove(completionHandler))
</span><span class="cx">         { }
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx">             respond(m_originalResponse, nullptr);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        void respond(const ResourceResponse& response, RefPtr<SharedBuffer> data)
</del><ins>+        void respond(const ResourceResponse& response, RefPtr<FragmentedSharedBuffer> data)
</ins><span class="cx">         {
</span><span class="cx">             ASSERT(!m_responded);
</span><span class="cx">             if (m_responded)
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         ResourceResponse m_originalResponse;
</span><del>-        CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)> m_completionHandler;
</del><ins>+        CompletionHandler<void(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>)> m_completionHandler;
</ins><span class="cx">         bool m_responded { false };
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -100,13 +100,13 @@
</span><span class="cx"> 
</span><span class="cx"> bool InspectorPageAgent::mainResourceContent(Frame* frame, bool withBase64Encode, String* result)
</span><span class="cx"> {
</span><del>-    RefPtr<SharedBuffer> buffer = frame->loader().documentLoader()->mainResourceData();
</del><ins>+    RefPtr<FragmentedSharedBuffer> buffer = frame->loader().documentLoader()->mainResourceData();
</ins><span class="cx">     if (!buffer)
</span><span class="cx">         return false;
</span><span class="cx">     return InspectorPageAgent::dataContent(buffer->makeContiguous()->data(), buffer->size(), frame->document()->encoding(), withBase64Encode, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorPageAgent::sharedBufferContent(RefPtr<SharedBuffer>&& buffer, const String& textEncodingName, bool withBase64Encode, String* result)
</del><ins>+bool InspectorPageAgent::sharedBufferContent(RefPtr<FragmentedSharedBuffer>&& buffer, const String& textEncodingName, bool withBase64Encode, String* result)
</ins><span class="cx"> {
</span><span class="cx">     return dataContent(buffer ? buffer->makeContiguous()->data() : nullptr, buffer ? buffer->size() : 0, textEncodingName, withBase64Encode, result);
</span><span class="cx"> }
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     if (!loader)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> buffer;
</del><ins>+    RefPtr<FragmentedSharedBuffer> buffer;
</ins><span class="cx">     bool success = false;
</span><span class="cx">     if (equalIgnoringFragmentIdentifier(url, loader->url())) {
</span><span class="cx">         *base64Encoded = false;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorPageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorPageAgent.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorPageAgent.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/inspector/agents/InspectorPageAgent.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> class InspectorOverlay;
</span><span class="cx"> class Page;
</span><span class="cx"> class RenderObject;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class InspectorPageAgent final : public InspectorAgentBase, public Inspector::PageBackendDispatcherHandler {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorPageAgent);
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">         OtherResource,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    static bool sharedBufferContent(RefPtr<SharedBuffer>&&, const String& textEncodingName, bool withBase64Encode, String* result);
</del><ins>+    static bool sharedBufferContent(RefPtr<FragmentedSharedBuffer>&&, const String& textEncodingName, bool withBase64Encode, String* result);
</ins><span class="cx">     static Vector<CachedResource*> cachedResourcesForFrame(Frame*);
</span><span class="cx">     static void resourceContent(Inspector::Protocol::ErrorString&, Frame*, const URL&, String* result, bool* base64Encoded);
</span><span class="cx">     static String sourceMapURLForResource(CachedResource*);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderContentFiltercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ContentFilter.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ContentFilter.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ContentFilter.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(willHandleProvisionalLoadFailure(error));
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> replacementData { m_blockingContentFilter->replacementData() };
</del><ins>+    RefPtr<FragmentedSharedBuffer> replacementData { m_blockingContentFilter->replacementData() };
</ins><span class="cx">     ResourceResponse response { URL(), "text/html"_s, static_cast<long long>(replacementData->size()), "UTF-8"_s };
</span><span class="cx">     SubstituteData substituteData { WTFMove(replacementData), error.failingURL(), response, SubstituteData::SessionHistoryVisibility::Hidden };
</span><span class="cx">     SetForScope<bool> loadingBlockedPage { m_isLoadingBlockedPage, true };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">     ResourceRequest preflightRequest = createAccessControlPreflightRequest(request, loader.securityOrigin(), loader.referrer());
</span><span class="cx">     ResourceError error;
</span><span class="cx">     ResourceResponse response;
</span><del>-    RefPtr<ContiguousSharedBuffer> data;
</del><ins>+    RefPtr<SharedBuffer> data;
</ins><span class="cx"> 
</span><span class="cx">     auto identifier = loader.document().frame()->loader().loadResourceSynchronously(preflightRequest, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions { }, { }, error, response, data);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> DocumentLoader::mainResourceData() const
</del><ins>+RefPtr<FragmentedSharedBuffer> DocumentLoader::mainResourceData() const
</ins><span class="cx"> {
</span><span class="cx">     if (m_substituteData.isValid())
</span><span class="cx">         return m_substituteData.content()->copy();
</span><span class="lines">@@ -1649,7 +1649,7 @@
</span><span class="cx">     m_substituteResourceDeliveryTimer.stop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer* DocumentLoader::parsedArchiveData() const
</del><ins>+SharedBuffer* DocumentLoader::parsedArchiveData() const
</ins><span class="cx"> {
</span><span class="cx">     return m_parsedArchiveData.get();
</span><span class="cx"> }
</span><span class="lines">@@ -1668,7 +1668,7 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr<ArchiveResource> DocumentLoader::mainResource() const
</span><span class="cx"> {
</span><del>-    RefPtr<SharedBuffer> data = mainResourceData();
</del><ins>+    RefPtr<FragmentedSharedBuffer> data = mainResourceData();
</ins><span class="cx">     if (!data)
</span><span class="cx">         data = SharedBuffer::create();
</span><span class="cx">     auto& response = this->response();
</span><span class="lines">@@ -2252,7 +2252,7 @@
</span><span class="cx"> 
</span><span class="cx">     frameLoader()->setupForReplace();
</span><span class="cx">     m_committed = false;
</span><del>-    RefPtr<SharedBuffer> resourceData = mainResourceData();
</del><ins>+    RefPtr<FragmentedSharedBuffer> resourceData = mainResourceData();
</ins><span class="cx">     commitLoad(resourceData->makeContiguous()->data(), resourceData->size());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2289,7 +2289,7 @@
</span><span class="cx">     m_frame->loader().client().getLoadDecisionForIcons(iconDecisions);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, CompletionHandler<void(SharedBuffer*)>&& completionHandler)
</del><ins>+void DocumentLoader::didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, CompletionHandler<void(FragmentedSharedBuffer*)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     auto icon = m_iconsPendingLoadDecision.take(loadIdentifier);
</span><span class="cx"> 
</span><span class="lines">@@ -2310,7 +2310,7 @@
</span><span class="cx">     rawIconLoader->startLoading();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::finishedLoadingIcon(IconLoader& loader, SharedBuffer* buffer)
</del><ins>+void DocumentLoader::finishedLoadingIcon(IconLoader& loader, FragmentedSharedBuffer* buffer)
</ins><span class="cx"> {
</span><span class="cx">     // If the DocumentLoader has detached from its frame, all icon loads should have already been cancelled.
</span><span class="cx">     ASSERT(m_frame);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/DocumentLoader.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> class CachedRawResource;
</span><span class="cx"> class CachedResourceLoader;
</span><span class="cx"> class ContentFilter;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> struct CustomHeaderFields;
</span><span class="cx"> class FormState;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> class Page;
</span><span class="cx"> class PreviewConverter;
</span><span class="cx"> class ResourceLoader;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class SWClientConnection;
</span><span class="cx"> class SubresourceLoader;
</span><span class="cx"> class SubstituteResource;
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT FrameLoader* frameLoader() const;
</span><span class="cx">     WEBCORE_EXPORT SubresourceLoader* mainResourceLoader() const;
</span><del>-    WEBCORE_EXPORT RefPtr<SharedBuffer> mainResourceData() const;
</del><ins>+    WEBCORE_EXPORT RefPtr<FragmentedSharedBuffer> mainResourceData() const;
</ins><span class="cx">     
</span><span class="cx">     DocumentWriter& writer() const { return m_writer; }
</span><span class="cx"> 
</span><span class="lines">@@ -236,7 +236,7 @@
</span><span class="cx">     WEBCORE_EXPORT void addAllArchiveResources(Archive&);
</span><span class="cx">     WEBCORE_EXPORT void addArchiveResource(Ref<ArchiveResource>&&);
</span><span class="cx">     RefPtr<Archive> popArchiveForSubframe(const String& frameName, const URL&);
</span><del>-    WEBCORE_EXPORT ContiguousSharedBuffer* parsedArchiveData() const;
</del><ins>+    WEBCORE_EXPORT SharedBuffer* parsedArchiveData() const;
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT bool scheduleArchiveLoad(ResourceLoader&, const ResourceRequest&);
</span><span class="cx"> #endif
</span><span class="lines">@@ -403,8 +403,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void startIconLoading();
</span><del>-    WEBCORE_EXPORT void didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, CompletionHandler<void(SharedBuffer*)>&&);
-    void finishedLoadingIcon(IconLoader&, SharedBuffer*);
</del><ins>+    WEBCORE_EXPORT void didGetLoadDecisionForIcon(bool decision, uint64_t loadIdentifier, CompletionHandler<void(FragmentedSharedBuffer*)>&&);
+    void finishedLoadingIcon(IconLoader&, FragmentedSharedBuffer*);
</ins><span class="cx"> 
</span><span class="cx">     const Vector<LinkIcon>& linkIcons() const { return m_linkIcons; }
</span><span class="cx"> 
</span><span class="lines">@@ -613,7 +613,7 @@
</span><span class="cx">     std::unique_ptr<ArchiveResourceCollection> m_archiveResourceCollection;
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><span class="cx">     RefPtr<Archive> m_archive;
</span><del>-    RefPtr<ContiguousSharedBuffer> m_parsedArchiveData;
</del><ins>+    RefPtr<SharedBuffer> m_parsedArchiveData;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     HashSet<String> m_resourcesClientKnowsAbout;
</span><span class="lines">@@ -632,7 +632,7 @@
</span><span class="cx">     bool m_waitingForNavigationPolicy { false };
</span><span class="cx"> 
</span><span class="cx">     HashMap<uint64_t, LinkIcon> m_iconsPendingLoadDecision;
</span><del>-    HashMap<std::unique_ptr<IconLoader>, CompletionHandler<void(SharedBuffer*)>> m_iconLoaders;
</del><ins>+    HashMap<std::unique_ptr<IconLoader>, CompletionHandler<void(FragmentedSharedBuffer*)>> m_iconLoaders;
</ins><span class="cx">     Vector<LinkIcon> m_linkIcons;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(APPLICATION_MANIFEST)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx">     loadTiming.markStartTime();
</span><span class="cx"> 
</span><span class="cx">     // FIXME: ThreadableLoaderOptions.sniffContent is not supported for synchronous requests.
</span><del>-    RefPtr<ContiguousSharedBuffer> data;
</del><ins>+    RefPtr<SharedBuffer> data;
</ins><span class="cx">     ResourceError error;
</span><span class="cx">     ResourceResponse response;
</span><span class="cx">     auto identifier = makeObjectIdentifier<ResourceLoader>(std::numeric_limits<uint64_t>::max());
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -278,7 +278,7 @@
</span><span class="cx">     void didEndUserTriggeredSelectionChanges() final { }
</span><span class="cx">     void willWriteSelectionToPasteboard(const std::optional<SimpleRange>&) final { }
</span><span class="cx">     void didWriteSelectionToPasteboard() final { }
</span><del>-    void getClientPasteboardData(const std::optional<SimpleRange>&, Vector<String>&, Vector<RefPtr<ContiguousSharedBuffer>>&) final { }
</del><ins>+    void getClientPasteboardData(const std::optional<SimpleRange>&, Vector<String>&, Vector<RefPtr<SharedBuffer>>&) final { }
</ins><span class="cx">     void requestCandidatesForSelection(const VisibleSelection&) final { }
</span><span class="cx">     void handleAcceptedCandidateWithSoftSpaces(TextCheckingResult) final { }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -3106,7 +3106,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ResourceLoaderIdentifier FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<ContiguousSharedBuffer>& data)
</del><ins>+ResourceLoaderIdentifier FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_frame.document());
</span><span class="cx">     String referrer = SecurityPolicy::generateReferrerHeader(m_frame.document()->referrerPolicy(), request.url(), outgoingReferrer());
</span><span class="lines">@@ -3154,7 +3154,7 @@
</span><span class="cx">         if (!documentLoader()->applicationCacheHost().maybeLoadSynchronously(newRequest, error, response, data)) {
</span><span class="cx">             Vector<uint8_t> buffer;
</span><span class="cx">             platformStrategies()->loaderStrategy()->loadResourceSynchronously(*this, identifier, newRequest, clientCredentialPolicy, options, originalRequestHeaders, error, response, buffer);
</span><del>-            data = ContiguousSharedBuffer::create(WTFMove(buffer));
</del><ins>+            data = SharedBuffer::create(WTFMove(buffer));
</ins><span class="cx">             documentLoader()->applicationCacheHost().maybeLoadFallbackSynchronously(newRequest, error, response, data);
</span><span class="cx">             ResourceLoadObserver::shared().logSubresourceLoading(&m_frame, newRequest, response,
</span><span class="cx">                 (isScriptLikeDestination(options.destination) ? ResourceLoadObserver::FetchDestinationIsScriptLike::Yes : ResourceLoadObserver::FetchDestinationIsScriptLike::No));
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/FrameLoader.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> class CachedPage;
</span><span class="cx"> class CachedResource;
</span><span class="cx"> class Chrome;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class DOMWrapperWorld;
</span><span class="cx"> class Document;
</span><span class="cx"> class DocumentLoader;
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><span class="cx">     WEBCORE_EXPORT void loadArchive(Ref<Archive>&&);
</span><span class="cx"> #endif
</span><del>-    ResourceLoaderIdentifier loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<ContiguousSharedBuffer>& data);
</del><ins>+    ResourceLoaderIdentifier loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>& data);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void changeLocation(const URL&, const String& target, Event*, const ReferrerPolicy&, ShouldOpenExternalURLsPolicy, std::optional<NewFrameOpenerPolicy> = std::nullopt, const AtomString& downloadAttribute = nullAtom(), const SystemPreviewInfo& = { }, std::optional<PrivateClickMeasurement>&& = std::nullopt);
</span><span class="cx">     void changeLocation(FrameLoadRequest&&, Event* = nullptr, std::optional<PrivateClickMeasurement>&& = std::nullopt);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderClient.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx"> class SecurityOrigin;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class SubstituteData;
</span><span class="cx"> class Widget;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLoaderStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoaderStrategy.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx"> class SecurityOrigin;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class SubresourceLoader;
</span><span class="cx"> 
</span><span class="cx"> struct FetchOptions;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNetscapePlugInStreamLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -146,12 +146,12 @@
</span><span class="cx">     didReceiveDataOrBuffer(data, length, nullptr, encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetscapePlugInStreamLoader::didReceiveBuffer(Ref<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void NetscapePlugInStreamLoader::didReceiveBuffer(Ref<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx">     didReceiveDataOrBuffer(nullptr, 0, WTFMove(buffer), encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetscapePlugInStreamLoader::didReceiveDataOrBuffer(const uint8_t* data, int length, RefPtr<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void NetscapePlugInStreamLoader::didReceiveDataOrBuffer(const uint8_t* data, int length, RefPtr<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx">     Ref<NetscapePlugInStreamLoader> protectedThis(*this);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNetscapePlugInStreamLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     void willSendRequest(ResourceRequest&&, const ResourceResponse& redirectResponse, CompletionHandler<void(ResourceRequest&&)>&& callback) override;
</span><span class="cx">     void didReceiveResponse(const ResourceResponse&, CompletionHandler<void()>&& policyCompletionHandler) override;
</span><span class="cx">     void didReceiveData(const uint8_t*, unsigned, long long encodedDataLength, DataPayloadType) override;
</span><del>-    void didReceiveBuffer(Ref<SharedBuffer>&&, long long encodedDataLength, DataPayloadType) override;
</del><ins>+    void didReceiveBuffer(Ref<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType) override;
</ins><span class="cx">     void didFinishLoading(const NetworkLoadMetrics&) override;
</span><span class="cx">     void didFail(const ResourceError&) override;
</span><span class="cx"> 
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     void willCancel(const ResourceError&) override;
</span><span class="cx">     void didCancel(const ResourceError&) override;
</span><span class="cx"> 
</span><del>-    void didReceiveDataOrBuffer(const uint8_t*, int, RefPtr<SharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</del><ins>+    void didReceiveDataOrBuffer(const uint8_t*, int, RefPtr<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</ins><span class="cx"> 
</span><span class="cx">     void notifyDone();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceCryptographicDigestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceCryptographicDigest.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceCryptographicDigest.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ResourceCryptographicDigest.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">     return { algorithm, cryptoDigest->computeHash() };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ResourceCryptographicDigest cryptographicDigestForSharedBuffer(ResourceCryptographicDigest::Algorithm algorithm, const SharedBuffer* buffer)
</del><ins>+ResourceCryptographicDigest cryptographicDigestForSharedBuffer(ResourceCryptographicDigest::Algorithm algorithm, const FragmentedSharedBuffer* buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto cryptoDigest = PAL::CryptoDigest::create(toCryptoDigestAlgorithm(algorithm));
</span><span class="cx">     if (buffer) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceCryptographicDigesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceCryptographicDigest.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceCryptographicDigest.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ResourceCryptographicDigest.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class CachedResource;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct ResourceCryptographicDigest {
</span><span class="cx">     enum class Algorithm {
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx"> std::optional<ResourceCryptographicDigest> decodeEncodedResourceCryptographicDigest(const EncodedResourceCryptographicDigest&);
</span><span class="cx"> 
</span><del>-ResourceCryptographicDigest cryptographicDigestForSharedBuffer(ResourceCryptographicDigest::Algorithm, const SharedBuffer*);
</del><ins>+ResourceCryptographicDigest cryptographicDigestForSharedBuffer(ResourceCryptographicDigest::Algorithm, const FragmentedSharedBuffer*);
</ins><span class="cx"> ResourceCryptographicDigest cryptographicDigestForBytes(ResourceCryptographicDigest::Algorithm, const void* bytes, size_t length);
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoader::deliverResponseAndData(const ResourceResponse& response, RefPtr<SharedBuffer>&& buffer)
</del><ins>+void ResourceLoader::deliverResponseAndData(const ResourceResponse& response, RefPtr<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     didReceiveResponse(response, [this, protectedThis = Ref { *this }, buffer = WTFMove(buffer)]() mutable {
</span><span class="cx">         if (reachedTerminalState())
</span><span class="lines">@@ -328,7 +328,7 @@
</span><span class="cx">         m_handle->cancel();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoader::addDataOrBuffer(const uint8_t* data, unsigned length, SharedBuffer* buffer, DataPayloadType dataPayloadType)
</del><ins>+void ResourceLoader::addDataOrBuffer(const uint8_t* data, unsigned length, FragmentedSharedBuffer* buffer, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx">     if (m_options.dataBufferingPolicy == DataBufferingPolicy::DoNotBufferData)
</span><span class="cx">         return;
</span><span class="lines">@@ -342,7 +342,7 @@
</span><span class="cx">         m_resourceData.append(data, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const SharedBuffer* ResourceLoader::resourceData() const
</del><ins>+const FragmentedSharedBuffer* ResourceLoader::resourceData() const
</ins><span class="cx"> {
</span><span class="cx">     return m_resourceData.get().get();
</span><span class="cx"> }
</span><span class="lines">@@ -550,14 +550,14 @@
</span><span class="cx">     didReceiveDataOrBuffer(data, length, nullptr, encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoader::didReceiveBuffer(Ref<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void ResourceLoader::didReceiveBuffer(Ref<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx">     didReceiveDataOrBuffer(nullptr, 0, WTFMove(buffer), encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoader::didReceiveDataOrBuffer(const uint8_t* data, unsigned length, RefPtr<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void ResourceLoader::didReceiveDataOrBuffer(const uint8_t* data, unsigned length, RefPtr<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><del>-    // This method should only get data+length *OR* a SharedBuffer.
</del><ins>+    // This method should only get data+length *OR* a FragmentedSharedBuffer.
</ins><span class="cx">     ASSERT(!buffer || (!data && !length));
</span><span class="cx"> 
</span><span class="cx">     // Protect this in this delegate method since the additional processing can do
</span><span class="lines">@@ -734,7 +734,7 @@
</span><span class="cx">     didReceiveData(data, length, encodedDataLength, DataPayloadBytes);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoader::didReceiveBuffer(ResourceHandle*, Ref<SharedBuffer>&& buffer, int encodedDataLength)
</del><ins>+void ResourceLoader::didReceiveBuffer(ResourceHandle*, Ref<FragmentedSharedBuffer>&& buffer, int encodedDataLength)
</ins><span class="cx"> {
</span><span class="cx">     didReceiveBuffer(WTFMove(buffer), encodedDataLength, DataPayloadBytes);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ResourceLoader.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void init(ResourceRequest&&, CompletionHandler<void(bool)>&&);
</span><span class="cx"> 
</span><del>-    void deliverResponseAndData(const ResourceResponse&, RefPtr<SharedBuffer>&&);
</del><ins>+    void deliverResponseAndData(const ResourceResponse&, RefPtr<FragmentedSharedBuffer>&&);
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><span class="cx">     virtual void startLoading()
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     virtual void releaseResources();
</span><span class="cx">     const ResourceResponse& response() const { return m_response; }
</span><span class="cx"> 
</span><del>-    const SharedBuffer* resourceData() const;
</del><ins>+    const FragmentedSharedBuffer* resourceData() const;
</ins><span class="cx">     void clearResourceData();
</span><span class="cx">     
</span><span class="cx">     virtual bool isSubresourceLoader() const;
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     virtual void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent);
</span><span class="cx">     virtual void didReceiveResponse(const ResourceResponse&, CompletionHandler<void()>&& policyCompletionHandler);
</span><span class="cx">     virtual void didReceiveData(const uint8_t*, unsigned, long long encodedDataLength, DataPayloadType);
</span><del>-    virtual void didReceiveBuffer(Ref<SharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</del><ins>+    virtual void didReceiveBuffer(Ref<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</ins><span class="cx">     virtual void didFinishLoading(const NetworkLoadMetrics&);
</span><span class="cx">     virtual void didFail(const ResourceError&);
</span><span class="cx"> 
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool wasCancelled() const { return m_cancellationStatus >= Cancelled; }
</span><span class="cx"> 
</span><del>-    void didReceiveDataOrBuffer(const uint8_t*, unsigned, RefPtr<SharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</del><ins>+    void didReceiveDataOrBuffer(const uint8_t*, unsigned, RefPtr<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</ins><span class="cx">     
</span><span class="cx">     void setReferrerPolicy(ReferrerPolicy referrerPolicy) { m_options.referrerPolicy = referrerPolicy; }
</span><span class="cx">     ReferrerPolicy referrerPolicy() const { return m_options.referrerPolicy; }
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">     virtual void willCancel(const ResourceError&) = 0;
</span><span class="cx">     virtual void didCancel(const ResourceError&) = 0;
</span><span class="cx"> 
</span><del>-    void addDataOrBuffer(const uint8_t*, unsigned, SharedBuffer*, DataPayloadType);
</del><ins>+    void addDataOrBuffer(const uint8_t*, unsigned, FragmentedSharedBuffer*, DataPayloadType);
</ins><span class="cx">     void loadDataURL();
</span><span class="cx">     void finishNetworkLoad();
</span><span class="cx"> 
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx">     void didReceiveResponseAsync(ResourceHandle*, ResourceResponse&&, CompletionHandler<void()>&&) override;
</span><span class="cx">     void willSendRequestAsync(ResourceHandle*, ResourceRequest&&, ResourceResponse&&, CompletionHandler<void(ResourceRequest&&)>&&) override;
</span><span class="cx">     void didReceiveData(ResourceHandle*, const uint8_t*, unsigned, int encodedDataLength) override;
</span><del>-    void didReceiveBuffer(ResourceHandle*, Ref<SharedBuffer>&&, int encodedDataLength) override;
</del><ins>+    void didReceiveBuffer(ResourceHandle*, Ref<FragmentedSharedBuffer>&&, int encodedDataLength) override;
</ins><span class="cx">     void didFinishLoading(ResourceHandle*, const NetworkLoadMetrics&) override;
</span><span class="cx">     void didFail(ResourceHandle*, const ResourceError&) override;
</span><span class="cx">     void wasBlocked(ResourceHandle*) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubresourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubresourceLoader.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx">     didReceiveDataOrBuffer(data, length, nullptr, encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SubresourceLoader::didReceiveBuffer(Ref<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void SubresourceLoader::didReceiveBuffer(Ref<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(QUICK_LOOK)
</span><span class="cx">     if (auto previewLoader = m_previewLoader.get()) {
</span><span class="lines">@@ -542,7 +542,7 @@
</span><span class="cx">     didReceiveDataOrBuffer(nullptr, 0, WTFMove(buffer), encodedDataLength, dataPayloadType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SubresourceLoader::didReceiveDataOrBuffer(const uint8_t* data, int length, RefPtr<SharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</del><ins>+void SubresourceLoader::didReceiveDataOrBuffer(const uint8_t* data, int length, RefPtr<FragmentedSharedBuffer>&& buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_resource);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubresourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubresourceLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubresourceLoader.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/SubresourceLoader.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
</span><span class="cx">     void didReceiveResponse(const ResourceResponse&, CompletionHandler<void()>&& policyCompletionHandler) override;
</span><span class="cx">     void didReceiveData(const uint8_t*, unsigned, long long encodedDataLength, DataPayloadType) override;
</span><del>-    void didReceiveBuffer(Ref<SharedBuffer>&&, long long encodedDataLength, DataPayloadType) override;
</del><ins>+    void didReceiveBuffer(Ref<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType) override;
</ins><span class="cx">     void didFinishLoading(const NetworkLoadMetrics&) override;
</span><span class="cx">     void didFail(const ResourceError&) override;
</span><span class="cx">     void willCancel(const ResourceError&) override;
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     Expected<void, String> checkResponseCrossOriginAccessControl(const ResourceResponse&);
</span><span class="cx">     Expected<void, String> checkRedirectionCrossOriginAccessControl(const ResourceRequest& previousRequest, const ResourceResponse&, ResourceRequest& newRequest);
</span><span class="cx"> 
</span><del>-    void didReceiveDataOrBuffer(const uint8_t*, int, RefPtr<SharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</del><ins>+    void didReceiveDataOrBuffer(const uint8_t*, int, RefPtr<FragmentedSharedBuffer>&&, long long encodedDataLength, DataPayloadType);
</ins><span class="cx"> 
</span><span class="cx">     void notifyDone(LoadCompletionType);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubstituteDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubstituteData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubstituteData.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/SubstituteData.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        SubstituteData(RefPtr<SharedBuffer>&& content, const URL& failingURL, const ResourceResponse& response, SessionHistoryVisibility shouldRevealToSessionHistory)
</del><ins>+        SubstituteData(RefPtr<FragmentedSharedBuffer>&& content, const URL& failingURL, const ResourceResponse& response, SessionHistoryVisibility shouldRevealToSessionHistory)
</ins><span class="cx">             : m_content(WTFMove(content))
</span><span class="cx">             , m_failingURL(failingURL)
</span><span class="cx">             , m_response(response)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">         bool isValid() const { return m_content != nullptr; }
</span><span class="cx">         bool shouldRevealToSessionHistory() const { return m_shouldRevealToSessionHistory == SessionHistoryVisibility::Visible; }
</span><span class="cx"> 
</span><del>-        const SharedBuffer* content() const { return m_content.get(); }
</del><ins>+        const FragmentedSharedBuffer* content() const { return m_content.get(); }
</ins><span class="cx">         const String& mimeType() const { return m_response.mimeType(); }
</span><span class="cx">         const String& textEncoding() const { return m_response.textEncodingName(); }
</span><span class="cx">         const URL& failingURL() const { return m_failingURL; }
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">         const ResourceResponse& response() const { return m_response; }
</span><span class="cx">         
</span><span class="cx">     private:
</span><del>-        RefPtr<SharedBuffer> m_content;
</del><ins>+        RefPtr<FragmentedSharedBuffer> m_content;
</ins><span class="cx">         URL m_failingURL;
</span><span class="cx">         ResourceResponse m_response;
</span><span class="cx">         SessionHistoryVisibility m_shouldRevealToSessionHistory { SessionHistoryVisibility::Hidden };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubstituteResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubstituteResource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubstituteResource.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/SubstituteResource.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx">     const URL& url() const { return m_url; }
</span><span class="cx">     const ResourceResponse& response() const { return m_response; }
</span><del>-    SharedBuffer& data() const { return static_reference_cast<SharedBuffer>(Ref { *m_data.get() }); }
</del><ins>+    FragmentedSharedBuffer& data() const { return static_reference_cast<FragmentedSharedBuffer>(Ref { *m_data.get() }); }
</ins><span class="cx">     void append(const uint8_t* data, int length) { m_data.append(data, length); }
</span><span class="cx">     void clear() { m_data.empty(); }
</span><span class="cx"> 
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     virtual void deliver(ResourceLoader& loader) { loader.deliverResponseAndData(m_response, m_data.copy()); }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    SubstituteResource(URL&& url, ResourceResponse&& response, Ref<SharedBuffer>&& data)
</del><ins>+    SubstituteResource(URL&& url, ResourceResponse&& response, Ref<FragmentedSharedBuffer>&& data)
</ins><span class="cx">         : m_url(WTFMove(url))
</span><span class="cx">         , m_response(WTFMove(response))
</span><span class="cx">         , m_data(WTFMove(data))
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -253,14 +253,14 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline RefPtr<ContiguousSharedBuffer> bufferFromResource(ApplicationCacheResource& resource)
</del><ins>+static inline RefPtr<SharedBuffer> bufferFromResource(ApplicationCacheResource& resource)
</ins><span class="cx"> {
</span><span class="cx">     if (resource.path().isEmpty())
</span><span class="cx">         return resource.data().makeContiguous();
</span><del>-    return ContiguousSharedBuffer::createWithContentsOfFile(resource.path());
</del><ins>+    return SharedBuffer::createWithContentsOfFile(resource.path());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ApplicationCacheHost::maybeLoadSynchronously(ResourceRequest& request, ResourceError& error, ResourceResponse& response, RefPtr<ContiguousSharedBuffer>& data)
</del><ins>+bool ApplicationCacheHost::maybeLoadSynchronously(ResourceRequest& request, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
</ins><span class="cx"> {
</span><span class="cx">     ApplicationCacheResource* resource;
</span><span class="cx">     if (!shouldLoadResourceFromApplicationCache(request, resource))
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ApplicationCacheHost::maybeLoadFallbackSynchronously(const ResourceRequest& request, ResourceError& error, ResourceResponse& response, RefPtr<ContiguousSharedBuffer>& data)
</del><ins>+void ApplicationCacheHost::maybeLoadFallbackSynchronously(const ResourceRequest& request, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
</ins><span class="cx"> {
</span><span class="cx">     // If normal loading results in a redirect to a resource with another origin (indicative of a captive portal), or a 4xx or 5xx status code or equivalent,
</span><span class="cx">     // or if there were network errors (but not if the user canceled the download), then instead get, from the cache, the resource of the fallback entry
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheHost.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> class ApplicationCacheGroup;
</span><span class="cx"> class ApplicationCacheResource;
</span><span class="cx"> class ApplicationCacheStorage;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class DOMApplicationCache;
</span><span class="cx"> class DocumentLoader;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -104,8 +104,8 @@
</span><span class="cx">     WEBCORE_EXPORT bool maybeLoadFallbackForResponse(ResourceLoader*, const ResourceResponse&);
</span><span class="cx">     WEBCORE_EXPORT bool maybeLoadFallbackForError(ResourceLoader*, const ResourceError&);
</span><span class="cx"> 
</span><del>-    bool maybeLoadSynchronously(ResourceRequest&, ResourceError&, ResourceResponse&, RefPtr<ContiguousSharedBuffer>&);
-    void maybeLoadFallbackSynchronously(const ResourceRequest&, ResourceError&, ResourceResponse&, RefPtr<ContiguousSharedBuffer>&);
</del><ins>+    bool maybeLoadSynchronously(ResourceRequest&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>&);
+    void maybeLoadFallbackSynchronously(const ResourceRequest&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>&);
</ins><span class="cx"> 
</span><span class="cx">     bool canCacheInBackForwardCache();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref<ApplicationCacheResource> ApplicationCacheResource::create(const URL& url, const ResourceResponse& response, unsigned type, RefPtr<SharedBuffer>&& buffer, const String& path)
</del><ins>+Ref<ApplicationCacheResource> ApplicationCacheResource::create(const URL& url, const ResourceResponse& response, unsigned type, RefPtr<FragmentedSharedBuffer>&& buffer, const String& path)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!url.hasFragmentIdentifier());
</span><span class="cx">     if (!buffer)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     return adoptRef(*new ApplicationCacheResource(URL { url }, WTFMove(resourceResponse), type, buffer.releaseNonNull(), path));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ApplicationCacheResource::ApplicationCacheResource(URL&& url, ResourceResponse&& response, unsigned type, Ref<SharedBuffer>&& data, const String& path)
</del><ins>+ApplicationCacheResource::ApplicationCacheResource(URL&& url, ResourceResponse&& response, unsigned type, Ref<FragmentedSharedBuffer>&& data, const String& path)
</ins><span class="cx">     : SubstituteResource(WTFMove(url), WTFMove(response), WTFMove(data))
</span><span class="cx">     , m_type(type)
</span><span class="cx">     , m_storageID(0)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ApplicationCacheResource::deliver(ResourceLoader& loader)
</span><span class="cx"> {
</span><del>-    loader.deliverResponseAndData(response(), m_path.isEmpty() ? data().makeContiguous() : ContiguousSharedBuffer::createWithContentsOfFile(m_path));
</del><ins>+    loader.deliverResponseAndData(response(), m_path.isEmpty() ? data().makeContiguous() : SharedBuffer::createWithContentsOfFile(m_path));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ApplicationCacheResource::addType(unsigned type) 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheResource.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">         Fallback = 1 << 4
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    static Ref<ApplicationCacheResource> create(const URL&, const ResourceResponse&, unsigned type, RefPtr<SharedBuffer>&& = SharedBuffer::create(), const String& path = String());
</del><ins>+    static Ref<ApplicationCacheResource> create(const URL&, const ResourceResponse&, unsigned type, RefPtr<FragmentedSharedBuffer>&& = SharedBuffer::create(), const String& path = String());
</ins><span class="cx"> 
</span><span class="cx">     unsigned type() const { return m_type; }
</span><span class="cx">     void addType(unsigned type);
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx"> private:
</span><del>-    ApplicationCacheResource(URL&&, ResourceResponse&&, unsigned type, Ref<SharedBuffer>&&, const String& path);
</del><ins>+    ApplicationCacheResource(URL&&, ResourceResponse&&, unsigned type, Ref<FragmentedSharedBuffer>&&, const String& path);
</ins><span class="cx"> 
</span><span class="cx">     void deliver(ResourceLoader&) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1112,7 +1112,7 @@
</span><span class="cx">         int httpStatusCode = cacheStatement->columnInt(1);
</span><span class="cx"> 
</span><span class="cx">         unsigned type = static_cast<unsigned>(cacheStatement->columnInt64(2));
</span><del>-        auto data = ContiguousSharedBuffer::create(cacheStatement->columnBlob(6));
</del><ins>+        auto data = SharedBuffer::create(cacheStatement->columnBlob(6));
</ins><span class="cx">         
</span><span class="cx">         String path = cacheStatement->columnText(7);
</span><span class="cx">         long long size = 0;
</span><span class="lines">@@ -1272,7 +1272,7 @@
</span><span class="cx">     return startsWithLettersIgnoringASCIICase(type, "audio/") || startsWithLettersIgnoringASCIICase(type, "video/");
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-bool ApplicationCacheStorage::writeDataToUniqueFileInDirectory(SharedBuffer& data, const String& directory, String& path, const String& fileExtension)
</del><ins>+bool ApplicationCacheStorage::writeDataToUniqueFileInDirectory(FragmentedSharedBuffer& data, const String& directory, String& path, const String& fileExtension)
</ins><span class="cx"> {
</span><span class="cx">     String fullPath;
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheStorageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> class ApplicationCacheHost;
</span><span class="cx"> class ApplicationCacheResource;
</span><span class="cx"> class SecurityOrigin;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> template<typename> class StorageIDJournal;
</span><span class="cx"> 
</span><span class="cx"> class ApplicationCacheStorage : public RefCounted<ApplicationCacheStorage> {
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">     bool ensureOriginRecord(const SecurityOrigin*);
</span><span class="cx">     static bool shouldStoreResourceAsFlatFile(ApplicationCacheResource*);
</span><span class="cx">     void deleteTables();
</span><del>-    bool writeDataToUniqueFileInDirectory(SharedBuffer&, const String& directory, String& outFilename, const String& fileExtension);
</del><ins>+    bool writeDataToUniqueFileInDirectory(FragmentedSharedBuffer&, const String& directory, String& outFilename, const String& fileExtension);
</ins><span class="cx"> 
</span><span class="cx">     void loadManifestHostHashes();
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchiveArchiveFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/ArchiveFactory.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -46,12 +46,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-typedef RefPtr<Archive> RawDataCreationFunction(const URL&, SharedBuffer&);
</del><ins>+typedef RefPtr<Archive> RawDataCreationFunction(const URL&, FragmentedSharedBuffer&);
</ins><span class="cx"> typedef HashMap<String, RawDataCreationFunction*, ASCIICaseInsensitiveHash> ArchiveMIMETypesMap;
</span><span class="cx"> 
</span><span class="cx"> // The create functions in the archive classes return RefPtr to concrete subclasses
</span><span class="cx"> // of Archive. This adaptor makes the functions have a uniform return type.
</span><del>-template<typename ArchiveClass> static RefPtr<Archive> archiveFactoryCreate(const URL& url, SharedBuffer& buffer)
</del><ins>+template<typename ArchiveClass> static RefPtr<Archive> archiveFactoryCreate(const URL& url, FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     return ArchiveClass::create(url, buffer);
</span><span class="cx"> }
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx">     return !mimeType.isEmpty() && archiveMIMETypes().contains(mimeType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<Archive> ArchiveFactory::create(const URL& url, SharedBuffer* data, const String& mimeType)
</del><ins>+RefPtr<Archive> ArchiveFactory::create(const URL& url, FragmentedSharedBuffer* data, const String& mimeType)
</ins><span class="cx"> {
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchiveArchiveFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/ArchiveFactory.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/ArchiveFactory.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/ArchiveFactory.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,12 +34,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class ArchiveFactory {
</span><span class="cx"> public:
</span><span class="cx">     static bool isArchiveMIMEType(const String&);
</span><del>-    static RefPtr<Archive> create(const URL&, SharedBuffer* data, const String& mimeType);
</del><ins>+    static RefPtr<Archive> create(const URL&, FragmentedSharedBuffer* data, const String& mimeType);
</ins><span class="cx">     static void registerKnownArchiveMIMETypes(HashSet<String, ASCIICaseInsensitiveHash>&);
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchiveArchiveResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/ArchiveResource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/ArchiveResource.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/ArchiveResource.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-inline ArchiveResource::ArchiveResource(Ref<SharedBuffer>&& data, const URL& url, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse& response)
</del><ins>+inline ArchiveResource::ArchiveResource(Ref<FragmentedSharedBuffer>&& data, const URL& url, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse& response)
</ins><span class="cx">     : SubstituteResource(URL { url }, ResourceResponse { response }, WTFMove(data))
</span><span class="cx">     , m_mimeType(mimeType)
</span><span class="cx">     , m_textEncoding(textEncoding)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ArchiveResource> ArchiveResource::create(RefPtr<SharedBuffer>&& data, const URL& url, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse& response)
</del><ins>+RefPtr<ArchiveResource> ArchiveResource::create(RefPtr<FragmentedSharedBuffer>&& data, const URL& url, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     return adoptRef(*new ArchiveResource(data.releaseNonNull(), url, mimeType, textEncoding, frameName, response));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ArchiveResource> ArchiveResource::create(RefPtr<SharedBuffer>&& data, const URL& url, const ResourceResponse& response)
</del><ins>+RefPtr<ArchiveResource> ArchiveResource::create(RefPtr<FragmentedSharedBuffer>&& data, const URL& url, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     return create(WTFMove(data), url, response.mimeType(), response.textEncodingName(), String(), response);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchiveArchiveResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/ArchiveResource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/ArchiveResource.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/ArchiveResource.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> 
</span><span class="cx"> class ArchiveResource : public SubstituteResource {
</span><span class="cx"> public:
</span><del>-    static RefPtr<ArchiveResource> create(RefPtr<SharedBuffer>&&, const URL&, const ResourceResponse&);
-    WEBCORE_EXPORT static RefPtr<ArchiveResource> create(RefPtr<SharedBuffer>&&, const URL&,
</del><ins>+    static RefPtr<ArchiveResource> create(RefPtr<FragmentedSharedBuffer>&&, const URL&, const ResourceResponse&);
+    WEBCORE_EXPORT static RefPtr<ArchiveResource> create(RefPtr<FragmentedSharedBuffer>&&, const URL&,
</ins><span class="cx">         const String& mimeType, const String& textEncoding, const String& frameName,
</span><span class="cx">         const ResourceResponse& = ResourceResponse());
</span><span class="cx"> 
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     bool shouldIgnoreWhenUnarchiving() const { return m_shouldIgnoreWhenUnarchiving; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ArchiveResource(Ref<SharedBuffer>&&, const URL&, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse&);
</del><ins>+    ArchiveResource(Ref<FragmentedSharedBuffer>&&, const URL&, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse&);
</ins><span class="cx"> 
</span><span class="cx">     String m_mimeType;
</span><span class="cx">     String m_textEncoding;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivecfLegacyWebArchivecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -248,12 +248,12 @@
</span><span class="cx">     return archive;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<LegacyWebArchive> LegacyWebArchive::create(SharedBuffer& data)
</del><ins>+RefPtr<LegacyWebArchive> LegacyWebArchive::create(FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     return create(URL(), data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<LegacyWebArchive> LegacyWebArchive::create(const URL&, SharedBuffer& data)
</del><ins>+RefPtr<LegacyWebArchive> LegacyWebArchive::create(const URL&, FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Archives, "LegacyWebArchive - Creating from raw data");
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivecfLegacyWebArchiveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/cf/LegacyWebArchive.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> class LegacyWebArchive final : public Archive {
</span><span class="cx"> public:
</span><span class="cx">     WEBCORE_EXPORT static Ref<LegacyWebArchive> create();
</span><del>-    WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(SharedBuffer&);
-    WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(const URL&, SharedBuffer&);
</del><ins>+    WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(FragmentedSharedBuffer&);
+    WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(const URL&, FragmentedSharedBuffer&);
</ins><span class="cx">     WEBCORE_EXPORT static Ref<LegacyWebArchive> create(Ref<ArchiveResource>&& mainResource, Vector<Ref<ArchiveResource>>&& subresources, Vector<Ref<LegacyWebArchive>>&& subframeArchives);
</span><span class="cx">     WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(Node&, Function<bool(Frame&)>&& frameFilter = { });
</span><span class="cx">     WEBCORE_EXPORT static RefPtr<LegacyWebArchive> create(Frame&);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivemhtmlMHTMLArchivecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">     return adoptRef(*new MHTMLArchive);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<MHTMLArchive> MHTMLArchive::create(const URL& url, SharedBuffer& data)
</del><ins>+RefPtr<MHTMLArchive> MHTMLArchive::create(const URL& url, FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     // For security reasons we only load MHTML pages from local URLs.
</span><span class="cx">     if (!LegacySchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol().toString()))
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">     return mainArchive;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> MHTMLArchive::generateMHTMLData(Page* page)
</del><ins>+Ref<FragmentedSharedBuffer> MHTMLArchive::generateMHTMLData(Page* page)
</ins><span class="cx"> {
</span><span class="cx">     Vector<PageSerializer::Resource> resources;
</span><span class="cx">     PageSerializer pageSerializer(resources);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivemhtmlMHTMLArchiveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/mhtml/MHTMLArchive.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,14 +38,14 @@
</span><span class="cx"> 
</span><span class="cx"> class MHTMLParser;
</span><span class="cx"> class Page;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class MHTMLArchive final : public Archive {
</span><span class="cx"> public:
</span><span class="cx">     static Ref<MHTMLArchive> create();
</span><del>-    static RefPtr<MHTMLArchive> create(const URL&, SharedBuffer&);
</del><ins>+    static RefPtr<MHTMLArchive> create(const URL&, FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><del>-    static Ref<SharedBuffer> generateMHTMLData(Page*);
</del><ins>+    static Ref<FragmentedSharedBuffer> generateMHTMLData(Page*);
</ins><span class="cx"> 
</span><span class="cx">     virtual ~MHTMLArchive();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivemhtmlMHTMLParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MHTMLParser::MHTMLParser(SharedBuffer* data)
</del><ins>+MHTMLParser::MHTMLParser(FragmentedSharedBuffer* data)
</ins><span class="cx">     : m_lineReader(data, "\r\n")
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx">         LOG_ERROR("Invalid encoding for MHTML part.");
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><del>-    auto contentBuffer = ContiguousSharedBuffer::create(WTFMove(data));
</del><ins>+    auto contentBuffer = SharedBuffer::create(WTFMove(data));
</ins><span class="cx">     // FIXME: the URL in the MIME header could be relative, we should resolve it if it is.
</span><span class="cx">     // The specs mentions 5 ways to resolve a URL: http://tools.ietf.org/html/rfc2557#section-5
</span><span class="cx">     // IE and Firefox (UNMht) seem to generate only absolute URLs.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderarchivemhtmlMHTMLParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/archive/mhtml/MHTMLParser.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -42,11 +42,11 @@
</span><span class="cx"> class ArchiveResource;
</span><span class="cx"> class MHTMLArchive;
</span><span class="cx"> class MIMEHeader;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class MHTMLParser {
</span><span class="cx"> public:
</span><del>-    explicit MHTMLParser(SharedBuffer*);
</del><ins>+    explicit MHTMLParser(FragmentedSharedBuffer*);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr<MHTMLArchive> parseArchive();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedApplicationManifestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedApplicationManifest.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedApplicationManifest.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedApplicationManifest.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedApplicationManifest::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedApplicationManifest::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         m_data = data->makeContiguous();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedApplicationManifesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedApplicationManifest.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedApplicationManifest.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedApplicationManifest.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     std::optional<struct ApplicationManifest> process(const URL& manifestURL, const URL& documentURL, Document* = nullptr);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) override;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) override;
</ins><span class="cx">     const TextResourceDecoder* textResourceDecoder() const override { return m_decoder.ptr(); }
</span><span class="cx">     void setEncoding(const String&) override;
</span><span class="cx">     String encoding() const override;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">         saveParsedStyleSheet(*sheet.m_parsedStyleSheetCache);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedCSSStyleSheet::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedCSSStyleSheet::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         m_data = data->makeContiguous();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedCSSStyleSheeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedCSSStyleSheet.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     void setEncoding(const String&) final;
</span><span class="cx">     String encoding() const final;
</span><span class="cx">     const TextResourceDecoder* textResourceDecoder() const final { return m_decoder.get(); }
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) final;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) final;
</ins><span class="cx">     void destroyDecodedData() final;
</span><span class="cx"> 
</span><span class="cx">     void setBodyDataFrom(const CachedResource&) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedFont.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedFont.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedFont.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">         static_cast<CachedFontClient&>(client).fontLoaded(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedFont::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedFont::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         m_data = data->makeContiguous();
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     return url().fragmentIdentifier().toString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CachedFont::ensureCustomFontData(ContiguousSharedBuffer* data)
</del><ins>+bool CachedFont::ensureCustomFontData(SharedBuffer* data)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_fontCustomPlatformData && !errorOccurred() && !isLoading() && data) {
</span><span class="cx">         bool wrapping;
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     return m_fontCustomPlatformData.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> CachedFont::createCustomFontData(ContiguousSharedBuffer& bytes, const String& itemInCollection, bool& wrapping)
</del><ins>+std::unique_ptr<FontCustomPlatformData> CachedFont::createCustomFontData(SharedBuffer& bytes, const String& itemInCollection, bool& wrapping)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr buffer = { &bytes };
</span><span class="cx">     wrapping = !convertWOFFToSfntIfNecessary(buffer);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedFont.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedFont.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedFont.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     bool stillNeedsLoad() const override { return !m_loadInitiated; }
</span><span class="cx"> 
</span><span class="cx">     virtual bool ensureCustomFontData(const AtomString& remoteURI);
</span><del>-    static std::unique_ptr<FontCustomPlatformData> createCustomFontData(ContiguousSharedBuffer&, const String& itemInCollection, bool& wrapping);
</del><ins>+    static std::unique_ptr<FontCustomPlatformData> createCustomFontData(SharedBuffer&, const String& itemInCollection, bool& wrapping);
</ins><span class="cx">     static FontPlatformData platformDataFromCustomData(FontCustomPlatformData&, const FontDescription&, bool bold, bool italic, const FontCreationContext&);
</span><span class="cx"> 
</span><span class="cx">     virtual RefPtr<Font> createFont(const FontDescription&, const AtomString& remoteURI, bool syntheticBold, bool syntheticItalic, const FontCreationContext&);
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> protected:
</span><span class="cx">     FontPlatformData platformDataFromCustomData(const FontDescription&, bool bold, bool italic, const FontCreationContext&);
</span><span class="cx"> 
</span><del>-    bool ensureCustomFontData(ContiguousSharedBuffer* data);
</del><ins>+    bool ensureCustomFontData(SharedBuffer* data);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     String calculateItemInCollection() const;
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     NO_RETURN_DUE_TO_ASSERT void setBodyDataFrom(const CachedResource&) final { ASSERT_NOT_REACHED(); }
</span><span class="cx"> 
</span><span class="cx">     void didAddClient(CachedResourceClient&) override;
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) override;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) override;
</ins><span class="cx"> 
</span><span class="cx">     void allClientsRemoved() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -468,7 +468,7 @@
</span><span class="cx">     m_updateImageDataCount = 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedImage::updateBufferInternal(const SharedBuffer& data)
</del><ins>+void CachedImage::updateBufferInternal(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     m_data = data.makeContiguous();
</span><span class="cx">     setEncodedSize(m_data->size());
</span><span class="lines">@@ -523,7 +523,7 @@
</span><span class="cx">     return (MonotonicTime::now() - m_lastUpdateImageDataTime).seconds() < updateImageDataBackoffIntervals[interval];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> CachedImage::convertedDataIfNeeded(const SharedBuffer* data) const
</del><ins>+RefPtr<SharedBuffer> CachedImage::convertedDataIfNeeded(const FragmentedSharedBuffer* data) const
</ins><span class="cx"> {
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx">     if (!isPostScriptResource())
</span><span class="cx">         return data->makeContiguous();
</span><span class="cx"> #if PLATFORM(MAC) && !USE(WEBKIT_IMAGE_DECODERS)
</span><del>-    return ContiguousSharedBuffer::create(PDFDocumentImage::convertPostScriptDataToPDF(data->makeContiguous()->createCFData()).get());
</del><ins>+    return SharedBuffer::create(PDFDocumentImage::convertPostScriptDataToPDF(data->makeContiguous()->createCFData()).get());
</ins><span class="cx"> #else
</span><span class="cx">     // Loading the image should have been canceled if the system does not support converting PostScript to PDF.
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -555,7 +555,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedImage::updateBuffer(const SharedBuffer& data)
</del><ins>+void CachedImage::updateBuffer(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(dataBufferingPolicy() == DataBufferingPolicy::BufferData);
</span><span class="cx">     updateBufferInternal(data);
</span><span class="lines">@@ -569,7 +569,7 @@
</span><span class="cx">     CachedResource::updateData(data, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedImage::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedImage::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     m_data = convertedDataIfNeeded(data);
</span><span class="cx">     if (m_data) {
</span><span class="lines">@@ -595,7 +595,7 @@
</span><span class="cx"> void CachedImage::didReplaceSharedBufferContents()
</span><span class="cx"> {
</span><span class="cx">     if (m_image) {
</span><del>-        // Let the Image know that the SharedBuffer has been rejigged, so it can let go of any references to the heap-allocated resource buffer.
</del><ins>+        // Let the Image know that the FragmentedSharedBuffer has been rejigged, so it can let go of any references to the heap-allocated resource buffer.
</ins><span class="cx">         // FIXME(rdar://problem/24275617): It would be better if we could somehow tell the Image's decoder to swap in the new contents without destroying anything.
</span><span class="cx">         m_image->destroyDecodedData(true);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedImage.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedImage.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedImage.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -69,8 +69,8 @@
</span><span class="cx">     bool imageHasRelativeWidth() const { return m_image && m_image->hasRelativeWidth(); }
</span><span class="cx">     bool imageHasRelativeHeight() const { return m_image && m_image->hasRelativeHeight(); }
</span><span class="cx"> 
</span><del>-    void updateBuffer(const SharedBuffer&) override;
-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) override;
</del><ins>+    void updateBuffer(const FragmentedSharedBuffer&) override;
+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) override;
</ins><span class="cx"> 
</span><span class="cx">     enum SizeType {
</span><span class="cx">         UsedSize,
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     void destroyDecodedData() override;
</span><span class="cx"> 
</span><span class="cx">     bool shouldDeferUpdateImageData() const;
</span><del>-    RefPtr<ContiguousSharedBuffer> convertedDataIfNeeded(const SharedBuffer* data) const;
</del><ins>+    RefPtr<SharedBuffer> convertedDataIfNeeded(const FragmentedSharedBuffer* data) const;
</ins><span class="cx">     void didUpdateImageData();
</span><span class="cx">     EncodedDataStatus updateImageData(bool allDataReceived);
</span><span class="cx">     void updateData(const uint8_t* data, unsigned length) override;
</span><span class="lines">@@ -169,7 +169,7 @@
</span><span class="cx">     void changedInRect(const Image&, const IntRect*);
</span><span class="cx">     void scheduleRenderingUpdate(const Image&);
</span><span class="cx"> 
</span><del>-    void updateBufferInternal(const SharedBuffer&);
</del><ins>+    void updateBufferInternal(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     void didReplaceSharedBufferContents() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     ASSERT(isMainOrMediaOrIconOrRawResource());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<SharedBufferDataView> CachedRawResource::calculateIncrementalDataChunk(const SharedBuffer* data) const
</del><ins>+std::optional<SharedBufferDataView> CachedRawResource::calculateIncrementalDataChunk(const FragmentedSharedBuffer* data) const
</ins><span class="cx"> {
</span><span class="cx">     size_t previousDataLength = encodedSize();
</span><span class="cx">     if (!data || data->size() <= previousDataLength)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     return data->getSomeData(previousDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedRawResource::updateBuffer(const SharedBuffer& data)
</del><ins>+void CachedRawResource::updateBuffer(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     // Skip any updateBuffers triggered from nested runloops. We'll have the complete buffer in finishLoading.
</span><span class="cx">     if (m_inIncrementalDataNotify)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">     CachedResource::updateData(data, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedRawResource::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedRawResource::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (m_inIncrementalDataNotify) {
</span><span class="cx">         // We may get here synchronously from updateBuffer() if the callback there ends up spinning a runloop.
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -51,9 +51,9 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void didAddClient(CachedResourceClient&) final;
</span><del>-    void updateBuffer(const SharedBuffer&) final;
</del><ins>+    void updateBuffer(const FragmentedSharedBuffer&) final;
</ins><span class="cx">     void updateData(const uint8_t* data, unsigned length) final;
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) final;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) final;
</ins><span class="cx"> 
</span><span class="cx">     bool shouldIgnoreHTTPStatusCodeErrors() const override { return true; }
</span><span class="cx">     void allClientsRemoved() override;
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">     void switchClientsToRevalidatedResource() override;
</span><span class="cx">     bool mayTryReplaceEncodedData() const override { return m_allowEncodedDataReplacement; }
</span><span class="cx"> 
</span><del>-    std::optional<SharedBufferDataView> calculateIncrementalDataChunk(const SharedBuffer*) const;
</del><ins>+    std::optional<SharedBufferDataView> calculateIncrementalDataChunk(const FragmentedSharedBuffer*) const;
</ins><span class="cx">     void notifyClientsDataWasReceived(const uint8_t* data, unsigned length);
</span><span class="cx">     
</span><span class="cx"> #if USE(QUICK_LOOK)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     Vector<RedirectPair, 0, CrashOnOverflow, 0> m_redirectChain;
</span><span class="cx"> 
</span><span class="cx">     struct DelayedFinishLoading {
</span><del>-        RefPtr<const SharedBuffer> buffer;
</del><ins>+        RefPtr<const FragmentedSharedBuffer> buffer;
</ins><span class="cx">     };
</span><span class="cx">     std::optional<DelayedFinishLoading> m_delayedFinishLoading;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx">         client->notifyFinished(*this, metrics);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedResource::updateBuffer(const SharedBuffer&)
</del><ins>+void CachedResource::updateBuffer(const FragmentedSharedBuffer&)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(dataBufferingPolicy() == DataBufferingPolicy::BufferData);
</span><span class="cx"> }
</span><span class="lines">@@ -346,7 +346,7 @@
</span><span class="cx">     ASSERT(dataBufferingPolicy() == DataBufferingPolicy::DoNotBufferData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedResource::finishLoading(const SharedBuffer*, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedResource::finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     setLoading(false);
</span><span class="cx">     checkNotify(metrics);
</span><span class="lines">@@ -915,7 +915,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SHAREABLE_RESOURCE)
</span><span class="cx"> 
</span><del>-void CachedResource::tryReplaceEncodedData(ContiguousSharedBuffer& newBuffer)
</del><ins>+void CachedResource::tryReplaceEncodedData(SharedBuffer& newBuffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_data)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> class MemoryCache;
</span><span class="cx"> class NetworkLoadMetrics;
</span><span class="cx"> class SecurityOrigin;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class SubresourceLoader;
</span><span class="cx"> class TextResourceDecoder;
</span><span class="cx"> 
</span><span class="lines">@@ -112,9 +112,9 @@
</span><span class="cx">     virtual void setEncoding(const String&) { }
</span><span class="cx">     virtual String encoding() const { return String(); }
</span><span class="cx">     virtual const TextResourceDecoder* textResourceDecoder() const { return nullptr; }
</span><del>-    virtual void updateBuffer(const SharedBuffer&);
</del><ins>+    virtual void updateBuffer(const FragmentedSharedBuffer&);
</ins><span class="cx">     virtual void updateData(const uint8_t* data, unsigned length);
</span><del>-    virtual void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&);
</del><ins>+    virtual void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&);
</ins><span class="cx">     virtual void error(CachedResource::Status);
</span><span class="cx"> 
</span><span class="cx">     void setResourceError(const ResourceError& error) { m_error = error; }
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> 
</span><span class="cx">     void clearLoader();
</span><span class="cx"> 
</span><del>-    ContiguousSharedBuffer* resourceBuffer() const { return m_data.get(); }
</del><ins>+    SharedBuffer* resourceBuffer() const { return m_data.get(); }
</ins><span class="cx"> 
</span><span class="cx">     virtual void redirectReceived(ResourceRequest&&, const ResourceResponse&, CompletionHandler<void(ResourceRequest&&)>&&);
</span><span class="cx">     virtual void responseReceived(const ResourceResponse&);
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">     virtual void didSendData(unsigned long long /* bytesSent */, unsigned long long /* totalBytesToBeSent */) { }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SHAREABLE_RESOURCE)
</span><del>-    WEBCORE_EXPORT void tryReplaceEncodedData(ContiguousSharedBuffer&);
</del><ins>+    WEBCORE_EXPORT void tryReplaceEncodedData(SharedBuffer&);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ResourceLoaderIdentifier identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx">     HashCountedSet<CachedResourceClient*> m_clients;
</span><span class="cx">     std::unique_ptr<ResourceRequest> m_originalRequest; // Needed by Ping loads.
</span><span class="cx">     RefPtr<SubresourceLoader> m_loader;
</span><del>-    RefPtr<ContiguousSharedBuffer> m_data;
</del><ins>+    RefPtr<SharedBuffer> m_data;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     MonotonicTime m_lastDecodedAccessTime; // Used as a "thrash guard" in the cache
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedSVGDocument.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     return m_decoder->encoding().name();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedSVGDocument::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedSVGDocument::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         // We don't need to create a new frame because the new document belongs to the parent UseElement.
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGDocument.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGDocument.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedSVGDocument.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">     void setEncoding(const String&) override;
</span><span class="cx">     String encoding() const override;
</span><span class="cx">     const TextResourceDecoder* textResourceDecoder() const override { return m_decoder.get(); }
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) override;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) override;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr<SVGDocument> m_document;
</span><span class="cx">     RefPtr<TextResourceDecoder> m_decoder;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">         if (!m_externalSVGFontElement || !firstFontFace(remoteURI))
</span><span class="cx">             return false;
</span><span class="cx">         if (auto convertedFont = convertSVGToOTFFont(*m_externalSVGFontElement))
</span><del>-            m_convertedFont = ContiguousSharedBuffer::create(WTFMove(convertedFont.value()));
</del><ins>+            m_convertedFont = SharedBuffer::create(WTFMove(convertedFont.value()));
</ins><span class="cx">         else {
</span><span class="cx">             m_externalSVGDocument = nullptr;
</span><span class="cx">             m_externalSVGFontElement = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedSVGFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedSVGFont.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedSVGFont.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedSVGFont.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     SVGFontElement* maybeInitializeExternalSVGFontElement(const AtomString& remoteURI);
</span><span class="cx">     SVGFontFaceElement* firstFontFace(const AtomString& remoteURI);
</span><span class="cx"> 
</span><del>-    RefPtr<ContiguousSharedBuffer> m_convertedFont;
</del><ins>+    RefPtr<SharedBuffer> m_convertedFont;
</ins><span class="cx">     RefPtr<SVGDocument> m_externalSVGDocument;
</span><span class="cx">     SVGFontElement* m_externalSVGFontElement;
</span><span class="cx">     const Ref<const Settings> m_settings;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedScriptcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedScript.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedScript.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedScript.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">     return m_scriptHash;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedScript::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedScript::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         m_data = data->makeContiguous();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedScripth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedScript.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedScript.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedScript.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     void setEncoding(const String&) final;
</span><span class="cx">     String encoding() const final;
</span><span class="cx">     const TextResourceDecoder* textResourceDecoder() const final { return m_decoder.get(); }
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) final;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) final;
</ins><span class="cx"> 
</span><span class="cx">     void destroyDecodedData() final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedTextTrack.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedTextTrack::doUpdateBuffer(const SharedBuffer* data)
</del><ins>+void CachedTextTrack::doUpdateBuffer(const FragmentedSharedBuffer* data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(dataBufferingPolicy() == DataBufferingPolicy::BufferData);
</span><del>-    m_data = data ? data->makeContiguous() : RefPtr<ContiguousSharedBuffer>();
</del><ins>+    m_data = data ? data->makeContiguous() : RefPtr<SharedBuffer>();
</ins><span class="cx">     setEncodedSize(data ? data->size() : 0);
</span><span class="cx"> 
</span><span class="cx">     CachedResourceClientWalker<CachedResourceClient> walker(m_clients);
</span><span class="lines">@@ -51,13 +51,13 @@
</span><span class="cx">         client->deprecatedDidReceiveCachedResource(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedTextTrack::updateBuffer(const SharedBuffer& data)
</del><ins>+void CachedTextTrack::updateBuffer(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     doUpdateBuffer(&data);
</span><span class="cx">     CachedResource::updateBuffer(data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedTextTrack::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedTextTrack::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     doUpdateBuffer(data);
</span><span class="cx">     CachedResource::finishLoading(data, metrics);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedTextTrack.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedTextTrack.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedTextTrack.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -35,10 +35,10 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool mayTryReplaceEncodedData() const override { return true; }
</span><del>-    void updateBuffer(const SharedBuffer&) override;
-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) override;
</del><ins>+    void updateBuffer(const FragmentedSharedBuffer&) override;
+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) override;
</ins><span class="cx"> 
</span><del>-    void doUpdateBuffer(const SharedBuffer*);
</del><ins>+    void doUpdateBuffer(const FragmentedSharedBuffer*);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedXSLStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     return m_decoder->encoding().name();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CachedXSLStyleSheet::finishLoading(const SharedBuffer* data, const NetworkLoadMetrics& metrics)
</del><ins>+void CachedXSLStyleSheet::finishLoading(const FragmentedSharedBuffer* data, const NetworkLoadMetrics& metrics)
</ins><span class="cx"> {
</span><span class="cx">     if (data) {
</span><span class="cx">         m_data = data->makeContiguous();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedXSLStyleSheeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cache/CachedXSLStyleSheet.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     void setEncoding(const String&) final;
</span><span class="cx">     String encoding() const final;
</span><span class="cx">     const TextResourceDecoder* textResourceDecoder() const final { return m_decoder.get(); }
</span><del>-    void finishLoading(const SharedBuffer*, const NetworkLoadMetrics&) final;
</del><ins>+    void finishLoading(const FragmentedSharedBuffer*, const NetworkLoadMetrics&) final;
</ins><span class="cx"> 
</span><span class="cx">     String m_sheet;
</span><span class="cx">     RefPtr<TextResourceDecoder> m_decoder;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercocoaDiskCacheMonitorCocoah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -32,17 +32,17 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class DiskCacheMonitor {
</span><span class="cx"> public:
</span><span class="cx">     static void monitorFileBackingStoreCreation(const ResourceRequest&, PAL::SessionID, CFCachedURLResponseRef);
</span><del>-    static RefPtr<ContiguousSharedBuffer> tryGetFileBackedSharedBufferFromCFURLCachedResponse(CFCachedURLResponseRef);
</del><ins>+    static RefPtr<SharedBuffer> tryGetFileBackedSharedBufferFromCFURLCachedResponse(CFCachedURLResponseRef);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     DiskCacheMonitor(const ResourceRequest&, PAL::SessionID, CFCachedURLResponseRef);
</span><span class="cx"> 
</span><del>-    void resourceBecameFileBacked(ContiguousSharedBuffer&);
</del><ins>+    void resourceBecameFileBacked(SharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     const ResourceRequest& resourceRequest() const { return m_resourceRequest; }
</span><span class="cx">     PAL::SessionID sessionID() const { return m_sessionID; }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercocoaDiskCacheMonitorCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -42,13 +42,13 @@
</span><span class="cx"> // The maximum number of seconds we'll try to wait for a resource to be disk cached before we forget the request.
</span><span class="cx"> static const double diskCacheMonitorTimeout = 20;
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse(CFCachedURLResponseRef cachedResponse)
</del><ins>+RefPtr<SharedBuffer> DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse(CFCachedURLResponseRef cachedResponse)
</ins><span class="cx"> {
</span><span class="cx">     auto data = _CFCachedURLResponseGetMemMappedData(cachedResponse);
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return ContiguousSharedBuffer::create(data);
</del><ins>+    return SharedBuffer::create(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DiskCacheMonitor::monitorFileBackingStoreCreation(const ResourceRequest& request, PAL::SessionID sessionID, CFCachedURLResponseRef cachedResponse)
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx">     _CFCachedURLResponseSetBecameFileBackedCallBackBlock(cachedResponse, blockToRun, dispatch_get_main_queue());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DiskCacheMonitor::resourceBecameFileBacked(ContiguousSharedBuffer& fileBackedBuffer)
</del><ins>+void DiskCacheMonitor::resourceBecameFileBacked(SharedBuffer& fileBackedBuffer)
</ins><span class="cx"> {
</span><span class="cx">     auto* resource = MemoryCache::singleton().resourceForRequest(m_resourceRequest, m_sessionID);
</span><span class="cx">     if (!resource)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderiosLegacyPreviewLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool didReceiveResponse(const ResourceResponse&);
</span><span class="cx">     bool didReceiveData(const uint8_t* data, unsigned length);
</span><del>-    bool didReceiveBuffer(const SharedBuffer&);
</del><ins>+    bool didReceiveBuffer(const FragmentedSharedBuffer&);
</ins><span class="cx">     bool didFinishLoading();
</span><span class="cx">     void didFail();
</span><span class="cx"> 
</span><span class="lines">@@ -60,12 +60,12 @@
</span><span class="cx">     void previewConverterDidFinishUpdating(PreviewConverter&) final { };
</span><span class="cx">     void previewConverterDidFailUpdating(PreviewConverter&) final;
</span><span class="cx">     void previewConverterDidStartConverting(PreviewConverter&) final;
</span><del>-    void previewConverterDidReceiveData(PreviewConverter&, const SharedBuffer&) final;
</del><ins>+    void previewConverterDidReceiveData(PreviewConverter&, const FragmentedSharedBuffer&) final;
</ins><span class="cx">     void previewConverterDidFinishConverting(PreviewConverter&) final;
</span><span class="cx">     void previewConverterDidFailConverting(PreviewConverter&) final;
</span><span class="cx"> 
</span><span class="cx">     // PreviewConverterProvider
</span><del>-    void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(const SharedBuffer*)>&&) final;
</del><ins>+    void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(const FragmentedSharedBuffer*)>&&) final;
</ins><span class="cx">     void providePasswordForPreviewConverter(PreviewConverter&, CompletionHandler<void(const String&)>&&) final;
</span><span class="cx"> 
</span><span class="cx">     RefPtr<PreviewConverter> m_converter;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderiosLegacyPreviewLoadermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.mm   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/loader/ios/LegacyPreviewLoader.mm      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     return emptyClient();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool LegacyPreviewLoader::didReceiveBuffer(const SharedBuffer& buffer)
</del><ins>+bool LegacyPreviewLoader::didReceiveBuffer(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (m_finishedLoadingDataIntoConverter)
</span><span class="cx">         return false;
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void LegacyPreviewLoader::previewConverterDidReceiveData(PreviewConverter&, const SharedBuffer& data)
</del><ins>+void LegacyPreviewLoader::previewConverterDidReceiveData(PreviewConverter&, const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     auto resourceLoader = m_resourceLoader.get();
</span><span class="cx">     if (!resourceLoader)
</span><span class="lines">@@ -224,7 +224,7 @@
</span><span class="cx">     m_client->didRequestPassword(WTFMove(completionHandler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void LegacyPreviewLoader::provideMainResourceForPreviewConverter(PreviewConverter& converter, CompletionHandler<void(const SharedBuffer*)>&& completionHandler)
</del><ins>+void LegacyPreviewLoader::provideMainResourceForPreviewConverter(PreviewConverter& converter, CompletionHandler<void(const FragmentedSharedBuffer*)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_UNUSED(converter, &converter == m_converter);
</span><span class="cx">     completionHandler(m_originalData.get().get());
</span><span class="lines">@@ -235,7 +235,7 @@
</span><span class="cx"> LegacyPreviewLoader::LegacyPreviewLoader(ResourceLoader& loader, const ResourceResponse& response)
</span><span class="cx">     : m_converter { PreviewConverter::create(response, *this) }
</span><span class="cx">     , m_client { makeClient(loader, m_converter->previewFileName(), m_converter->previewUTI()) }
</span><del>-    , m_originalData { SharedBuffer::create() }
</del><ins>+    , m_originalData { FragmentedSharedBuffer::create() }
</ins><span class="cx">     , m_resourceLoader { loader }
</span><span class="cx">     , m_shouldDecidePolicyBeforeLoading { loader.frame()->settings().shouldDecidePolicyBeforeLoadingQuickLookPreview() }
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorepageEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EditorClient.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EditorClient.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/EditorClient.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,13 +39,13 @@
</span><span class="cx"> enum class DOMPasteAccessCategory : uint8_t;
</span><span class="cx"> enum class DOMPasteAccessResponse : uint8_t;
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class DocumentFragment;
</span><span class="cx"> class Element;
</span><span class="cx"> class Frame;
</span><span class="cx"> class KeyboardEvent;
</span><span class="cx"> class Node;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class StyleProperties;
</span><span class="cx"> class TextCheckerClient;
</span><span class="cx"> class VisibleSelection;
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">     virtual bool shouldMoveRangeAfterDelete(const SimpleRange&, const SimpleRange&) = 0;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ATTACHMENT_ELEMENT)
</span><del>-    virtual void registerAttachmentIdentifier(const String& /* identifier */, const String& /* contentType */, const String& /* preferredFileName */, Ref<SharedBuffer>&&) { }
</del><ins>+    virtual void registerAttachmentIdentifier(const String& /* identifier */, const String& /* contentType */, const String& /* preferredFileName */, Ref<FragmentedSharedBuffer>&&) { }
</ins><span class="cx">     virtual void registerAttachmentIdentifier(const String& /* identifier */, const String& /* contentType */, const String& /* filePath */) { }
</span><span class="cx">     virtual void registerAttachments(Vector<SerializedAttachmentData>&&) { }
</span><span class="cx">     virtual void registerAttachmentIdentifier(const String& /* identifier */) { }
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     virtual void didEndEditing() = 0;
</span><span class="cx">     virtual void willWriteSelectionToPasteboard(const std::optional<SimpleRange>&) = 0;
</span><span class="cx">     virtual void didWriteSelectionToPasteboard() = 0;
</span><del>-    virtual void getClientPasteboardData(const std::optional<SimpleRange>&, Vector<String>& pasteboardTypes, Vector<RefPtr<ContiguousSharedBuffer>>& pasteboardData) = 0;
</del><ins>+    virtual void getClientPasteboardData(const std::optional<SimpleRange>&, Vector<String>& pasteboardTypes, Vector<RefPtr<SharedBuffer>>& pasteboardData) = 0;
</ins><span class="cx">     virtual void requestCandidatesForSelection(const VisibleSelection&) { }
</span><span class="cx">     virtual void handleAcceptedCandidateWithSoftSpaces(TextCheckingResult) { }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/Page.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1973,7 +1973,7 @@
</span><span class="cx">     // and what should happen when it finishes loading, especially with respect
</span><span class="cx">     // to when the load event fires, when Document::close is called, and when
</span><span class="cx">     // layout/paint are allowed to happen.
</span><del>-    auto data = ContiguousSharedBuffer::createWithContentsOfFile(m_userStyleSheetPath);
</del><ins>+    auto data = SharedBuffer::createWithContentsOfFile(m_userStyleSheetPath);
</ins><span class="cx">     if (!data)
</span><span class="cx">         return m_userStyleSheet;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageSerializercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageSerializer.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageSerializer.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/PageSerializer.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     String text = accumulator.serializeNodes(*document->documentElement(), SerializedNodes::SubtreeIncludingNode);
</span><del>-    m_resources.append({ url, document->suggestedMIMEType(), ContiguousSharedBuffer::create(textEncoding.encode(text, PAL::UnencodableHandling::Entities)) });
</del><ins>+    m_resources.append({ url, document->suggestedMIMEType(), SharedBuffer::create(textEncoding.encode(text, PAL::UnencodableHandling::Entities)) });
</ins><span class="cx">     m_resourceURLs.add(url);
</span><span class="cx"> 
</span><span class="cx">     for (auto& node : nodes) {
</span><span class="lines">@@ -260,7 +260,7 @@
</span><span class="cx">         // FIXME: We should check whether a charset has been specified and if none was found add one.
</span><span class="cx">         PAL::TextEncoding textEncoding(styleSheet->contents().charset());
</span><span class="cx">         ASSERT(textEncoding.isValid());
</span><del>-        m_resources.append({ url, "text/css"_s, ContiguousSharedBuffer::create(textEncoding.encode(cssText.toString(), PAL::UnencodableHandling::Entities)) });
</del><ins>+        m_resources.append({ url, "text/css"_s, SharedBuffer::create(textEncoding.encode(cssText.toString(), PAL::UnencodableHandling::Entities)) });
</ins><span class="cx">         m_resourceURLs.add(url);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -273,7 +273,7 @@
</span><span class="cx">     if (!image || image->image() == &Image::nullImage())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> data = imageRenderer ? image->imageForRenderer(imageRenderer)->data() : 0;
</del><ins>+    RefPtr<FragmentedSharedBuffer> data = imageRenderer ? image->imageForRenderer(imageRenderer)->data() : 0;
</ins><span class="cx">     if (!data)
</span><span class="cx">         data = image->image()->data();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageSerializerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageSerializer.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageSerializer.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/PageSerializer.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     struct Resource {
</span><span class="cx">         URL url;
</span><span class="cx">         String mimeType;
</span><del>-        RefPtr<ContiguousSharedBuffer> data;
</del><ins>+        RefPtr<SharedBuffer> data;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     explicit PageSerializer(Vector<Resource>&);
</span></span></pre></div>
<a id="trunkSourceWebCorepageShareDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ShareData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ShareData.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/ShareData.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct RawFile {
</span><span class="cx">     String fileName;
</span><del>-    RefPtr<ContiguousSharedBuffer> fileData;
</del><ins>+    RefPtr<SharedBuffer> fileData;
</ins><span class="cx"> };
</span><span class="cx">     
</span><span class="cx"> struct ShareDataWithParsedURL {
</span></span></pre></div>
<a id="trunkSourceWebCorepageShareDataReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ShareDataReader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ShareDataReader.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/page/ShareDataReader.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx">     RawFile file;
</span><span class="cx">     file.fileName = fileName;
</span><del>-    file.fileData = ContiguousSharedBuffer::create(static_cast<const unsigned char*>(arrayBuffer->data()), arrayBuffer->byteLength());
</del><ins>+    file.fileData = SharedBuffer::create(static_cast<const unsigned char*>(arrayBuffer->data()), arrayBuffer->byteLength());
</ins><span class="cx">     m_shareData.files.append(WTFMove(file));
</span><span class="cx">     m_filesReadSoFar++;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformKeyedCodingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/KeyedCoding.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/KeyedCoding.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/KeyedCoding.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class KeyedDecoder {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">     virtual void encodeDouble(const String& key, double) = 0;
</span><span class="cx">     virtual void encodeString(const String& key, const String&) = 0;
</span><span class="cx"> 
</span><del>-    virtual RefPtr<ContiguousSharedBuffer> finishEncoding() = 0;
</del><ins>+    virtual RefPtr<SharedBuffer> finishEncoding() = 0;
</ins><span class="cx"> 
</span><span class="cx">     template<typename T>
</span><span class="cx">     void encodeEnum(const String& key, T value)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformNowPlayingManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/NowPlayingManager.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/NowPlayingManager.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/NowPlayingManager.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">     std::optional<NowPlayingInfo> m_nowPlayingInfo;
</span><span class="cx">     struct ArtworkCache {
</span><span class="cx">         String src;
</span><del>-        RefPtr<SharedBuffer> imageData;
</del><ins>+        RefPtr<FragmentedSharedBuffer> imageData;
</ins><span class="cx">     };
</span><span class="cx">     std::optional<ArtworkCache> m_nowPlayingInfoArtwork;
</span><span class="cx">     bool m_setAsNowPlayingApplication { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Pasteboard.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Pasteboard.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/Pasteboard.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebCore::ContiguousSharedBuffer> Pasteboard::readBuffer(std::optional<size_t> index, const String& type)
</del><ins>+RefPtr<WebCore::SharedBuffer> Pasteboard::readBuffer(std::optional<size_t> index, const String& type)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* strategy = platformStrategies()->pasteboardStrategy())
</span><span class="cx">         return strategy->readBufferFromPasteboard(index, type, name(), context());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Pasteboard.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Pasteboard.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/Pasteboard.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -61,13 +61,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class DocumentFragment;
</span><span class="cx"> class DragData;
</span><span class="cx"> class Element;
</span><span class="cx"> class Frame;
</span><span class="cx"> class PasteboardStrategy;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct SimpleRange;
</span><span class="cx"> 
</span><span class="lines">@@ -83,14 +83,14 @@
</span><span class="cx">     WEBCORE_EXPORT ~PasteboardWebContent();
</span><span class="cx">     String contentOrigin;
</span><span class="cx">     bool canSmartCopyOrDelete;
</span><del>-    RefPtr<ContiguousSharedBuffer> dataInWebArchiveFormat;
-    RefPtr<ContiguousSharedBuffer> dataInRTFDFormat;
-    RefPtr<ContiguousSharedBuffer> dataInRTFFormat;
-    RefPtr<ContiguousSharedBuffer> dataInAttributedStringFormat;
</del><ins>+    RefPtr<SharedBuffer> dataInWebArchiveFormat;
+    RefPtr<SharedBuffer> dataInRTFDFormat;
+    RefPtr<SharedBuffer> dataInRTFFormat;
+    RefPtr<SharedBuffer> dataInAttributedStringFormat;
</ins><span class="cx">     String dataInHTMLFormat;
</span><span class="cx">     String dataInStringFormat;
</span><span class="cx">     Vector<String> clientTypes;
</span><del>-    Vector<RefPtr<ContiguousSharedBuffer>> clientData;
</del><ins>+    Vector<RefPtr<SharedBuffer>> clientData;
</ins><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="cx">     String contentOrigin;
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">     WEBCORE_EXPORT ~PasteboardImage();
</span><span class="cx">     RefPtr<Image> image;
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>-    RefPtr<ContiguousSharedBuffer> dataInWebArchiveFormat;
</del><ins>+    RefPtr<SharedBuffer> dataInWebArchiveFormat;
</ins><span class="cx">     String dataInHTMLFormat;
</span><span class="cx"> #endif
</span><span class="cx"> #if !PLATFORM(WIN)
</span><span class="lines">@@ -127,10 +127,10 @@
</span><span class="cx">     PasteboardURL url;
</span><span class="cx"> #endif
</span><span class="cx"> #if !(PLATFORM(GTK) || PLATFORM(WIN))
</span><del>-    RefPtr<ContiguousSharedBuffer> resourceData;
</del><ins>+    RefPtr<SharedBuffer> resourceData;
</ins><span class="cx">     String resourceMIMEType;
</span><span class="cx">     Vector<String> clientTypes;
</span><del>-    Vector<RefPtr<ContiguousSharedBuffer>> clientData;
</del><ins>+    Vector<RefPtr<SharedBuffer>> clientData;
</ins><span class="cx"> #endif
</span><span class="cx">     String suggestedName;
</span><span class="cx">     FloatSize imageSize;
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     String contentOrigin;
</span><span class="cx"> #endif
</span><span class="cx">     String type;
</span><del>-    RefPtr<ContiguousSharedBuffer> data;
</del><ins>+    RefPtr<SharedBuffer> data;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // For reading from the pasteboard.
</span><span class="lines">@@ -159,16 +159,16 @@
</span><span class="cx">     virtual bool readFilePath(const String&, PresentationSize preferredPresentationSize = { }, const String& contentType = { }) = 0;
</span><span class="cx">     virtual bool readFilePaths(const Vector<String>&) = 0;
</span><span class="cx">     virtual bool readHTML(const String&) = 0;
</span><del>-    virtual bool readImage(Ref<SharedBuffer>&&, const String& type, PresentationSize preferredPresentationSize = { }) = 0;
</del><ins>+    virtual bool readImage(Ref<FragmentedSharedBuffer>&&, const String& type, PresentationSize preferredPresentationSize = { }) = 0;
</ins><span class="cx">     virtual bool readURL(const URL&, const String& title) = 0;
</span><span class="cx">     virtual bool readPlainText(const String&) = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    virtual bool readWebArchive(ContiguousSharedBuffer&) = 0;
-    virtual bool readRTFD(ContiguousSharedBuffer&) = 0;
-    virtual bool readRTF(ContiguousSharedBuffer&) = 0;
-    virtual bool readDataBuffer(ContiguousSharedBuffer&, const String& type, const String& name, PresentationSize preferredPresentationSize = { }) = 0;
</del><ins>+    virtual bool readWebArchive(SharedBuffer&) = 0;
+    virtual bool readRTFD(SharedBuffer&) = 0;
+    virtual bool readRTF(SharedBuffer&) = 0;
+    virtual bool readDataBuffer(SharedBuffer&, const String& type, const String& name, PresentationSize preferredPresentationSize = { }) = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">     virtual ~PasteboardFileReader() = default;
</span><span class="cx">     virtual void readFilename(const String&) = 0;
</span><span class="cx">     virtual bool shouldReadBuffer(const String& /* type */) const { return true; }
</span><del>-    virtual void readBuffer(const String& filename, const String& type, Ref<ContiguousSharedBuffer>&&) = 0;
</del><ins>+    virtual void readBuffer(const String& filename, const String& type, Ref<SharedBuffer>&&) = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class Pasteboard {
</span><span class="lines">@@ -309,7 +309,7 @@
</span><span class="cx">     std::optional<PasteboardItemInfo> pasteboardItemInfo(size_t index) const;
</span><span class="cx"> 
</span><span class="cx">     String readString(size_t index, const String& type);
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> readBuffer(std::optional<size_t> index, const String& type);
</del><ins>+    RefPtr<WebCore::SharedBuffer> readBuffer(std::optional<size_t> index, const String& type);
</ins><span class="cx">     URL readURL(size_t index, String& title);
</span><span class="cx"> 
</span><span class="cx">     const PasteboardContext* context() const { return m_context.get(); }
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx">     static void addHTMLClipboardTypesForCocoaType(ListHashSet<String>& resultTypes, const String& cocoaType);
</span><span class="cx">     String readStringForPlatformType(const String&);
</span><span class="cx">     Vector<String> readTypesWithSecurityCheck();
</span><del>-    RefPtr<ContiguousSharedBuffer> readBufferForTypeWithSecurityCheck(const String&);
</del><ins>+    RefPtr<SharedBuffer> readBufferForTypeWithSecurityCheck(const String&);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr<PasteboardContext> m_context;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardCustomDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PasteboardCustomData.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PasteboardCustomData.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PasteboardCustomData.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,13 +33,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static std::variant<String, Ref<ContiguousSharedBuffer>> copyPlatformData(const std::variant<String, Ref<ContiguousSharedBuffer>>& other)
</del><ins>+static std::variant<String, Ref<SharedBuffer>> copyPlatformData(const std::variant<String, Ref<SharedBuffer>>& other)
</ins><span class="cx"> {
</span><span class="cx">     if (std::holds_alternative<String>(other))
</span><span class="cx">         return { std::get<String>(other) };
</span><span class="cx"> 
</span><del>-    if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(other))
-        return { std::get<Ref<ContiguousSharedBuffer>>(other).copyRef() };
</del><ins>+    if (std::holds_alternative<Ref<SharedBuffer>>(other))
+        return { std::get<Ref<SharedBuffer>>(other).copyRef() };
</ins><span class="cx"> 
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> PasteboardCustomData::createSharedBuffer() const
</del><ins>+Ref<SharedBuffer> PasteboardCustomData::createSharedBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     constexpr unsigned currentCustomDataSerializationVersion = 1;
</span><span class="cx"> 
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     encoder << m_origin;
</span><span class="cx">     encoder << sameOriginCustomStringData();
</span><span class="cx">     encoder << orderedTypes();
</span><del>-    return ContiguousSharedBuffer::create(encoder.buffer(), encoder.bufferSize());
</del><ins>+    return SharedBuffer::create(encoder.buffer(), encoder.bufferSize());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PasteboardCustomData PasteboardCustomData::fromPersistenceDecoder(WTF::Persistence::Decoder&& decoder)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PasteboardCustomData PasteboardCustomData::fromSharedBuffer(const ContiguousSharedBuffer& buffer)
</del><ins>+PasteboardCustomData PasteboardCustomData::fromSharedBuffer(const SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     return fromPersistenceDecoder(buffer.decoder());
</span><span class="cx"> }
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     addOrMoveEntryToEnd(type).platformData = { value };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PasteboardCustomData::writeData(const String& type, Ref<ContiguousSharedBuffer>&& data)
</del><ins>+void PasteboardCustomData::writeData(const String& type, Ref<SharedBuffer>&& data)
</ins><span class="cx"> {
</span><span class="cx">     addOrMoveEntryToEnd(type).platformData = { WTFMove(data) };
</span><span class="cx"> }
</span><span class="lines">@@ -202,14 +202,14 @@
</span><span class="cx">     return customData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> PasteboardCustomData::readBuffer(const String& type) const
</del><ins>+RefPtr<SharedBuffer> PasteboardCustomData::readBuffer(const String& type) const
</ins><span class="cx"> {
</span><span class="cx">     for (auto& entry : m_data) {
</span><span class="cx">         if (entry.type != type)
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(entry.platformData))
-            return std::get<Ref<ContiguousSharedBuffer>>(entry.platformData).copyRef();
</del><ins>+        if (std::holds_alternative<Ref<SharedBuffer>>(entry.platformData))
+            return std::get<Ref<SharedBuffer>>(entry.platformData).copyRef();
</ins><span class="cx"> 
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="lines">@@ -265,11 +265,11 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PasteboardCustomData::forEachPlatformStringOrBuffer(Function<void(const String& type, const std::variant<String, Ref<ContiguousSharedBuffer>>& data)>&& function) const
</del><ins>+void PasteboardCustomData::forEachPlatformStringOrBuffer(Function<void(const String& type, const std::variant<String, Ref<SharedBuffer>>& data)>&& function) const
</ins><span class="cx"> {
</span><span class="cx">     for (auto& entry : m_data) {
</span><span class="cx">         auto& data = entry.platformData;
</span><del>-        if ((std::holds_alternative<String>(data) && !std::get<String>(data).isNull()) || std::holds_alternative<Ref<ContiguousSharedBuffer>>(data))
</del><ins>+        if ((std::holds_alternative<String>(data) && !std::get<String>(data).isNull()) || std::holds_alternative<Ref<SharedBuffer>>(data))
</ins><span class="cx">             function(entry.type, data);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardCustomDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PasteboardCustomData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PasteboardCustomData.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PasteboardCustomData.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class PasteboardCustomData {
</span><span class="cx"> public:
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx">         String type;
</span><span class="cx">         String customData;
</span><del>-        std::variant<String, Ref<ContiguousSharedBuffer>> platformData;
</del><ins>+        std::variant<String, Ref<SharedBuffer>> platformData;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT PasteboardCustomData();
</span><span class="lines">@@ -60,16 +60,16 @@
</span><span class="cx">     const String& origin() const { return m_origin; }
</span><span class="cx">     void setOrigin(const String& origin) { m_origin = origin; }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> createSharedBuffer() const;
-    WEBCORE_EXPORT static PasteboardCustomData fromSharedBuffer(const ContiguousSharedBuffer&);
</del><ins>+    WEBCORE_EXPORT Ref<SharedBuffer> createSharedBuffer() const;
+    WEBCORE_EXPORT static PasteboardCustomData fromSharedBuffer(const SharedBuffer&);
</ins><span class="cx">     WEBCORE_EXPORT static PasteboardCustomData fromPersistenceDecoder(WTF::Persistence::Decoder&&);
</span><span class="cx"> 
</span><span class="cx">     String readString(const String& type) const;
</span><del>-    RefPtr<ContiguousSharedBuffer> readBuffer(const String& type) const;
</del><ins>+    RefPtr<SharedBuffer> readBuffer(const String& type) const;
</ins><span class="cx">     String readStringInCustomData(const String& type) const;
</span><span class="cx"> 
</span><span class="cx">     void writeString(const String& type, const String& value);
</span><del>-    void writeData(const String& type, Ref<ContiguousSharedBuffer>&& data);
</del><ins>+    void writeData(const String& type, Ref<SharedBuffer>&& data);
</ins><span class="cx">     void writeStringInCustomData(const String& type, const String& value);
</span><span class="cx"> 
</span><span class="cx">     void clear();
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> 
</span><span class="cx">     void forEachType(Function<void(const String&)>&&) const;
</span><span class="cx">     void forEachPlatformString(Function<void(const String& type, const String& data)>&&) const;
</span><del>-    void forEachPlatformStringOrBuffer(Function<void(const String& type, const std::variant<String, Ref<ContiguousSharedBuffer>>& data)>&&) const;
</del><ins>+    void forEachPlatformStringOrBuffer(Function<void(const String& type, const std::variant<String, Ref<SharedBuffer>>& data)>&&) const;
</ins><span class="cx">     void forEachCustomString(Function<void(const String& type, const String& data)>&&) const;
</span><span class="cx"> 
</span><span class="cx">     bool hasData() const;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PasteboardStrategy.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PasteboardStrategy.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PasteboardStrategy.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -31,11 +31,11 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Color;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class PasteboardContext;
</span><span class="cx"> class PasteboardCustomData;
</span><span class="cx"> class SelectionData;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> struct PasteboardImage;
</span><span class="cx"> struct PasteboardItemInfo;
</span><span class="cx"> struct PasteboardURL;
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> #endif // PLATFORM(IOS_FAMILY)
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     virtual void getTypes(Vector<String>& types, const String& pasteboardName, const PasteboardContext*) = 0;
</span><del>-    virtual RefPtr<ContiguousSharedBuffer> bufferForType(const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</del><ins>+    virtual RefPtr<SharedBuffer> bufferForType(const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</ins><span class="cx">     virtual void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="cx">     virtual String stringForType(const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="cx">     virtual Vector<String> allStringsForType(const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual int64_t addTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="cx">     virtual int64_t setTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName, const PasteboardContext*) = 0;
</span><del>-    virtual int64_t setBufferForType(ContiguousSharedBuffer*, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</del><ins>+    virtual int64_t setBufferForType(SharedBuffer*, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</ins><span class="cx">     virtual int64_t setURL(const PasteboardURL&, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="cx">     virtual int64_t setColor(const Color&, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="cx">     virtual int64_t setStringForType(const String&, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     virtual String urlStringSuitableForLoading(const String& pasteboardName, String& title, const PasteboardContext*) = 0;
</span><span class="cx"> #endif
</span><span class="cx">     virtual String readStringFromPasteboard(size_t index, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</span><del>-    virtual RefPtr<ContiguousSharedBuffer> readBufferFromPasteboard(std::optional<size_t> index, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</del><ins>+    virtual RefPtr<SharedBuffer> readBufferFromPasteboard(std::optional<size_t> index, const String& pasteboardType, const String& pasteboardName, const PasteboardContext*) = 0;
</ins><span class="cx">     virtual URL readURLFromPasteboard(size_t index, const String& pasteboardName, String& title, const PasteboardContext*) = 0;
</span><span class="cx">     virtual std::optional<PasteboardItemInfo> informationForItemAtIndex(size_t index, const String& pasteboardName, int64_t changeCount, const PasteboardContext*) = 0;
</span><span class="cx">     virtual std::optional<Vector<PasteboardItemInfo>> allPasteboardItemInfo(const String& pasteboardName, int64_t changeCount, const PasteboardContext*) = 0;
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     virtual Vector<String> types(const String& pasteboardName) = 0;
</span><span class="cx">     virtual String readTextFromClipboard(const String& pasteboardName) = 0;
</span><span class="cx">     virtual Vector<String> readFilePathsFromClipboard(const String& pasteboardName) = 0;
</span><del>-    virtual RefPtr<ContiguousSharedBuffer> readBufferFromClipboard(const String& pasteboardName, const String& pasteboardType) = 0;
</del><ins>+    virtual RefPtr<SharedBuffer> readBufferFromClipboard(const String& pasteboardName, const String& pasteboardType) = 0;
</ins><span class="cx">     virtual void writeToClipboard(const String& pasteboardName, SelectionData&&) = 0;
</span><span class="cx">     virtual void clearClipboard(const String& pasteboardName) = 0;
</span><span class="cx"> #endif // PLATFORM(GTK)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPasteboardWriterDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PasteboardWriterData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PasteboardWriterData.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PasteboardWriterData.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class PasteboardWriterData final {
</span><span class="cx"> public:
</span><span class="lines">@@ -51,14 +51,14 @@
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">         String contentOrigin;
</span><span class="cx">         bool canSmartCopyOrDelete;
</span><del>-        RefPtr<ContiguousSharedBuffer> dataInWebArchiveFormat;
-        RefPtr<ContiguousSharedBuffer> dataInRTFDFormat;
-        RefPtr<ContiguousSharedBuffer> dataInRTFFormat;
-        RefPtr<ContiguousSharedBuffer> dataInAttributedStringFormat;
</del><ins>+        RefPtr<SharedBuffer> dataInWebArchiveFormat;
+        RefPtr<SharedBuffer> dataInRTFDFormat;
+        RefPtr<SharedBuffer> dataInRTFFormat;
+        RefPtr<SharedBuffer> dataInAttributedStringFormat;
</ins><span class="cx">         String dataInHTMLFormat;
</span><span class="cx">         String dataInStringFormat;
</span><span class="cx">         Vector<String> clientTypes;
</span><del>-        Vector<RefPtr<ContiguousSharedBuffer>> clientData;
</del><ins>+        Vector<RefPtr<SharedBuffer>> clientData;
</ins><span class="cx"> #endif
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformContentFilterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformContentFilter.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformContentFilter.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PlatformContentFilter.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> class ContentFilterUnblockHandler;
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class PlatformContentFilter {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     virtual void responseReceived(const ResourceResponse&) = 0;
</span><span class="cx">     virtual void addData(const uint8_t* data, int length) = 0;
</span><span class="cx">     virtual void finishedAddingData() = 0;
</span><del>-    virtual Ref<SharedBuffer> replacementData() const = 0;
</del><ins>+    virtual Ref<FragmentedSharedBuffer> replacementData() const = 0;
</ins><span class="cx"> #if ENABLE(CONTENT_FILTERING)
</span><span class="cx">     virtual ContentFilterUnblockHandler unblockHandler() const = 0;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPlatformPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PlatformPasteboard.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PlatformPasteboard.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PlatformPasteboard.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Color;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class PasteboardCustomData;
</span><span class="cx"> class SelectionData;
</span><span class="cx"> struct PasteboardImage;
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> struct PasteboardItemInfo;
</span><span class="cx"> struct PasteboardURL;
</span><span class="cx"> struct PasteboardWebContent;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class PlatformPasteboard {
</span><span class="cx"> public:
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     static String platformPasteboardTypeForSafeTypeForDOMToReadAndWrite(const String& domType, IncludeImageTypes = IncludeImageTypes::No);
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void getTypes(Vector<String>& types) const;
</span><del>-    WEBCORE_EXPORT RefPtr<ContiguousSharedBuffer> bufferForType(const String& pasteboardType) const;
</del><ins>+    WEBCORE_EXPORT RefPtr<SharedBuffer> bufferForType(const String& pasteboardType) const;
</ins><span class="cx">     WEBCORE_EXPORT void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType) const;
</span><span class="cx">     WEBCORE_EXPORT String stringForType(const String& pasteboardType) const;
</span><span class="cx">     WEBCORE_EXPORT Vector<String> allStringsForType(const String& pasteboardType) const;
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx">     // These methods will return 0 if pasteboard ownership has been taken from us.
</span><span class="cx">     WEBCORE_EXPORT int64_t copy(const String& fromPasteboard);
</span><del>-    WEBCORE_EXPORT int64_t setBufferForType(ContiguousSharedBuffer*, const String& pasteboardType);
</del><ins>+    WEBCORE_EXPORT int64_t setBufferForType(SharedBuffer*, const String& pasteboardType);
</ins><span class="cx">     WEBCORE_EXPORT int64_t setURL(const PasteboardURL&);
</span><span class="cx">     WEBCORE_EXPORT int64_t setColor(const Color&);
</span><span class="cx">     WEBCORE_EXPORT int64_t setStringForType(const String&, const String& pasteboardType);
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     WEBCORE_EXPORT void write(const PasteboardImage&);
</span><span class="cx">     WEBCORE_EXPORT void write(const String& pasteboardType, const String&);
</span><span class="cx">     WEBCORE_EXPORT void write(const PasteboardURL&);
</span><del>-    WEBCORE_EXPORT RefPtr<ContiguousSharedBuffer> readBuffer(std::optional<size_t> index, const String& pasteboardType) const;
</del><ins>+    WEBCORE_EXPORT RefPtr<SharedBuffer> readBuffer(std::optional<size_t> index, const String& pasteboardType) const;
</ins><span class="cx">     WEBCORE_EXPORT String readString(size_t index, const String& pasteboardType) const;
</span><span class="cx">     WEBCORE_EXPORT URL readURL(size_t index, String& title) const;
</span><span class="cx">     WEBCORE_EXPORT int count() const;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPreviewConvertercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PreviewConverter.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PreviewConverter.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PreviewConverter.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     return m_previewError;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const SharedBuffer& PreviewConverter::previewData() const
</del><ins>+const FragmentedSharedBuffer& PreviewConverter::previewData() const
</ins><span class="cx"> {
</span><span class="cx">     return *m_previewData.get();
</span><span class="cx"> }
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PreviewConverter::appendFromBuffer(const SharedBuffer& buffer)
</del><ins>+void PreviewConverter::appendFromBuffer(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     while (buffer.size() > m_lengthAppended) {
</span><span class="cx">         auto newData = buffer.getSomeData(m_lengthAppended);
</span><span class="lines">@@ -238,7 +238,7 @@
</span><span class="cx">     client.previewConverterDidFinishConverting(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PreviewConverter::delegateDidReceiveData(const SharedBuffer& data)
</del><ins>+void PreviewConverter::delegateDidReceiveData(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     auto protectedThis { Ref { *this } };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPreviewConverterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PreviewConverter.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PreviewConverter.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PreviewConverter.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> struct PreviewPlatformDelegate : CanMakeWeakPtr<PreviewPlatformDelegate> {
</span><span class="cx">     virtual ~PreviewPlatformDelegate() = default;
</span><span class="cx"> 
</span><del>-    virtual void delegateDidReceiveData(const SharedBuffer&) = 0;
</del><ins>+    virtual void delegateDidReceiveData(const FragmentedSharedBuffer&) = 0;
</ins><span class="cx">     virtual void delegateDidFinishLoading() = 0;
</span><span class="cx">     virtual void delegateDidFailWithError(const ResourceError&) = 0;
</span><span class="cx"> };
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     WEBCORE_EXPORT String previewFileName() const;
</span><span class="cx">     WEBCORE_EXPORT String previewUTI() const;
</span><span class="cx">     const ResourceError& previewError() const;
</span><del>-    const SharedBuffer& previewData() const;
</del><ins>+    const FragmentedSharedBuffer& previewData() const;
</ins><span class="cx"> 
</span><span class="cx">     void failedUpdating();
</span><span class="cx">     void finishUpdating();
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     bool isPlatformPasswordError(const ResourceError&) const;
</span><span class="cx"> 
</span><span class="cx">     template<typename T> void iterateClients(T&& callback);
</span><del>-    void appendFromBuffer(const SharedBuffer&);
</del><ins>+    void appendFromBuffer(const FragmentedSharedBuffer&);
</ins><span class="cx">     void didAddClient(PreviewConverterClient&);
</span><span class="cx">     void didFailConvertingWithError(const ResourceError&);
</span><span class="cx">     void didFailUpdating();
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     void platformUnlockWithPassword(const String&);
</span><span class="cx"> 
</span><span class="cx">     // PreviewPlatformDelegate
</span><del>-    void delegateDidReceiveData(const SharedBuffer&) final;
</del><ins>+    void delegateDidReceiveData(const FragmentedSharedBuffer&) final;
</ins><span class="cx">     void delegateDidFinishLoading() final;
</span><span class="cx">     void delegateDidFailWithError(const ResourceError&) final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPreviewConverterClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PreviewConverterClient.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PreviewConverterClient.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PreviewConverterClient.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> class PreviewConverter;
</span><span class="cx"> class ResourceError;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct PreviewConverterClient : CanMakeWeakPtr<PreviewConverterClient> {
</span><span class="cx">     virtual ~PreviewConverterClient() = default;
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     virtual void previewConverterDidFinishUpdating(PreviewConverter&) = 0;
</span><span class="cx">     virtual void previewConverterDidFailUpdating(PreviewConverter&) = 0;
</span><span class="cx">     virtual void previewConverterDidStartConverting(PreviewConverter&) = 0;
</span><del>-    virtual void previewConverterDidReceiveData(PreviewConverter&, const SharedBuffer& newData) = 0;
</del><ins>+    virtual void previewConverterDidReceiveData(PreviewConverter&, const FragmentedSharedBuffer& newData) = 0;
</ins><span class="cx">     virtual void previewConverterDidFinishConverting(PreviewConverter&) = 0;
</span><span class="cx">     virtual void previewConverterDidFailConverting(PreviewConverter&) = 0;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPreviewConverterProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PreviewConverterProvider.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PreviewConverterProvider.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PreviewConverterProvider.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> struct PreviewConverterProvider : CanMakeWeakPtr<PreviewConverterProvider> {
</span><span class="cx">     virtual ~PreviewConverterProvider() = default;
</span><span class="cx"> 
</span><del>-    virtual void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(const SharedBuffer*)>&&) = 0;
</del><ins>+    virtual void provideMainResourceForPreviewConverter(PreviewConverter&, CompletionHandler<void(const FragmentedSharedBuffer*)>&&) = 0;
</ins><span class="cx">     virtual void providePasswordForPreviewConverter(PreviewConverter&, CompletionHandler<void(const String&)>&&) = 0;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformPromisedAttachmentInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/PromisedAttachmentInfo.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/PromisedAttachmentInfo.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/PromisedAttachmentInfo.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct PromisedAttachmentInfo {
</span><span class="cx"> #if ENABLE(ATTACHMENT_ELEMENT)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     Vector<String> additionalTypes;
</span><del>-    Vector<RefPtr<ContiguousSharedBuffer>> additionalData;
</del><ins>+    Vector<RefPtr<SharedBuffer>> additionalData;
</ins><span class="cx"> 
</span><span class="cx">     operator bool() const
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformSharedBuffercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/SharedBuffer.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/SharedBuffer.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/SharedBuffer.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -37,62 +37,62 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create()
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer);
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(const uint8_t* data, size_t size)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(const uint8_t* data, size_t size)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(data, size));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(data, size));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(FileSystem::MappedFileData&& mappedFileData)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(FileSystem::MappedFileData&& mappedFileData)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(WTFMove(mappedFileData)));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(WTFMove(mappedFileData)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(Ref<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(WTFMove(buffer)));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(WTFMove(buffer)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(Vector<uint8_t>&& vector)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(Vector<uint8_t>&& vector)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(WTFMove(vector)));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(WTFMove(vector)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(DataSegment::Provider&& provider)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(DataSegment::Provider&& provider)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(WTFMove(provider)));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(WTFMove(provider)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer() = default;
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer() = default;
</ins><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(FileSystem::MappedFileData&& fileData)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(FileSystem::MappedFileData&& fileData)
</ins><span class="cx">     : m_size(fileData.size())
</span><span class="cx"> {
</span><span class="cx">     m_segments.append({ 0, DataSegment::create(WTFMove(fileData)) });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(DataSegment::Provider&& provider)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(DataSegment::Provider&& provider)
</ins><span class="cx">     : m_size(provider.size())
</span><span class="cx"> {
</span><span class="cx">     m_segments.append({ 0, DataSegment::create(WTFMove(provider)) });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(Ref<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     append(WTFMove(buffer));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-Ref<SharedBuffer> SharedBuffer::create(GstMappedOwnedBuffer& mappedBuffer)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(GstMappedOwnedBuffer& mappedBuffer)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(mappedBuffer));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(mappedBuffer));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(GstMappedOwnedBuffer& mappedBuffer)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(GstMappedOwnedBuffer& mappedBuffer)
</ins><span class="cx">     : m_size(mappedBuffer.size())
</span><span class="cx"> {
</span><span class="cx">     m_segments.append({ 0, DataSegment::create(&mappedBuffer) });
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static Vector<uint8_t> combineSegmentsData(const SharedBuffer::DataSegmentVector& segments, size_t size)
</del><ins>+static Vector<uint8_t> combineSegmentsData(const FragmentedSharedBuffer::DataSegmentVector& segments, size_t size)
</ins><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> combinedData;
</span><span class="cx">     combinedData.reserveInitialCapacity(size);
</span><span class="lines">@@ -109,19 +109,19 @@
</span><span class="cx">     return combinedData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedBuffer::makeContiguous() const
</del><ins>+Ref<SharedBuffer> FragmentedSharedBuffer::makeContiguous() const
</ins><span class="cx"> {
</span><span class="cx">     if (m_contiguous)
</span><del>-        return Ref { *static_cast<ContiguousSharedBuffer*>(const_cast<SharedBuffer*>(this)) };
</del><ins>+        return Ref { *static_cast<SharedBuffer*>(const_cast<FragmentedSharedBuffer*>(this)) };
</ins><span class="cx">     if (!m_segments.size())
</span><del>-        return ContiguousSharedBuffer::create();
</del><ins>+        return SharedBuffer::create();
</ins><span class="cx">     if (m_segments.size() == 1)
</span><del>-        return ContiguousSharedBuffer::create(m_segments[0].segment.copyRef());
</del><ins>+        return SharedBuffer::create(m_segments[0].segment.copyRef());
</ins><span class="cx">     auto combinedData = combineSegmentsData(m_segments, m_size);
</span><del>-    return ContiguousSharedBuffer::create(WTFMove(combinedData));
</del><ins>+    return SharedBuffer::create(WTFMove(combinedData));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Vector<uint8_t> SharedBuffer::copyData() const
</del><ins>+Vector<uint8_t> FragmentedSharedBuffer::copyData() const
</ins><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> data;
</span><span class="cx">     data.reserveInitialCapacity(size());
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     return data;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Vector<uint8_t> SharedBuffer::takeData()
</del><ins>+Vector<uint8_t> FragmentedSharedBuffer::takeData()
</ins><span class="cx"> {
</span><span class="cx">     if (m_segments.isEmpty())
</span><span class="cx">         return { };
</span><span class="lines">@@ -146,13 +146,13 @@
</span><span class="cx">     return combinedData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBufferDataView SharedBuffer::getSomeData(size_t position) const
</del><ins>+SharedBufferDataView FragmentedSharedBuffer::getSomeData(size_t position) const
</ins><span class="cx"> {
</span><span class="cx">     const DataSegmentVectorEntry* element = getSegmentForPosition(position);
</span><span class="cx">     return { element->segment.copyRef(), position - element->beginPosition };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const SharedBuffer::DataSegmentVectorEntry* SharedBuffer::getSegmentForPosition(size_t position) const
</del><ins>+const FragmentedSharedBuffer::DataSegmentVectorEntry* FragmentedSharedBuffer::getSegmentForPosition(size_t position) const
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(position < m_size);
</span><span class="cx">     auto comparator = [](const size_t& position, const DataSegmentVectorEntry& entry) {
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx">     return element;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String SharedBuffer::toHexString() const
</del><ins>+String FragmentedSharedBuffer::toHexString() const
</ins><span class="cx"> {
</span><span class="cx">     StringBuilder stringBuilder;
</span><span class="cx">     forEachSegment([&](auto& segment) {
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">     return stringBuilder.toString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ArrayBuffer> SharedBuffer::tryCreateArrayBuffer() const
</del><ins>+RefPtr<ArrayBuffer> FragmentedSharedBuffer::tryCreateArrayBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     auto arrayBuffer = ArrayBuffer::tryCreateUninitialized(static_cast<unsigned>(size()), 1);
</span><span class="cx">     if (!arrayBuffer) {
</span><span class="lines">@@ -192,7 +192,7 @@
</span><span class="cx">     return arrayBuffer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::append(const SharedBuffer& data)
</del><ins>+void FragmentedSharedBuffer::append(const FragmentedSharedBuffer& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_contiguous);
</span><span class="cx">     m_segments.reserveCapacity(m_segments.size() + data.m_segments.size());
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::append(const uint8_t* data, size_t length)
</del><ins>+void FragmentedSharedBuffer::append(const uint8_t* data, size_t length)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_contiguous);
</span><span class="cx">     Vector<uint8_t> vector;
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::append(Vector<uint8_t>&& data)
</del><ins>+void FragmentedSharedBuffer::append(Vector<uint8_t>&& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_contiguous);
</span><span class="cx">     auto dataSize = data.size();
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::clear()
</del><ins>+void FragmentedSharedBuffer::clear()
</ins><span class="cx"> {
</span><span class="cx">     m_size = 0;
</span><span class="cx">     m_segments.clear();
</span><span class="lines">@@ -229,9 +229,9 @@
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::copy() const
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::copy() const
</ins><span class="cx"> {
</span><del>-    Ref<SharedBuffer> clone = adoptRef(*new SharedBuffer);
</del><ins>+    Ref<FragmentedSharedBuffer> clone = adoptRef(*new FragmentedSharedBuffer);
</ins><span class="cx">     clone->m_size = m_size;
</span><span class="cx">     clone->m_segments.reserveInitialCapacity(m_segments.size());
</span><span class="cx">     for (const auto& element : m_segments)
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">     return clone;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::forEachSegment(const Function<void(const Span<const uint8_t>&)>& apply) const
</del><ins>+void FragmentedSharedBuffer::forEachSegment(const Function<void(const Span<const uint8_t>&)>& apply) const
</ins><span class="cx"> {
</span><span class="cx">     auto segments = m_segments;
</span><span class="cx">     for (auto& segment : segments)
</span><span class="lines">@@ -248,7 +248,7 @@
</span><span class="cx">         apply(Span { segment.segment->data(), segment.segment->size() });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool SharedBuffer::startsWith(const Span<const uint8_t>& prefix) const
</del><ins>+bool FragmentedSharedBuffer::startsWith(const Span<const uint8_t>& prefix) const
</ins><span class="cx"> {
</span><span class="cx">     if (prefix.empty())
</span><span class="cx">         return true;
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Vector<uint8_t> SharedBuffer::read(size_t offset, size_t length) const
</del><ins>+Vector<uint8_t> FragmentedSharedBuffer::read(size_t offset, size_t length) const
</ins><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> data;
</span><span class="cx">     if (offset >= size())
</span><span class="lines">@@ -297,12 +297,12 @@
</span><span class="cx">     return data;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::copyTo(void* destination, size_t length) const
</del><ins>+void FragmentedSharedBuffer::copyTo(void* destination, size_t length) const
</ins><span class="cx"> {
</span><span class="cx">     return copyTo(destination, 0, length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::copyTo(void* destination, size_t offset, size_t length) const
</del><ins>+void FragmentedSharedBuffer::copyTo(void* destination, size_t offset, size_t length) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(length + offset <= size());
</span><span class="cx">     if (offset >= size())
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ASSERT_ENABLED
</span><del>-bool SharedBuffer::internallyConsistent() const
</del><ins>+bool FragmentedSharedBuffer::internallyConsistent() const
</ins><span class="cx"> {
</span><span class="cx">     size_t position = 0;
</span><span class="cx">     for (const auto& element : m_segments) {
</span><span class="lines">@@ -354,12 +354,12 @@
</span><span class="cx"> #endif // ASSERT_ENABLED
</span><span class="cx"> 
</span><span class="cx"> #if !USE(CF)
</span><del>-void SharedBuffer::hintMemoryNotNeededSoon() const
</del><ins>+void FragmentedSharedBuffer::hintMemoryNotNeededSoon() const
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-bool SharedBuffer::operator==(const SharedBuffer& other) const
</del><ins>+bool FragmentedSharedBuffer::operator==(const FragmentedSharedBuffer& other) const
</ins><span class="cx"> {
</span><span class="cx">     if (this == &other)
</span><span class="cx">         return true;
</span><span class="lines">@@ -408,12 +408,12 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer::ContiguousSharedBuffer()
</del><ins>+SharedBuffer::SharedBuffer()
</ins><span class="cx"> {
</span><span class="cx">     m_contiguous = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer::ContiguousSharedBuffer(Ref<DataSegment>&& segment)
</del><ins>+SharedBuffer::SharedBuffer(Ref<DataSegment>&& segment)
</ins><span class="cx"> {
</span><span class="cx">     m_size = segment->size();
</span><span class="cx">     m_segments.append({ 0, WTFMove(segment) });
</span><span class="lines">@@ -420,7 +420,7 @@
</span><span class="cx">     m_contiguous = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer::ContiguousSharedBuffer(Ref<SharedBuffer>&& contiguousBuffer)
</del><ins>+SharedBuffer::SharedBuffer(Ref<FragmentedSharedBuffer>&& contiguousBuffer)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(contiguousBuffer->hasOneSegment() || contiguousBuffer->isEmpty());
</span><span class="cx">     m_size = contiguousBuffer->size();
</span><span class="lines">@@ -429,19 +429,19 @@
</span><span class="cx">     m_contiguous = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer::ContiguousSharedBuffer(FileSystem::MappedFileData&& data)
-    : SharedBuffer(WTFMove(data))
</del><ins>+SharedBuffer::SharedBuffer(FileSystem::MappedFileData&& data)
+    : FragmentedSharedBuffer(WTFMove(data))
</ins><span class="cx"> {
</span><span class="cx">     m_contiguous = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> ContiguousSharedBuffer::createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode mappedFileMode, MayUseFileMapping mayUseFileMapping)
</del><ins>+RefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode mappedFileMode, MayUseFileMapping mayUseFileMapping)
</ins><span class="cx"> {
</span><span class="cx">     if (mayUseFileMapping == MayUseFileMapping::Yes) {
</span><span class="cx">         bool mappingSuccess;
</span><span class="cx">         FileSystem::MappedFileData mappedFileData(filePath, mappedFileMode, mappingSuccess);
</span><span class="cx">         if (mappingSuccess)
</span><del>-            return adoptRef(new ContiguousSharedBuffer(WTFMove(mappedFileData)));
</del><ins>+            return adoptRef(new SharedBuffer(WTFMove(mappedFileData)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     auto buffer = FileSystem::readEntireFile(filePath);
</span><span class="lines">@@ -448,10 +448,10 @@
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return ContiguousSharedBuffer::create(WTFMove(*buffer));
</del><ins>+    return SharedBuffer::create(WTFMove(*buffer));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-const uint8_t* ContiguousSharedBuffer::data() const
</del><ins>+const uint8_t* SharedBuffer::data() const
</ins><span class="cx"> {
</span><span class="cx">     if (m_segments.isEmpty())
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -458,7 +458,7 @@
</span><span class="cx">     return m_segments[0].segment->data();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WTF::Persistence::Decoder ContiguousSharedBuffer::decoder() const
</del><ins>+WTF::Persistence::Decoder SharedBuffer::decoder() const
</ins><span class="cx"> {
</span><span class="cx">     return { { data(), size() } };
</span><span class="cx"> }
</span><span class="lines">@@ -543,7 +543,7 @@
</span><span class="cx">     return std::visit(visitor, m_immutableData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBufferBuilder::SharedBufferBuilder(RefPtr<SharedBuffer>&& buffer)
</del><ins>+SharedBufferBuilder::SharedBufferBuilder(RefPtr<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return;
</span><span class="lines">@@ -550,7 +550,7 @@
</span><span class="cx">     initialize(buffer.releaseNonNull());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBufferBuilder& SharedBufferBuilder::operator=(RefPtr<SharedBuffer>&& buffer)
</del><ins>+SharedBufferBuilder& SharedBufferBuilder::operator=(RefPtr<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!buffer) {
</span><span class="cx">         m_buffer = nullptr;
</span><span class="lines">@@ -561,7 +561,7 @@
</span><span class="cx">     return *this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBufferBuilder::initialize(Ref<SharedBuffer>&& buffer)
</del><ins>+void SharedBufferBuilder::initialize(Ref<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_buffer);
</span><span class="cx">     // We do not want to take a reference to the SharedBuffer as all SharedBuffer should be immutable
</span><span class="lines">@@ -573,13 +573,18 @@
</span><span class="cx">     append(buffer);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBufferBuilder::take()
</del><ins>+RefPtr<ArrayBuffer> SharedBufferBuilder::tryCreateArrayBuffer() const
</ins><span class="cx"> {
</span><del>-    return m_buffer ? m_buffer.releaseNonNull() : SharedBuffer::create();
</del><ins>+    return m_buffer ? m_buffer->tryCreateArrayBuffer() : ArrayBuffer::tryCreate(nullptr, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedBufferBuilder::takeAsContiguous()
</del><ins>+Ref<FragmentedSharedBuffer> SharedBufferBuilder::take()
</ins><span class="cx"> {
</span><ins>+    return m_buffer ? m_buffer.releaseNonNull() : FragmentedSharedBuffer::create();
+}
+
+Ref<SharedBuffer> SharedBufferBuilder::takeAsContiguous()
+{
</ins><span class="cx">     return take()->makeContiguous();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -593,7 +598,7 @@
</span><span class="cx"> void SharedBufferBuilder::ensureBuffer()
</span><span class="cx"> {
</span><span class="cx">     if (!m_buffer)
</span><del>-        m_buffer = SharedBuffer::create();
</del><ins>+        m_buffer = FragmentedSharedBuffer::create();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SharedBufferDataView::SharedBufferDataView(Ref<DataSegment>&& segment, size_t positionWithinSegment, std::optional<size_t> size)
</span><span class="lines">@@ -610,16 +615,16 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedBufferDataView::createSharedBuffer() const
</del><ins>+Ref<SharedBuffer> SharedBufferDataView::createSharedBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     const Ref<DataSegment> segment = m_segment;
</span><del>-    return ContiguousSharedBuffer::create(DataSegment::Provider {
</del><ins>+    return SharedBuffer::create(DataSegment::Provider {
</ins><span class="cx">         [segment, data = data()]() { return data; },
</span><span class="cx">         [size = size()]() { return size; }
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> utf8Buffer(const String& string)
</del><ins>+RefPtr<SharedBuffer> utf8Buffer(const String& string)
</ins><span class="cx"> {
</span><span class="cx">     // Allocate a buffer big enough to hold all the characters.
</span><span class="cx">     const size_t length = string.length();
</span><span class="lines">@@ -645,7 +650,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     buffer.shrink(p - reinterpret_cast<char*>(buffer.data()));
</span><del>-    return ContiguousSharedBuffer::create(WTFMove(buffer));
</del><ins>+    return SharedBuffer::create(WTFMove(buffer));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformSharedBufferh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/SharedBuffer.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/SharedBuffer.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/SharedBuffer.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class SharedBufferDataView;
</span><span class="cx"> 
</span><span class="cx"> // Data wrapped by a DataSegment should be immutable because it can be referenced by other objects.
</span><span class="lines">@@ -131,43 +131,41 @@
</span><span class="cx"> #endif
</span><span class="cx">         FileSystem::MappedFileData,
</span><span class="cx">         Provider> m_immutableData;
</span><del>-    friend class SharedBuffer;
-    friend class ContiguousSharedBuffer; // For createCFData
</del><ins>+    friend class FragmentedSharedBuffer;
+    friend class SharedBuffer; // For createCFData
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-class SharedBuffer : public ThreadSafeRefCounted<SharedBuffer> {
</del><ins>+class FragmentedSharedBuffer : public ThreadSafeRefCounted<FragmentedSharedBuffer> {
</ins><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create();
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(const uint8_t*, size_t);
-    static Ref<SharedBuffer> create(const char* data, size_t size) { return create(reinterpret_cast<const uint8_t*>(data), size); }
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(FileSystem::MappedFileData&&);
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(Ref<ContiguousSharedBuffer>&&);
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(Vector<uint8_t>&&);
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(DataSegment::Provider&&);
</del><ins>+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create();
+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(const uint8_t*, size_t);
+    static Ref<FragmentedSharedBuffer> create(const char* data, size_t size) { return create(reinterpret_cast<const uint8_t*>(data), size); }
+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(FileSystem::MappedFileData&&);
+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(Ref<SharedBuffer>&&);
+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(Vector<uint8_t>&&);
+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(DataSegment::Provider&&);
</ins><span class="cx"> 
</span><span class="cx"> #if USE(FOUNDATION)
</span><span class="cx">     WEBCORE_EXPORT RetainPtr<NSArray> createNSDataArray() const;
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(NSData*);
</del><ins>+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(NSData*);
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(CF)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(CFDataRef);
</del><ins>+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(CFDataRef);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(GLIB)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(GBytes*);
</del><ins>+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(GBytes*);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(GstMappedOwnedBuffer&);
</del><ins>+    WEBCORE_EXPORT static Ref<FragmentedSharedBuffer> create(GstMappedOwnedBuffer&);
</ins><span class="cx"> #endif
</span><span class="cx">     WEBCORE_EXPORT Vector<uint8_t> copyData() const;
</span><span class="cx">     WEBCORE_EXPORT Vector<uint8_t> read(size_t offset, size_t length) const;
</span><span class="cx"> 
</span><del>-    // Similar to copyData() but avoids copying and will take the data instead when it is safe (The SharedBuffer is not shared).
</del><ins>+    // Similar to copyData() but avoids copying and will take the data instead when it is safe (The FragmentedSharedBuffer is not shared).
</ins><span class="cx">     Vector<uint8_t> extractData();
</span><span class="cx"> 
</span><del>-    // Creates an ArrayBuffer and copies this SharedBuffer's contents to that
-    // ArrayBuffer without merging segmented buffers into a flat buffer.
</del><span class="cx">     WEBCORE_EXPORT RefPtr<ArrayBuffer> tryCreateArrayBuffer() const;
</span><span class="cx"> 
</span><span class="cx">     size_t size() const { return m_size; }
</span><span class="lines">@@ -174,7 +172,7 @@
</span><span class="cx">     bool isEmpty() const { return !size(); }
</span><span class="cx">     bool isContiguous() const { return m_contiguous; }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Ref<SharedBuffer> copy() const;
</del><ins>+    WEBCORE_EXPORT Ref<FragmentedSharedBuffer> copy() const;
</ins><span class="cx">     WEBCORE_EXPORT void copyTo(void* destination, size_t length) const;
</span><span class="cx">     WEBCORE_EXPORT void copyTo(void* destination, size_t offset, size_t length) const;
</span><span class="cx"> 
</span><span class="lines">@@ -181,7 +179,7 @@
</span><span class="cx">     WEBCORE_EXPORT void forEachSegment(const Function<void(const Span<const uint8_t>&)>&) const;
</span><span class="cx">     WEBCORE_EXPORT bool startsWith(const Span<const uint8_t>& prefix) const;
</span><span class="cx"> 
</span><del>-    using DataSegment = WebCore::DataSegment; // To keep backward compatibility when using SharedBuffer::DataSegment
</del><ins>+    using DataSegment = WebCore::DataSegment; // To keep backward compatibility when using FragmentedSharedBuffer::DataSegment
</ins><span class="cx"> 
</span><span class="cx">     struct DataSegmentVectorEntry {
</span><span class="cx">         size_t beginPosition;
</span><span class="lines">@@ -199,38 +197,38 @@
</span><span class="cx"> 
</span><span class="cx">     void hintMemoryNotNeededSoon() const;
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT bool operator==(const SharedBuffer&) const;
-    bool operator!=(const SharedBuffer& other) const { return !operator==(other); }
</del><ins>+    WEBCORE_EXPORT bool operator==(const FragmentedSharedBuffer&) const;
+    bool operator!=(const FragmentedSharedBuffer& other) const { return !operator==(other); }
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> makeContiguous() const;
</del><ins>+    WEBCORE_EXPORT Ref<SharedBuffer> makeContiguous() const;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    friend class ContiguousSharedBuffer;
</del><ins>+    friend class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx">     DataSegmentVector m_segments;
</span><span class="cx">     bool m_contiguous { false };
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT SharedBuffer();
-    explicit SharedBuffer(const uint8_t* data, size_t size) { append(data, size); }
-    explicit SharedBuffer(const char* data, size_t size) { append(data, size); }
-    explicit SharedBuffer(Vector<uint8_t>&& data) { append(WTFMove(data)); }
-    WEBCORE_EXPORT explicit SharedBuffer(FileSystem::MappedFileData&&);
-    WEBCORE_EXPORT explicit SharedBuffer(DataSegment::Provider&&);
-    WEBCORE_EXPORT explicit SharedBuffer(Ref<ContiguousSharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT FragmentedSharedBuffer();
+    explicit FragmentedSharedBuffer(const uint8_t* data, size_t size) { append(data, size); }
+    explicit FragmentedSharedBuffer(const char* data, size_t size) { append(data, size); }
+    explicit FragmentedSharedBuffer(Vector<uint8_t>&& data) { append(WTFMove(data)); }
+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(FileSystem::MappedFileData&&);
+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(DataSegment::Provider&&);
+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(Ref<SharedBuffer>&&);
</ins><span class="cx"> #if USE(CF)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(CFDataRef);
</del><ins>+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(CFDataRef);
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GLIB)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(GBytes*);
</del><ins>+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(GBytes*);
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(GstMappedOwnedBuffer&);
</del><ins>+    WEBCORE_EXPORT explicit FragmentedSharedBuffer(GstMappedOwnedBuffer&);
</ins><span class="cx"> #endif
</span><span class="cx">     size_t m_size { 0 };
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend class SharedBufferBuilder;
</span><del>-    WEBCORE_EXPORT void append(const SharedBuffer&);
</del><ins>+    WEBCORE_EXPORT void append(const FragmentedSharedBuffer&);
</ins><span class="cx">     WEBCORE_EXPORT void append(const uint8_t*, size_t);
</span><span class="cx">     void append(const char* data, size_t length) { append(reinterpret_cast<const uint8_t*>(data), length); }
</span><span class="cx">     WEBCORE_EXPORT void append(Vector<uint8_t>&&);
</span><span class="lines">@@ -243,7 +241,7 @@
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void clear();
</span><span class="cx"> 
</span><del>-    // Combines all the segments into a Vector and returns that vector after clearing the SharedBuffer.
</del><ins>+    // Combines all the segments into a Vector and returns that vector after clearing the FragmentedSharedBuffer.
</ins><span class="cx">     WEBCORE_EXPORT Vector<uint8_t> takeData();
</span><span class="cx">     const DataSegmentVectorEntry* getSegmentForPosition(size_t positition) const;
</span><span class="cx"> 
</span><span class="lines">@@ -252,20 +250,20 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-// A ContiguousSharedBuffer is a SharedBuffer that allows to directly access its content via the data() and related methods.
-class ContiguousSharedBuffer : public SharedBuffer {
</del><ins>+// A SharedBuffer is a FragmentedSharedBuffer that allows to directly access its content via the data() and related methods.
+class SharedBuffer : public FragmentedSharedBuffer {
</ins><span class="cx"> public:
</span><span class="cx">     template <typename... Args>
</span><del>-    static Ref<ContiguousSharedBuffer> create(Args&&... args)
</del><ins>+    static Ref<SharedBuffer> create(Args&&... args)
</ins><span class="cx">     {
</span><span class="cx">         if constexpr (!sizeof...(Args))
</span><del>-            return adoptRef(*new ContiguousSharedBuffer());
</del><ins>+            return adoptRef(*new SharedBuffer());
</ins><span class="cx">         else if constexpr (sizeof...(Args) == 1
</span><span class="cx">             && (std::is_same_v<Args, Ref<DataSegment>> &&...))
</span><del>-            return adoptRef(*new ContiguousSharedBuffer(std::forward<Args>(args)...));
</del><ins>+            return adoptRef(*new SharedBuffer(std::forward<Args>(args)...));
</ins><span class="cx">         else {
</span><del>-            auto buffer = SharedBuffer::create(std::forward<Args>(args)...);
-            return adoptRef(*new ContiguousSharedBuffer(WTFMove(buffer)));
</del><ins>+            auto buffer = FragmentedSharedBuffer::create(std::forward<Args>(args)...);
+            return adoptRef(*new SharedBuffer(WTFMove(buffer)));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -274,7 +272,7 @@
</span><span class="cx">     WTF::Persistence::Decoder decoder() const;
</span><span class="cx"> 
</span><span class="cx">     enum class MayUseFileMapping : bool { No, Yes };
</span><del>-    WEBCORE_EXPORT static RefPtr<ContiguousSharedBuffer> createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode = FileSystem::MappedFileMode::Shared, MayUseFileMapping = MayUseFileMapping::Yes);
</del><ins>+    WEBCORE_EXPORT static RefPtr<SharedBuffer> createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode = FileSystem::MappedFileMode::Shared, MayUseFileMapping = MayUseFileMapping::Yes);
</ins><span class="cx"> 
</span><span class="cx"> #if USE(FOUNDATION)
</span><span class="cx">     WEBCORE_EXPORT RetainPtr<NSData> createNSData() const;
</span><span class="lines">@@ -287,12 +285,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    WEBCORE_EXPORT ContiguousSharedBuffer();
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(FileSystem::MappedFileData&&);
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(Ref<DataSegment>&&);
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(Ref<SharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT SharedBuffer();
+    WEBCORE_EXPORT explicit SharedBuffer(FileSystem::MappedFileData&&);
+    WEBCORE_EXPORT explicit SharedBuffer(Ref<DataSegment>&&);
+    WEBCORE_EXPORT explicit SharedBuffer(Ref<FragmentedSharedBuffer>&&);
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT static RefPtr<ContiguousSharedBuffer> createFromReadingFile(const String& filePath);
</del><ins>+    WEBCORE_EXPORT static RefPtr<SharedBuffer> createFromReadingFile(const String& filePath);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class SharedBufferBuilder {
</span><span class="lines">@@ -300,15 +298,18 @@
</span><span class="cx"> public:
</span><span class="cx">     SharedBufferBuilder() = default;
</span><span class="cx">     SharedBufferBuilder(SharedBufferBuilder&&) = default;
</span><del>-    WEBCORE_EXPORT explicit SharedBufferBuilder(RefPtr<SharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT explicit SharedBufferBuilder(RefPtr<FragmentedSharedBuffer>&&);
+    explicit SharedBufferBuilder(Ref<FragmentedSharedBuffer>&& buffer) { initialize(WTFMove(buffer)); }
+    explicit SharedBufferBuilder(RefPtr<SharedBuffer>&& buffer)
+        : SharedBufferBuilder(RefPtr<FragmentedSharedBuffer>{ WTFMove(buffer) }) { }
</ins><span class="cx">     explicit SharedBufferBuilder(Ref<SharedBuffer>&& buffer) { initialize(WTFMove(buffer)); }
</span><span class="cx"> 
</span><span class="cx">     template <typename... Args>
</span><span class="cx">     SharedBufferBuilder(std::in_place_t, Args&&... args)
</span><del>-        : m_buffer(SharedBuffer::create(std::forward<Args>(args)...)) { }
</del><ins>+        : m_buffer(FragmentedSharedBuffer::create(std::forward<Args>(args)...)) { }
</ins><span class="cx"> 
</span><span class="cx">     SharedBufferBuilder& operator=(SharedBufferBuilder&&) = default;
</span><del>-    WEBCORE_EXPORT SharedBufferBuilder& operator=(RefPtr<SharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT SharedBufferBuilder& operator=(RefPtr<FragmentedSharedBuffer>&&);
</ins><span class="cx"> 
</span><span class="cx">     template <typename... Args>
</span><span class="cx">     void append(Args&&... args)
</span><span class="lines">@@ -324,12 +325,14 @@
</span><span class="cx">     size_t size() const { return m_buffer ? m_buffer->size() : 0; }
</span><span class="cx"> 
</span><span class="cx">     void reset() { m_buffer = nullptr; }
</span><del>-    void empty() { m_buffer = SharedBuffer::create(); }
</del><ins>+    void empty() { m_buffer = FragmentedSharedBuffer::create(); }
</ins><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> get() const { return m_buffer; }
-    Ref<SharedBuffer> copy() const { return m_buffer ? m_buffer->copy() : SharedBuffer::create(); }
-    WEBCORE_EXPORT Ref<SharedBuffer> take();
-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> takeAsContiguous();
</del><ins>+    RefPtr<FragmentedSharedBuffer> get() const { return m_buffer; }
+    Ref<FragmentedSharedBuffer> copy() const { return m_buffer ? m_buffer->copy() : FragmentedSharedBuffer::create(); }
+    WEBCORE_EXPORT RefPtr<ArrayBuffer> tryCreateArrayBuffer() const;
+
+    WEBCORE_EXPORT Ref<FragmentedSharedBuffer> take();
+    WEBCORE_EXPORT Ref<SharedBuffer> takeAsContiguous();
</ins><span class="cx">     WEBCORE_EXPORT RefPtr<ArrayBuffer> takeAsArrayBuffer();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -342,12 +345,12 @@
</span><span class="cx">     SharedBufferBuilder(const SharedBufferBuilder&) = default;
</span><span class="cx">     SharedBufferBuilder& operator=(const SharedBufferBuilder&) = default;
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT void initialize(Ref<SharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT void initialize(Ref<FragmentedSharedBuffer>&&);
</ins><span class="cx">     WEBCORE_EXPORT void ensureBuffer();
</span><del>-    RefPtr<SharedBuffer> m_buffer;
</del><ins>+    RefPtr<FragmentedSharedBuffer> m_buffer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-inline Vector<uint8_t> SharedBuffer::extractData()
</del><ins>+inline Vector<uint8_t> FragmentedSharedBuffer::extractData()
</ins><span class="cx"> {
</span><span class="cx">     if (hasOneRef())
</span><span class="cx">         return takeData();
</span><span class="lines">@@ -362,7 +365,7 @@
</span><span class="cx">     const uint8_t* data() const { return m_segment->data() + m_positionWithinSegment; }
</span><span class="cx">     const char* dataAsCharPtr() const { return reinterpret_cast<const char*>(data()); }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> createSharedBuffer() const;
</del><ins>+    WEBCORE_EXPORT Ref<SharedBuffer> createSharedBuffer() const;
</ins><span class="cx"> #if USE(FOUNDATION)
</span><span class="cx">     WEBCORE_EXPORT RetainPtr<NSData> createNSData() const;
</span><span class="cx"> #endif
</span><span class="lines">@@ -372,6 +375,6 @@
</span><span class="cx">     const size_t m_size;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> utf8Buffer(const String&);
</del><ins>+RefPtr<SharedBuffer> utf8Buffer(const String&);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformSharedBufferChunkReadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/SharedBufferChunkReader.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/SharedBufferChunkReader.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/SharedBufferChunkReader.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MHTML)
</span><span class="cx"> 
</span><del>-SharedBufferChunkReader::SharedBufferChunkReader(SharedBuffer* buffer, const Vector<char>& separator)
</del><ins>+SharedBufferChunkReader::SharedBufferChunkReader(FragmentedSharedBuffer* buffer, const Vector<char>& separator)
</ins><span class="cx">     : m_iteratorCurrent(buffer->begin())
</span><span class="cx">     , m_iteratorEnd(buffer->end())
</span><span class="cx">     , m_segment(m_iteratorCurrent != m_iteratorEnd ? m_iteratorCurrent->segment->data() : nullptr)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBufferChunkReader::SharedBufferChunkReader(SharedBuffer* buffer, const char* separator)
</del><ins>+SharedBufferChunkReader::SharedBufferChunkReader(FragmentedSharedBuffer* buffer, const char* separator)
</ins><span class="cx">     : m_iteratorCurrent(buffer->begin())
</span><span class="cx">     , m_iteratorEnd(buffer->end())
</span><span class="cx">     , m_segment(m_iteratorCurrent != m_iteratorEnd ? m_iteratorCurrent->segment->data() : nullptr)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformSharedBufferChunkReaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/SharedBufferChunkReader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/SharedBufferChunkReader.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/SharedBufferChunkReader.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> 
</span><span class="cx"> class WEBCORE_EXPORT SharedBufferChunkReader {
</span><span class="cx"> public:
</span><del>-    SharedBufferChunkReader(SharedBuffer*, const Vector<char>& separator);
-    SharedBufferChunkReader(SharedBuffer*, const char* separator);
</del><ins>+    SharedBufferChunkReader(FragmentedSharedBuffer*, const Vector<char>& separator);
+    SharedBufferChunkReader(FragmentedSharedBuffer*, const char* separator);
</ins><span class="cx"> 
</span><span class="cx">     void setSeparator(const Vector<char>&);
</span><span class="cx">     void setSeparator(const char*);
</span><span class="lines">@@ -58,8 +58,8 @@
</span><span class="cx">     size_t peek(Vector<uint8_t>&, size_t);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    SharedBuffer::DataSegmentVector::const_iterator m_iteratorCurrent;
-    const SharedBuffer::DataSegmentVector::const_iterator m_iteratorEnd;
</del><ins>+    FragmentedSharedBuffer::DataSegmentVector::const_iterator m_iteratorCurrent;
+    const FragmentedSharedBuffer::DataSegmentVector::const_iterator m_iteratorEnd;
</ins><span class="cx">     const uint8_t* m_segment { nullptr };
</span><span class="cx">     size_t m_segmentIndex { 0 };
</span><span class="cx">     Vector<char> m_separator { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformStaticPasteboardcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/StaticPasteboard.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/StaticPasteboard.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/StaticPasteboard.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">     m_customData.writeString(type, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void StaticPasteboard::writeData(const String& type, Ref<ContiguousSharedBuffer>&& data)
</del><ins>+void StaticPasteboard::writeData(const String& type, Ref<SharedBuffer>&& data)
</ins><span class="cx"> {
</span><span class="cx">     m_nonDefaultDataTypes.add(type);
</span><span class="cx">     m_customData.writeData(type, WTFMove(data));
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformStaticPasteboardh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/StaticPasteboard.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/StaticPasteboard.h 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/StaticPasteboard.h    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class StaticPasteboard final : public Pasteboard {
</span><span class="cx"> public:
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     String readStringInCustomData(const String& type) final;
</span><span class="cx"> 
</span><span class="cx">     void writeString(const String& type, const String& data) final;
</span><del>-    void writeData(const String& type, Ref<ContiguousSharedBuffer>&& data);
</del><ins>+    void writeData(const String& type, Ref<SharedBuffer>&& data);
</ins><span class="cx">     void writeStringInCustomData(const String& type, const String& data);
</span><span class="cx">     void clear() final;
</span><span class="cx">     void clear(const String& type) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioNowPlayingInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/NowPlayingInfo.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/NowPlayingInfo.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/audio/NowPlayingInfo.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> struct NowPlayingInfoArtwork {
</span><span class="cx">     String src;
</span><span class="cx">     String mimeType;
</span><del>-    RefPtr<SharedBuffer> imageData;
</del><ins>+    RefPtr<FragmentedSharedBuffer> imageData;
</ins><span class="cx"> 
</span><span class="cx">     bool operator==(const NowPlayingInfoArtwork& other) const
</span><span class="cx">     {
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     if (!decoder.decode(mimeType))
</span><span class="cx">         return { };
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer> imageData;
</del><ins>+    RefPtr<FragmentedSharedBuffer> imageData;
</ins><span class="cx">     if (!decoder.decode(imageData))
</span><span class="cx">         return { };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudiococoaAudioFileReaderCocoacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    Ref<SharedBuffer> m_buffer;
</del><ins>+    Ref<FragmentedSharedBuffer> m_buffer;
</ins><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="cx">     Ref<AudioTrackPrivateWebM> m_track;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcfKeyedEncoderCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cf/KeyedEncoderCF.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cf/KeyedEncoderCF.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cf/KeyedEncoderCF.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -146,12 +146,12 @@
</span><span class="cx">     m_arrayStack.removeLast();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> KeyedEncoderCF::finishEncoding()
</del><ins>+RefPtr<SharedBuffer> KeyedEncoderCF::finishEncoding()
</ins><span class="cx"> {
</span><span class="cx">     auto data = adoptCF(CFPropertyListCreateData(kCFAllocatorDefault, m_rootDictionary.get(), kCFPropertyListBinaryFormat_v1_0, 0, nullptr));
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><del>-    return ContiguousSharedBuffer::create(data.get());
</del><ins>+    return SharedBuffer::create(data.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcfKeyedEncoderCFh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cf/KeyedEncoderCF.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cf/KeyedEncoderCF.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cf/KeyedEncoderCF.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     ~KeyedEncoderCF();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> finishEncoding() final;
</del><ins>+    RefPtr<WebCore::SharedBuffer> finishEncoding() final;
</ins><span class="cx"> 
</span><span class="cx">     void encodeBytes(const String& key, const uint8_t*, size_t) final;
</span><span class="cx">     void encodeBool(const String& key, bool) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcfSharedBufferCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(CFDataRef data)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(CFDataRef data)
</ins><span class="cx"> {
</span><span class="cx">     append(data);
</span><span class="cx"> }
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> // Using Foundation allows for an even more efficient implementation of this function,
</span><span class="cx"> // so only use this version for non-Foundation.
</span><span class="cx"> #if !USE(FOUNDATION)
</span><del>-RetainPtr<CFDataRef> ContiguousSharedBuffer::createCFData() const
</del><ins>+RetainPtr<CFDataRef> SharedBuffer::createCFData() const
</ins><span class="cx"> {
</span><span class="cx">     if (hasOneSegment()) {
</span><span class="cx">         if (auto* data = std::get_if<RetainPtr<CFDataRef>>(&m_segments[0].segment->m_immutableData))
</span><span class="lines">@@ -51,12 +51,12 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(CFDataRef data)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(CFDataRef data)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(data));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(data));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::hintMemoryNotNeededSoon() const
</del><ins>+void FragmentedSharedBuffer::hintMemoryNotNeededSoon() const
</ins><span class="cx"> {
</span><span class="cx">     for (const auto& entry : m_segments) {
</span><span class="cx">         if (entry.segment->hasOneRef()) {
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::append(CFDataRef data)
</del><ins>+void FragmentedSharedBuffer::append(CFDataRef data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_contiguous);
</span><span class="cx">     if (data) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaNetworkExtensionContentFilterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     void responseReceived(const ResourceResponse&) override;
</span><span class="cx">     void addData(const uint8_t* data, int length) override;
</span><span class="cx">     void finishedAddingData() override;
</span><del>-    Ref<SharedBuffer> replacementData() const override;
</del><ins>+    Ref<FragmentedSharedBuffer> replacementData() const override;
</ins><span class="cx">     ContentFilterUnblockHandler unblockHandler() const override;
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT static bool isRequired();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaNetworkExtensionContentFiltermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx">     semaphore.wait();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> NetworkExtensionContentFilter::replacementData() const
</del><ins>+Ref<FragmentedSharedBuffer> NetworkExtensionContentFilter::replacementData() const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(didBlockData());
</span><span class="cx">     return SharedBuffer::create(m_replacementData.get());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaParentalControlsContentFilterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     void responseReceived(const ResourceResponse&) override;
</span><span class="cx">     void addData(const uint8_t* data, int length) override;
</span><span class="cx">     void finishedAddingData() override;
</span><del>-    Ref<SharedBuffer> replacementData() const override;
</del><ins>+    Ref<FragmentedSharedBuffer> replacementData() const override;
</ins><span class="cx"> #if ENABLE(CONTENT_FILTERING)
</span><span class="cx">     ContentFilterUnblockHandler unblockHandler() const override;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaParentalControlsContentFiltermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/ParentalControlsContentFilter.mm        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     updateFilterState();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> ParentalControlsContentFilter::replacementData() const
</del><ins>+Ref<FragmentedSharedBuffer> ParentalControlsContentFilter::replacementData() const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(didBlockData());
</span><span class="cx">     return SharedBuffer::create(m_replacementData.get());
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaPasteboardCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/PasteboardCocoa.mm      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // PLATFORM(MAC)
</span><span class="cx"> 
</span><del>-// Making this non-inline so that WebKit 2's decoding doesn't have to include SharedBuffer.h.
</del><ins>+// Making this non-inline so that WebKit 2's decoding doesn't have to include FragmentedSharedBuffer.h.
</ins><span class="cx"> PasteboardWebContent::PasteboardWebContent() = default;
</span><span class="cx"> PasteboardWebContent::~PasteboardWebContent() = default;
</span><span class="cx"> 
</span><span class="lines">@@ -211,11 +211,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>-static Ref<ContiguousSharedBuffer> convertTIFFToPNG(SharedBuffer& tiffBuffer)
</del><ins>+static Ref<SharedBuffer> convertTIFFToPNG(FragmentedSharedBuffer& tiffBuffer)
</ins><span class="cx"> {
</span><span class="cx">     auto image = adoptNS([[NSBitmapImageRep alloc] initWithData: tiffBuffer.makeContiguous()->createNSData().get()]);
</span><span class="cx">     NSData *pngData = [image representationUsingType:bitmapPNGFileType() properties:@{ }];
</span><del>-    return ContiguousSharedBuffer::create(pngData);
</del><ins>+    return SharedBuffer::create(pngData);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">     return cocoaTypes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> Pasteboard::readBufferForTypeWithSecurityCheck(const String& type)
</del><ins>+RefPtr<SharedBuffer> Pasteboard::readBufferForTypeWithSecurityCheck(const String& type)
</ins><span class="cx"> {
</span><span class="cx">     auto buffer = platformStrategies()->pasteboardStrategy()->bufferForType(type, m_pasteboardName, context());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaSharedBufferCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -88,23 +88,23 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(NSData *data)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(NSData *data)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(bridge_cast(data)));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(bridge_cast(data)));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedBuffer::append(NSData *data)
</del><ins>+void FragmentedSharedBuffer::append(NSData *data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_contiguous);
</span><span class="cx">     return append(bridge_cast(data));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<NSData> ContiguousSharedBuffer::createNSData() const
</del><ins>+RetainPtr<NSData> SharedBuffer::createNSData() const
</ins><span class="cx"> {
</span><span class="cx">     return bridge_cast(createCFData());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<CFDataRef> ContiguousSharedBuffer::createCFData() const
</del><ins>+RetainPtr<CFDataRef> SharedBuffer::createCFData() const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_segments.size())
</span><span class="cx">         return adoptCF(CFDataCreate(nullptr, nullptr, 0));
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     return bridge_cast(m_segments[0].segment->createNSData());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<NSArray> SharedBuffer::createNSDataArray() const
</del><ins>+RetainPtr<NSArray> FragmentedSharedBuffer::createNSDataArray() const
</ins><span class="cx"> {
</span><span class="cx">     return createNSArray(m_segments, [] (auto& segment) {
</span><span class="cx">         return segment.segment->createNSData();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMInstanceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMInstance.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMInstance.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMInstance.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class CDMInstanceSession;
</span><span class="cx"> struct CDMKeySystemConfiguration;
</span><span class="cx"> 
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~CDMInstanceClient() = default;
</span><span class="cx"> 
</span><del>-    virtual void unrequestedInitializationDataReceived(const String&, Ref<SharedBuffer>&&) = 0;
</del><ins>+    virtual void unrequestedInitializationDataReceived(const String&, Ref<FragmentedSharedBuffer>&&) = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // JavaScript's handle to a CDMInstance, must be used from the
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     virtual void initializeWithConfiguration(const CDMKeySystemConfiguration&, AllowDistinctiveIdentifiers, AllowPersistentState, SuccessCallback&&) = 0;
</span><del>-    virtual void setServerCertificate(Ref<SharedBuffer>&&, SuccessCallback&&) = 0;
</del><ins>+    virtual void setServerCertificate(Ref<FragmentedSharedBuffer>&&, SuccessCallback&&) = 0;
</ins><span class="cx">     virtual void setStorageDirectory(const String&) = 0;
</span><span class="cx">     virtual const String& keySystem() const = 0;
</span><span class="cx">     virtual RefPtr<CDMInstanceSession> createSession() = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMInstanceSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class CDMInstanceSessionClient : public CanMakeWeakPtr<CDMInstanceSessionClient> {
</span><span class="cx"> public:
</span><span class="lines">@@ -50,9 +50,9 @@
</span><span class="cx">     virtual ~CDMInstanceSessionClient() = default;
</span><span class="cx"> 
</span><span class="cx">     using KeyStatus = CDMKeyStatus;
</span><del>-    using KeyStatusVector = Vector<std::pair<Ref<SharedBuffer>, KeyStatus>>;
</del><ins>+    using KeyStatusVector = Vector<std::pair<Ref<FragmentedSharedBuffer>, KeyStatus>>;
</ins><span class="cx">     virtual void updateKeyStatuses(KeyStatusVector&&) = 0;
</span><del>-    virtual void sendMessage(CDMMessageType, Ref<SharedBuffer>&& message) = 0;
</del><ins>+    virtual void sendMessage(CDMMessageType, Ref<FragmentedSharedBuffer>&& message) = 0;
</ins><span class="cx">     virtual void sessionIdChanged(const String&) = 0;
</span><span class="cx">     using PlatformDisplayID = uint32_t;
</span><span class="cx">     virtual PlatformDisplayID displayID() = 0;
</span><span class="lines">@@ -78,13 +78,13 @@
</span><span class="cx">         Succeeded,
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    using LicenseCallback = CompletionHandler<void(Ref<SharedBuffer>&& message, const String& sessionId, bool needsIndividualization, SuccessValue succeeded)>;
-    virtual void requestLicense(LicenseType, const AtomString& initDataType, Ref<SharedBuffer>&& initData, LicenseCallback&&) = 0;
</del><ins>+    using LicenseCallback = CompletionHandler<void(Ref<FragmentedSharedBuffer>&& message, const String& sessionId, bool needsIndividualization, SuccessValue succeeded)>;
+    virtual void requestLicense(LicenseType, const AtomString& initDataType, Ref<FragmentedSharedBuffer>&& initData, LicenseCallback&&) = 0;
</ins><span class="cx"> 
</span><span class="cx">     using KeyStatusVector = CDMInstanceSessionClient::KeyStatusVector;
</span><del>-    using Message = std::pair<MessageType, Ref<SharedBuffer>>;
</del><ins>+    using Message = std::pair<MessageType, Ref<FragmentedSharedBuffer>>;
</ins><span class="cx">     using LicenseUpdateCallback = CompletionHandler<void(bool sessionWasClosed, std::optional<KeyStatusVector>&& changedKeys, std::optional<double>&& changedExpiration, std::optional<Message>&& message, SuccessValue succeeded)>;
</span><del>-    virtual void updateLicense(const String& sessionId, LicenseType, Ref<SharedBuffer>&& response, LicenseUpdateCallback&&) = 0;
</del><ins>+    virtual void updateLicense(const String& sessionId, LicenseType, Ref<FragmentedSharedBuffer>&& response, LicenseUpdateCallback&&) = 0;
</ins><span class="cx"> 
</span><span class="cx">     enum class SessionLoadFailure : uint8_t {
</span><span class="cx">         None,
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     using CloseSessionCallback = CompletionHandler<void()>;
</span><span class="cx">     virtual void closeSession(const String& sessionId, CloseSessionCallback&&) = 0;
</span><span class="cx"> 
</span><del>-    using RemoveSessionDataCallback = CompletionHandler<void(KeyStatusVector&&, std::optional<Ref<SharedBuffer>>&&, SuccessValue)>;
</del><ins>+    using RemoveSessionDataCallback = CompletionHandler<void(KeyStatusVector&&, std::optional<Ref<FragmentedSharedBuffer>>&&, SuccessValue)>;
</ins><span class="cx">     virtual void removeSessionData(const String& sessionId, LicenseType, RemoveSessionDataCallback&&) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void storeRecordOfKeyUsage(const String& sessionId) = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -73,8 +73,8 @@
</span><span class="cx">     virtual void loadAndInitialize() = 0;
</span><span class="cx">     virtual bool supportsServerCertificates() const = 0;
</span><span class="cx">     virtual bool supportsSessions() const = 0;
</span><del>-    virtual bool supportsInitData(const AtomString&, const SharedBuffer&) const = 0;
-    virtual RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&) const = 0;
</del><ins>+    virtual bool supportsInitData(const AtomString&, const FragmentedSharedBuffer&) const = 0;
+    virtual RefPtr<FragmentedSharedBuffer> sanitizeResponse(const FragmentedSharedBuffer&) const = 0;
</ins><span class="cx">     virtual std::optional<String> sanitizeSessionId(const String&) const = 0;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -227,7 +227,7 @@
</span><span class="cx">     CDMInstanceSession::KeyStatusVector keyStatusVector;
</span><span class="cx">     keyStatusVector.reserveInitialCapacity(numKeys());
</span><span class="cx">     for (const auto& key : m_keys)
</span><del>-        keyStatusVector.uncheckedAppend(std::pair<Ref<SharedBuffer>, CDMInstanceSession::KeyStatus> { key->idAsSharedBuffer(), key->status() });
</del><ins>+        keyStatusVector.uncheckedAppend(std::pair<Ref<FragmentedSharedBuffer>, CDMInstanceSession::KeyStatus> { key->idAsSharedBuffer(), key->status() });
</ins><span class="cx">     return keyStatusVector;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMProxy.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     {
</span><span class="cx">         return adoptRef(*new KeyHandle(status, WTFMove(keyID), WTFMove(keyHandleValue)));
</span><span class="cx">     }
</span><del>-    Ref<SharedBuffer> idAsSharedBuffer() const { return SharedBuffer::create(m_id.data(), m_id.size()); }
</del><ins>+    Ref<FragmentedSharedBuffer> idAsSharedBuffer() const { return SharedBuffer::create(m_id.data(), m_id.size()); }
</ins><span class="cx"> 
</span><span class="cx">     bool takeValueIfDifferent(KeyHandleValueVariant&&);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace CDMUtilities {
</span><span class="cx"> 
</span><del>-RefPtr<JSON::Object> parseJSONObject(const SharedBuffer& buffer)
</del><ins>+RefPtr<JSON::Object> parseJSONObject(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // Fail on large buffers whose size doesn't fit into a 32-bit unsigned integer.
</span><span class="cx">     size_t size = buffer.size();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaCDMUtilitiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMUtilities.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> namespace CDMUtilities {
</span><span class="cx"> 
</span><del>-RefPtr<JSON::Object> parseJSONObject(const SharedBuffer&);
</del><ins>+RefPtr<JSON::Object> parseJSONObject(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> // ];
</span><span class="cx"> 
</span><span class="cx"> // This function extracts the KeyIds count and the location of the first KeyId in initData buffer.
</span><del>-static std::pair<unsigned, unsigned> extractKeyidsLocationFromCencInitData(const SharedBuffer& initData)
</del><ins>+static std::pair<unsigned, unsigned> extractKeyidsLocationFromCencInitData(const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     std::pair<unsigned, unsigned> keyIdsMap(0, 0);
</span><span class="cx"> 
</span><span class="lines">@@ -189,13 +189,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This function checks if the initData sharedBuffer is a valid CENC initData.
</span><del>-static bool isCencInitData(const SharedBuffer& initData)
</del><ins>+static bool isCencInitData(const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     std::pair<unsigned, unsigned> keyIdsMap = extractKeyidsLocationFromCencInitData(initData);
</span><span class="cx">     return ((keyIdsMap.first) && (keyIdsMap.second));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref<SharedBuffer> extractKeyidsFromCencInitData(const SharedBuffer& initData)
</del><ins>+static Ref<FragmentedSharedBuffer> extractKeyidsFromCencInitData(const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     SharedBufferBuilder keyIds;
</span><span class="cx"> 
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx">     return keyIds.take();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref<SharedBuffer> extractKeyIdFromWebMInitData(const SharedBuffer& initData)
</del><ins>+static Ref<FragmentedSharedBuffer> extractKeyIdFromWebMInitData(const FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     SharedBufferBuilder keyIds;
</span><span class="cx"> 
</span><span class="lines">@@ -390,7 +390,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CDMPrivateClearKey::supportsInitData(const AtomString& initDataType, const SharedBuffer& initData) const
</del><ins>+bool CDMPrivateClearKey::supportsInitData(const AtomString& initDataType, const FragmentedSharedBuffer& initData) const
</ins><span class="cx"> {
</span><span class="cx">     // Validate the initData buffer as an JSON object in keyids case.
</span><span class="cx">     if (equalLettersIgnoringASCIICase(initDataType, "keyids") && CDMUtilities::parseJSONObject(initData))
</span><span class="lines">@@ -407,7 +407,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDMPrivateClearKey::sanitizeResponse(const SharedBuffer& response) const
</del><ins>+RefPtr<FragmentedSharedBuffer> CDMPrivateClearKey::sanitizeResponse(const FragmentedSharedBuffer& response) const
</ins><span class="cx"> {
</span><span class="cx">     // Validate the response buffer as an JSON object.
</span><span class="cx">     if (!CDMUtilities::parseJSONObject(response))
</span><span class="lines">@@ -433,7 +433,7 @@
</span><span class="cx">     callback(succeeded);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceClearKey::setServerCertificate(Ref<SharedBuffer>&&, SuccessCallback&& callback)
</del><ins>+void CDMInstanceClearKey::setServerCertificate(Ref<FragmentedSharedBuffer>&&, SuccessCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx">     // Reject setting any server certificate.
</span><span class="cx">     callback(Failed);
</span><span class="lines">@@ -455,7 +455,7 @@
</span><span class="cx">     return adoptRef(new CDMInstanceSessionClearKey(*this));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceSessionClearKey::requestLicense(LicenseType, const AtomString& initDataType, Ref<SharedBuffer>&& initData, LicenseCallback&& callback)
</del><ins>+void CDMInstanceSessionClearKey::requestLicense(LicenseType, const AtomString& initDataType, Ref<FragmentedSharedBuffer>&& initData, LicenseCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx">     static uint32_t s_sessionIdValue = 0;
</span><span class="cx">     ++s_sessionIdValue;
</span><span class="lines">@@ -477,7 +477,7 @@
</span><span class="cx">         });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceSessionClearKey::updateLicense(const String& sessionId, LicenseType, Ref<SharedBuffer>&& response, LicenseUpdateCallback&& callback)
</del><ins>+void CDMInstanceSessionClearKey::updateLicense(const String& sessionId, LicenseType, Ref<FragmentedSharedBuffer>&& response, LicenseUpdateCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx"> #if LOG_DISABLED
</span><span class="cx">     // We only use the sesion ID for debug logging. The verbose preprocessor checks are because
</span><span class="lines">@@ -568,7 +568,7 @@
</span><span class="cx">     ASSERT(sessionId == m_sessionID);
</span><span class="cx"> 
</span><span class="cx">     auto dispatchCallback =
</span><del>-        [weakThis = WeakPtr { *this }, &callback](KeyStatusVector&& keyStatusVector, std::optional<Ref<SharedBuffer>>&& message, SuccessValue success) {
</del><ins>+        [weakThis = WeakPtr { *this }, &callback](KeyStatusVector&& keyStatusVector, std::optional<Ref<FragmentedSharedBuffer>>&& message, SuccessValue success) {
</ins><span class="cx">             callOnMainThread(
</span><span class="cx">                 [weakThis = WeakPtr { *weakThis }, callback = WTFMove(callback), keyStatusVector = WTFMove(keyStatusVector), message = WTFMove(message), success]() mutable {
</span><span class="cx">                     if (!weakThis)
</span><span class="lines">@@ -581,7 +581,7 @@
</span><span class="cx">     // Construct the KeyStatusVector object, representing released keys, and the message in the
</span><span class="cx">     // 'license release' format.
</span><span class="cx">     KeyStatusVector keyStatusVector = m_keyStore.allKeysAs(CDMInstanceSession::KeyStatus::Released);
</span><del>-    RefPtr<SharedBuffer> message;
</del><ins>+    RefPtr<FragmentedSharedBuffer> message;
</ins><span class="cx">     {
</span><span class="cx">         // Construct JSON that represents the 'license release' format, creating a 'kids' array
</span><span class="cx">         // of base64URL-encoded key IDs for all keys that were associated with this session.
</span><span class="lines">@@ -595,7 +595,7 @@
</span><span class="cx">             rootObject->setArray("kids", WTFMove(array));
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        // Copy the JSON data into a SharedBuffer object.
</del><ins>+        // Copy the JSON data into a FragmentedSharedBuffer object.
</ins><span class="cx">         String messageString = rootObject->toJSONString();
</span><span class="cx">         CString messageCString = messageString.utf8();
</span><span class="cx">         message = SharedBuffer::create(messageCString.data(), messageCString.length());
</span><span class="lines">@@ -602,7 +602,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_keyStore.unrefAllKeys();
</span><del>-    dispatchCallback(WTFMove(keyStatusVector), Ref<SharedBuffer>(*message), SuccessValue::Succeeded);
</del><ins>+    dispatchCallback(WTFMove(keyStatusVector), Ref<FragmentedSharedBuffer>(*message), SuccessValue::Succeeded);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CDMInstanceSessionClearKey::storeRecordOfKeyUsage(const String&)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -86,8 +86,8 @@
</span><span class="cx">     void loadAndInitialize() final;
</span><span class="cx">     bool supportsServerCertificates() const final;
</span><span class="cx">     bool supportsSessions() const final;
</span><del>-    bool supportsInitData(const AtomString&, const SharedBuffer&) const final;
-    RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&) const final;
</del><ins>+    bool supportsInitData(const AtomString&, const FragmentedSharedBuffer&) const final;
+    RefPtr<FragmentedSharedBuffer> sanitizeResponse(const FragmentedSharedBuffer&) const final;
</ins><span class="cx">     std::optional<String> sanitizeSessionId(const String&) const final;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     // CDMInstance
</span><span class="cx">     ImplementationType implementationType() const final { return ImplementationType::ClearKey; }
</span><span class="cx">     void initializeWithConfiguration(const CDMKeySystemConfiguration&, AllowDistinctiveIdentifiers, AllowPersistentState, SuccessCallback&&) final;
</span><del>-    void setServerCertificate(Ref<SharedBuffer>&&, SuccessCallback&&) final;
</del><ins>+    void setServerCertificate(Ref<FragmentedSharedBuffer>&&, SuccessCallback&&) final;
</ins><span class="cx">     void setStorageDirectory(const String&) final;
</span><span class="cx">     const String& keySystem() const final;
</span><span class="cx">     RefPtr<CDMInstanceSession> createSession() final;
</span><span class="lines">@@ -109,8 +109,8 @@
</span><span class="cx"> public:
</span><span class="cx">     CDMInstanceSessionClearKey(CDMInstanceClearKey& parent)
</span><span class="cx">         : CDMInstanceSessionProxy(parent) { }
</span><del>-    void requestLicense(LicenseType, const AtomString& initDataType, Ref<SharedBuffer>&& initData, LicenseCallback&&) final;
-    void updateLicense(const String&, LicenseType, Ref<SharedBuffer>&&, LicenseUpdateCallback&&) final;
</del><ins>+    void requestLicense(LicenseType, const AtomString& initDataType, Ref<FragmentedSharedBuffer>&& initData, LicenseCallback&&) final;
+    void updateLicense(const String&, LicenseType, Ref<FragmentedSharedBuffer>&&, LicenseUpdateCallback&&) final;
</ins><span class="cx">     void loadSession(LicenseType, const String&, const String&, LoadSessionCallback&&) final;
</span><span class="cx">     void closeSession(const String&, CloseSessionCallback&&) final;
</span><span class="cx">     void removeSessionData(const String&, LicenseType, RemoveSessionDataCallback&&) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgenericKeyedEncoderGenericcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -139,9 +139,9 @@
</span><span class="cx">     m_encoder << Type::EndArray;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> KeyedEncoderGeneric::finishEncoding()
</del><ins>+RefPtr<SharedBuffer> KeyedEncoderGeneric::finishEncoding()
</ins><span class="cx"> {
</span><del>-    return ContiguousSharedBuffer::create(m_encoder.buffer(), m_encoder.bufferSize());
</del><ins>+    return SharedBuffer::create(m_encoder.buffer(), m_encoder.bufferSize());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgenericKeyedEncoderGenerich"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/generic/KeyedEncoderGeneric.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class KeyedEncoderGeneric final : public KeyedEncoder {
</span><span class="cx"> public:
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr<ContiguousSharedBuffer> finishEncoding() override;
</del><ins>+    RefPtr<SharedBuffer> finishEncoding() override;
</ins><span class="cx"> 
</span><span class="cx">     void encodeBytes(const String& key, const uint8_t*, size_t) override;
</span><span class="cx">     void encodeBool(const String& key, bool) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformglibKeyedEncoderGlibcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -132,12 +132,12 @@
</span><span class="cx">     m_arrayStack.removeLast();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> KeyedEncoderGlib::finishEncoding()
</del><ins>+RefPtr<SharedBuffer> KeyedEncoderGlib::finishEncoding()
</ins><span class="cx"> {
</span><span class="cx">     g_assert(m_variantBuilderStack.last() == &m_variantBuilder);
</span><span class="cx">     GRefPtr<GVariant> variant = g_variant_builder_end(&m_variantBuilder);
</span><span class="cx">     GRefPtr<GBytes> data = g_variant_get_data_as_bytes(variant.get());
</span><del>-    return ContiguousSharedBuffer::create(static_cast<const unsigned char*>(g_bytes_get_data(data.get(), nullptr)), static_cast<unsigned>(g_bytes_get_size(data.get())));
</del><ins>+    return SharedBuffer::create(static_cast<const unsigned char*>(g_bytes_get_data(data.get(), nullptr)), static_cast<unsigned>(g_bytes_get_size(data.get())));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformglibKeyedEncoderGlibh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/glib/KeyedEncoderGlib.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     ~KeyedEncoderGlib();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> finishEncoding() final;
</del><ins>+    RefPtr<WebCore::SharedBuffer> finishEncoding() final;
</ins><span class="cx"> 
</span><span class="cx">     void encodeBytes(const String& key, const uint8_t*, size_t) final;
</span><span class="cx">     void encodeBool(const String& key, bool) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformglibSharedBufferGlibcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/glib/SharedBufferGlib.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/glib/SharedBufferGlib.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/glib/SharedBufferGlib.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(GBytes* bytes)
</del><ins>+FragmentedSharedBuffer::FragmentedSharedBuffer(GBytes* bytes)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(bytes);
</span><span class="cx">     m_size = g_bytes_get_size(bytes);
</span><span class="lines">@@ -33,17 +33,17 @@
</span><span class="cx">     m_segments.append({ 0, DataSegment::create(GRefPtr<GBytes>(bytes)) });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(GBytes* bytes)
</del><ins>+Ref<FragmentedSharedBuffer> FragmentedSharedBuffer::create(GBytes* bytes)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(bytes));
</del><ins>+    return adoptRef(*new FragmentedSharedBuffer(bytes));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-GRefPtr<GBytes> ContiguousSharedBuffer::createGBytes() const
</del><ins>+GRefPtr<GBytes> SharedBuffer::createGBytes() const
</ins><span class="cx"> {
</span><span class="cx">     ref();
</span><span class="cx">     GRefPtr<GBytes> bytes = adoptGRef(g_bytes_new_with_free_func(data(), size(), [](gpointer data) {
</span><del>-        static_cast<ContiguousSharedBuffer*>(data)->deref();
-    }, const_cast<ContiguousSharedBuffer*>(this)));
</del><ins>+        static_cast<SharedBuffer*>(data)->deref();
+    }, const_cast<SharedBuffer*>(this)));
</ins><span class="cx">     return bytes;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     return adoptRef(*new Font(platformData, origin, interstitial, visibility, orientationFallback, identifier));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<Font> Font::create(Ref<ContiguousSharedBuffer>&& fontFaceData, Font::Origin origin, float fontSize, bool syntheticBold, bool syntheticItalic)
</del><ins>+Ref<Font> Font::create(Ref<SharedBuffer>&& fontFaceData, Font::Origin origin, float fontSize, bool syntheticBold, bool syntheticItalic)
</ins><span class="cx"> {
</span><span class="cx">     bool wrapping;
</span><span class="cx">     auto customFontData = CachedFont::createCustomFontData(fontFaceData.get(), { }, wrapping);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Font.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> class FontCache;
</span><span class="cx"> class FontDescription;
</span><span class="cx"> class GlyphPage;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct GlyphData;
</span><span class="cx"> 
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     enum class Visibility : bool { Visible, Invisible };
</span><span class="cx">     enum class OrientationFallback : bool { No, Yes };
</span><span class="cx">     WEBCORE_EXPORT static Ref<Font> create(const FontPlatformData&, Origin = Origin::Local, Interstitial = Interstitial::No, Visibility = Visibility::Visible, OrientationFallback = OrientationFallback::No, std::optional<RenderingResourceIdentifier> = std::nullopt);
</span><del>-    WEBCORE_EXPORT static Ref<Font> create(Ref<ContiguousSharedBuffer>&& fontFaceData, Font::Origin, float fontSize, bool syntheticBold, bool syntheticItalic);
</del><ins>+    WEBCORE_EXPORT static Ref<Font> create(Ref<SharedBuffer>&& fontFaceData, Font::Origin, float fontSize, bool syntheticBold, bool syntheticItalic);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT ~Font();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontPlatformDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontPlatformData.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontPlatformData.h        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/FontPlatformData.h   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -223,13 +223,13 @@
</span><span class="cx"> #endif
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr<ContiguousSharedBuffer> openTypeTable(uint32_t table) const;
-    RefPtr<ContiguousSharedBuffer> platformOpenTypeTable(uint32_t table) const;
</del><ins>+    RefPtr<SharedBuffer> openTypeTable(uint32_t table) const;
+    RefPtr<SharedBuffer> platformOpenTypeTable(uint32_t table) const;
</ins><span class="cx"> 
</span><span class="cx">     String description() const;
</span><span class="cx"> 
</span><span class="cx">     struct CreationData {
</span><del>-        Ref<ContiguousSharedBuffer> fontFaceData;
</del><ins>+        Ref<SharedBuffer> fontFaceData;
</ins><span class="cx">         String itemInCollection;
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="cx">         Ref<FontMemoryResource> m_fontResource;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsHEVCUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">         , hex(parameters.levelIDC, 2));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<AVCParameters> parseAVCDecoderConfigurationRecord(const ContiguousSharedBuffer& buffer)
</del><ins>+std::optional<AVCParameters> parseAVCDecoderConfigurationRecord(const SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // ISO/IEC 14496-10:2014
</span><span class="cx">     // 7.3.2.1.1 Sequence parameter set data syntax
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx">         , compatibilityFlags.toString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<HEVCParameters> parseHEVCDecoderConfigurationRecord(const FourCC& codecCode, const ContiguousSharedBuffer& buffer)
</del><ins>+std::optional<HEVCParameters> parseHEVCDecoderConfigurationRecord(const FourCC& codecCode, const SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // ISO/IEC 14496-15:2014
</span><span class="cx">     // 8.3.3.1 HEVC decoder configuration record
</span><span class="lines">@@ -436,7 +436,7 @@
</span><span class="cx">     return parameters;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<DoViParameters> parseDoViDecoderConfigurationRecord(const ContiguousSharedBuffer& buffer)
</del><ins>+std::optional<DoViParameters> parseDoViDecoderConfigurationRecord(const SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // The format of the DoVi Configuration Record is contained in "Dolby Vision Streams Within
</span><span class="cx">     // the ISO Base Media File Format, Version 2.0"
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsHEVCUtilitiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/HEVCUtilities.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/HEVCUtilities.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/HEVCUtilities.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> struct FourCC;
</span><span class="cx"> 
</span><span class="cx"> struct AVCParameters {
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT std::optional<AVCParameters> parseAVCCodecParameters(StringView);
</span><del>-WEBCORE_EXPORT std::optional<AVCParameters> parseAVCDecoderConfigurationRecord(const ContiguousSharedBuffer&);
</del><ins>+WEBCORE_EXPORT std::optional<AVCParameters> parseAVCDecoderConfigurationRecord(const SharedBuffer&);
</ins><span class="cx"> WEBCORE_EXPORT String createAVCCodecParametersString(const AVCParameters&);
</span><span class="cx"> 
</span><span class="cx"> struct HEVCParameters {
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT std::optional<HEVCParameters> parseHEVCCodecParameters(StringView);
</span><del>-WEBCORE_EXPORT std::optional<HEVCParameters> parseHEVCDecoderConfigurationRecord(const FourCC&, const ContiguousSharedBuffer&);
</del><ins>+WEBCORE_EXPORT std::optional<HEVCParameters> parseHEVCDecoderConfigurationRecord(const FourCC&, const SharedBuffer&);
</ins><span class="cx"> WEBCORE_EXPORT String createHEVCCodecParametersString(const HEVCParameters&);
</span><span class="cx"> 
</span><span class="cx"> struct DoViParameters {
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT std::optional<DoViParameters> parseDoViCodecParameters(StringView);
</span><del>-WEBCORE_EXPORT std::optional<DoViParameters> parseDoViDecoderConfigurationRecord(const ContiguousSharedBuffer&);
</del><ins>+WEBCORE_EXPORT std::optional<DoViParameters> parseDoViDecoderConfigurationRecord(const SharedBuffer&);
</ins><span class="cx"> WEBCORE_EXPORT String createDoViCodecParametersString(const DoViParameters&);
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Image.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Image.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Image.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-EncodedDataStatus Image::setData(RefPtr<SharedBuffer>&& data, bool allDataReceived)
</del><ins>+EncodedDataStatus Image::setData(RefPtr<FragmentedSharedBuffer>&& data, bool allDataReceived)
</ins><span class="cx"> {
</span><span class="cx">     m_encodedImageData = WTFMove(data);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Image.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Image.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Image.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> class FloatPoint;
</span><span class="cx"> class FloatSize;
</span><span class="cx"> class GraphicsContext;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> struct Length;
</span><span class="cx"> 
</span><span class="cx"> // This class gets notified when an image creates or destroys decoded frames and when it advances animation frames.
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     virtual std::optional<IntPoint> hotSpot() const { return std::nullopt; }
</span><span class="cx">     virtual ImageOrientation orientation() const { return ImageOrientation::FromImage; }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT EncodedDataStatus setData(RefPtr<SharedBuffer>&& data, bool allDataReceived);
</del><ins>+    WEBCORE_EXPORT EncodedDataStatus setData(RefPtr<FragmentedSharedBuffer>&& data, bool allDataReceived);
</ins><span class="cx">     virtual EncodedDataStatus dataChanged(bool /*allDataReceived*/) { return EncodedDataStatus::Unknown; }
</span><span class="cx"> 
</span><span class="cx">     virtual String uti() const { return String(); } // null string if unknown
</span><span class="lines">@@ -133,8 +133,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void destroyDecodedData(bool destroyAll = true) = 0;
</span><span class="cx"> 
</span><del>-    SharedBuffer* data() { return m_encodedImageData.get(); }
-    const SharedBuffer* data() const { return m_encodedImageData.get(); }
</del><ins>+    FragmentedSharedBuffer* data() { return m_encodedImageData.get(); }
+    const FragmentedSharedBuffer* data() const { return m_encodedImageData.get(); }
</ins><span class="cx"> 
</span><span class="cx">     virtual DestinationColorSpace colorSpace();
</span><span class="cx"> 
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx">     virtual Color singlePixelSolidColor() const { return Color(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr<SharedBuffer> m_encodedImageData;
</del><ins>+    RefPtr<FragmentedSharedBuffer> m_encodedImageData;
</ins><span class="cx">     ImageObserver* m_imageObserver;
</span><span class="cx">     std::unique_ptr<Timer> m_animationStartTimer;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageBackingStoreh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageBackingStore.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageBackingStore.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/ImageBackingStore.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><span class="cx">         buffer.grow(bufferSize);
</span><del>-        m_pixels = SharedBuffer::DataSegment::create(WTFMove(buffer));
</del><ins>+        m_pixels = FragmentedSharedBuffer::DataSegment::create(WTFMove(buffer));
</ins><span class="cx">         m_pixelsPtr = reinterpret_cast<uint32_t*>(const_cast<uint8_t*>(m_pixels->data()));
</span><span class="cx">         m_size = size;
</span><span class="cx">         m_frameRect = IntRect(IntPoint(), m_size);
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(!m_size.isEmpty() && !isOverSize(m_size));
</span><span class="cx">         Vector<uint8_t> buffer { other.m_pixels->data(), other.m_pixels->size() };
</span><del>-        m_pixels = SharedBuffer::DataSegment::create(WTFMove(buffer));
</del><ins>+        m_pixels = FragmentedSharedBuffer::DataSegment::create(WTFMove(buffer));
</ins><span class="cx">         m_pixelsPtr = reinterpret_cast<uint32_t*>(const_cast<uint8_t*>(m_pixels->data()));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx">         return PackedColor::ARGB { result }.value;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr<SharedBuffer::DataSegment> m_pixels;
</del><ins>+    RefPtr<FragmentedSharedBuffer::DataSegment> m_pixels;
</ins><span class="cx">     uint32_t* m_pixelsPtr { nullptr };
</span><span class="cx">     IntSize m_size;
</span><span class="cx">     IntRect m_frameRect; // This will always just be the entire buffer except for GIF and PNG frames
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageDecodercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageDecoder.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageDecoder.cpp  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/ImageDecoder.cpp     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-RefPtr<ImageDecoder> ImageDecoder::create(SharedBuffer& data, const String& mimeType, AlphaOption alphaOption, GammaAndColorProfileOption gammaAndColorProfileOption)
</del><ins>+RefPtr<ImageDecoder> ImageDecoder::create(FragmentedSharedBuffer& data, const String& mimeType, AlphaOption alphaOption, GammaAndColorProfileOption gammaAndColorProfileOption)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(mimeType);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageDecoderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageDecoder.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageDecoder.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/ImageDecoder.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -37,12 +37,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class ImageDecoder : public ThreadSafeRefCounted<ImageDecoder> {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static RefPtr<ImageDecoder> create(SharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</del><ins>+    static RefPtr<ImageDecoder> create(FragmentedSharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</ins><span class="cx">     virtual ~ImageDecoder() = default;
</span><span class="cx"> 
</span><span class="cx">     enum class MediaType {
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> #if ENABLE(GPU_PROCESS)
</span><span class="cx">     using SupportsMediaTypeFunc = Function<bool(MediaType)>;
</span><span class="cx">     using CanDecodeTypeFunc = Function<bool(const String&)>;
</span><del>-    using CreateImageDecoderFunc = Function<RefPtr<ImageDecoder>(SharedBuffer&, const String&, AlphaOption, GammaAndColorProfileOption)>;
</del><ins>+    using CreateImageDecoderFunc = Function<RefPtr<ImageDecoder>(FragmentedSharedBuffer&, const String&, AlphaOption, GammaAndColorProfileOption)>;
</ins><span class="cx"> 
</span><span class="cx">     struct ImageDecoderFactory {
</span><span class="cx">         SupportsMediaTypeFunc supportsMediaType;
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     virtual PlatformImagePtr createFrameImageAtIndex(size_t, SubsamplingLevel = SubsamplingLevel::Default, const DecodingOptions& = DecodingOptions(DecodingMode::Synchronous)) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void setExpectedContentSize(long long) { }
</span><del>-    virtual void setData(SharedBuffer&, bool allDataReceived) = 0;
</del><ins>+    virtual void setData(FragmentedSharedBuffer&, bool allDataReceived) = 0;
</ins><span class="cx">     virtual bool isAllDataReceived() const = 0;
</span><span class="cx">     virtual void clearFrameBufferCache(size_t) = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageSource.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageSource.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/ImageSource.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     ASSERT(&m_runLoop == &RunLoop::current());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ImageSource::ensureDecoderAvailable(SharedBuffer* data)
</del><ins>+bool ImageSource::ensureDecoderAvailable(FragmentedSharedBuffer* data)
</ins><span class="cx"> {
</span><span class="cx">     if (!data || isDecoderAvailable())
</span><span class="cx">         return true;
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ImageSource::setData(SharedBuffer* data, bool allDataReceived)
</del><ins>+void ImageSource::setData(FragmentedSharedBuffer* data, bool allDataReceived)
</ins><span class="cx"> {
</span><span class="cx">     if (!data || !ensureDecoderAvailable(data))
</span><span class="cx">         return;
</span><span class="lines">@@ -104,13 +104,13 @@
</span><span class="cx">     m_decoder->setData(*data, allDataReceived);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ImageSource::resetData(SharedBuffer* data)
</del><ins>+void ImageSource::resetData(FragmentedSharedBuffer* data)
</ins><span class="cx"> {
</span><span class="cx">     m_decoder = nullptr;
</span><span class="cx">     setData(data, isAllDataReceived());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedDataStatus ImageSource::dataChanged(SharedBuffer* data, bool allDataReceived)
</del><ins>+EncodedDataStatus ImageSource::dataChanged(FragmentedSharedBuffer* data, bool allDataReceived)
</ins><span class="cx"> {
</span><span class="cx">     setData(data, allDataReceived);
</span><span class="cx">     clearMetadata();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsImageSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ImageSource.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ImageSource.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/ImageSource.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> class BitmapImage;
</span><span class="cx"> class GraphicsContext;
</span><span class="cx"> class ImageDecoder;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class ImageSource : public ThreadSafeRefCounted<ImageSource>, public CanMakeWeakPtr<ImageSource> {
</span><span class="cx">     friend class BitmapImage;
</span><span class="lines">@@ -56,9 +56,9 @@
</span><span class="cx">         return adoptRef(*new ImageSource(WTFMove(nativeImage)));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setData(SharedBuffer* data, bool allDataReceived);
-    void resetData(SharedBuffer* data);
-    EncodedDataStatus dataChanged(SharedBuffer* data, bool allDataReceived);
</del><ins>+    void setData(FragmentedSharedBuffer* data, bool allDataReceived);
+    void resetData(FragmentedSharedBuffer* data);
+    EncodedDataStatus dataChanged(FragmentedSharedBuffer* data, bool allDataReceived);
</ins><span class="cx">     bool isAllDataReceived();
</span><span class="cx"> 
</span><span class="cx">     unsigned decodedSize() const { return m_decodedSize; }
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">     template<typename T>
</span><span class="cx">     T firstFrameMetadataCacheIfNeeded(T& cachedValue, MetadataType, T (ImageFrame::*functor)() const, ImageFrame::Caching, const std::optional<SubsamplingLevel>& = { });
</span><span class="cx"> 
</span><del>-    bool ensureDecoderAvailable(SharedBuffer* data);
</del><ins>+    bool ensureDecoderAvailable(FragmentedSharedBuffer* data);
</ins><span class="cx">     bool isDecoderAvailable() const { return m_decoder; }
</span><span class="cx">     void destroyDecodedData(size_t frameCount, size_t excludeFrame);
</span><span class="cx">     void decodedSizeChanged(long long decodedSize);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsModelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Model.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Model.cpp 2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Model.cpp    2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -30,12 +30,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref<Model> Model::create(Ref<ContiguousSharedBuffer>&& data, String mimeType, URL url)
</del><ins>+Ref<Model> Model::create(Ref<SharedBuffer>&& data, String mimeType, URL url)
</ins><span class="cx"> {
</span><span class="cx">     return adoptRef(*new Model(WTFMove(data), WTFMove(mimeType), WTFMove(url)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Model::Model(Ref<ContiguousSharedBuffer>&& data, String mimeType, URL url)
</del><ins>+Model::Model(Ref<SharedBuffer>&& data, String mimeType, URL url)
</ins><span class="cx">     : m_data(WTFMove(data))
</span><span class="cx">     , m_mimeType(WTFMove(mimeType))
</span><span class="cx">     , m_url(WTFMove(url))
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsModelh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Model.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Model.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/Model.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -38,10 +38,10 @@
</span><span class="cx"> 
</span><span class="cx"> class Model final : public RefCounted<Model> {
</span><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT static Ref<Model> create(Ref<ContiguousSharedBuffer>&&, String, URL);
</del><ins>+    WEBCORE_EXPORT static Ref<Model> create(Ref<SharedBuffer>&&, String, URL);
</ins><span class="cx">     WEBCORE_EXPORT ~Model();
</span><span class="cx"> 
</span><del>-    Ref<ContiguousSharedBuffer> data() const { return m_data; }
</del><ins>+    Ref<SharedBuffer> data() const { return m_data; }
</ins><span class="cx">     const String& mimeType() const { return m_mimeType; }
</span><span class="cx">     const URL& url() const { return m_url; }
</span><span class="cx">     
</span><span class="lines">@@ -49,9 +49,9 @@
</span><span class="cx">     template<class Decoder> static RefPtr<Model> decode(Decoder&);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    explicit Model(Ref<ContiguousSharedBuffer>&&, String, URL);
</del><ins>+    explicit Model(Ref<SharedBuffer>&&, String, URL);
</ins><span class="cx"> 
</span><del>-    Ref<ContiguousSharedBuffer> m_data;
</del><ins>+    Ref<SharedBuffer> m_data;
</ins><span class="cx">     String m_mimeType;
</span><span class="cx">     URL m_url;
</span><span class="cx"> };
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     if (!url)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return Model::create(ContiguousSharedBuffer::create(WTFMove(data)), WTFMove(*mimeType), WTFMove(*url));
</del><ins>+    return Model::create(SharedBuffer::create(WTFMove(data)), WTFMove(*mimeType), WTFMove(*url));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, const Model&);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsPlatformMediaResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/PlatformMediaResourceLoader.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -51,8 +51,8 @@
</span><span class="cx">     virtual void redirectReceived(PlatformMediaResource&, ResourceRequest&& request, const ResourceResponse&, CompletionHandler<void(ResourceRequest&&)>&& completionHandler) { completionHandler(WTFMove(request)); }
</span><span class="cx">     virtual bool shouldCacheResponse(PlatformMediaResource&, const ResourceResponse&) { return true; }
</span><span class="cx">     virtual void dataSent(PlatformMediaResource&, unsigned long long, unsigned long long) { }
</span><del>-    virtual void dataReceived(PlatformMediaResource&, Ref<SharedBuffer>&&) { RELEASE_ASSERT_NOT_REACHED(); }
-    // This method should be removed once CachedRawResourceClient uses SharedBuffer.
</del><ins>+    virtual void dataReceived(PlatformMediaResource&, Ref<FragmentedSharedBuffer>&&) { RELEASE_ASSERT_NOT_REACHED(); }
+    // This method should be removed once CachedRawResourceClient uses FragmentedSharedBuffer.
</ins><span class="cx">     virtual void dataReceived(PlatformMediaResource& platform, const uint8_t* data, int length) { dataReceived(platform, SharedBuffer::create(data, length)); }
</span><span class="cx">     virtual void accessControlCheckFailed(PlatformMediaResource&, const ResourceError&) { }
</span><span class="cx">     virtual void loadFailed(PlatformMediaResource&, const ResourceError&) { }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsSourceBufferPrivatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.cpp      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -1318,7 +1318,7 @@
</span><span class="cx">     updateHighestPresentationTimestamp();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SourceBufferPrivate::append(Ref<SharedBuffer>&& buffer)
</del><ins>+void SourceBufferPrivate::append(Ref<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     append(buffer->extractData());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsSourceBufferPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class TimeRanges;
</span><span class="cx"> 
</span><span class="cx"> enum class SourceBufferAppendMode : uint8_t {
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     WEBCORE_EXPORT virtual ~SourceBufferPrivate();
</span><span class="cx"> 
</span><span class="cx">     virtual void setActive(bool) = 0;
</span><del>-    WEBCORE_EXPORT virtual void append(Ref<SharedBuffer>&&);
</del><ins>+    WEBCORE_EXPORT virtual void append(Ref<FragmentedSharedBuffer>&&);
</ins><span class="cx">     virtual void abort() = 0;
</span><span class="cx">     virtual void resetParserState() = 0;
</span><span class="cx">     virtual void removedFromMediaSource() = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsWOFFFileFormatcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/WOFFFileFormat.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/WOFFFileFormat.cpp        2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/WOFFFileFormat.cpp   2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static bool readUInt32(ContiguousSharedBuffer& buffer, size_t& offset, uint32_t& value)
</del><ins>+static bool readUInt32(SharedBuffer& buffer, size_t& offset, uint32_t& value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(offset, offset <= buffer.size());
</span><span class="cx">     if (buffer.size() - offset < sizeof(value))
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool readUInt16(ContiguousSharedBuffer& buffer, size_t& offset, uint16_t& value)
</del><ins>+static bool readUInt16(SharedBuffer& buffer, size_t& offset, uint16_t& value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(offset, offset <= buffer.size());
</span><span class="cx">     if (buffer.size() - offset < sizeof(value))
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx"> static const uint32_t woffSignature = 0x774f4646; /* 'wOFF' */
</span><span class="cx"> 
</span><del>-bool isWOFF(ContiguousSharedBuffer& buffer)
</del><ins>+bool isWOFF(SharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     size_t offset = 0;
</span><span class="cx">     uint32_t signature;
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> };
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-bool convertWOFFToSfnt(ContiguousSharedBuffer& woff, Vector<uint8_t>& sfnt)
</del><ins>+bool convertWOFFToSfnt(SharedBuffer& woff, Vector<uint8_t>& sfnt)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(sfnt, sfnt.isEmpty());
</span><span class="cx"> 
</span><span class="lines">@@ -283,7 +283,7 @@
</span><span class="cx">     return sfnt.size() == totalSfntSize;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool convertWOFFToSfntIfNecessary(RefPtr<ContiguousSharedBuffer>& buffer)
</del><ins>+bool convertWOFFToSfntIfNecessary(RefPtr<SharedBuffer>& buffer)
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     UNUSED_PARAM(buffer);
</span><span class="lines">@@ -294,7 +294,7 @@
</span><span class="cx"> 
</span><span class="cx">     Vector<uint8_t> convertedFont;
</span><span class="cx">     if (convertWOFFToSfnt(*buffer, convertedFont))
</span><del>-        buffer = ContiguousSharedBuffer::create(WTFMove(convertedFont));
</del><ins>+        buffer = SharedBuffer::create(WTFMove(convertedFont));
</ins><span class="cx">     else
</span><span class="cx">         buffer = nullptr;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsWOFFFileFormath"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/WOFFFileFormat.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/WOFFFileFormat.h  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/WOFFFileFormat.h     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -30,19 +30,19 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> // Returns whether the buffer is a WOFF file.
</span><del>-bool isWOFF(ContiguousSharedBuffer&);
</del><ins>+bool isWOFF(SharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx"> // Returns false if the WOFF file woff is invalid or could not be converted to sfnt (for example,
</span><span class="cx"> // if conversion ran out of memory). Otherwise returns true and writes the sfnt payload into sfnt.
</span><del>-bool convertWOFFToSfnt(ContiguousSharedBuffer& woff, Vector<uint8_t>& sfnt);
</del><ins>+bool convertWOFFToSfnt(SharedBuffer& woff, Vector<uint8_t>& sfnt);
</ins><span class="cx"> 
</span><span class="cx"> // If the given buffer is a WOFF file and the current platform has no native support for WOFF
</span><span class="cx"> // fonts, convert it to sfnt. Returns true if the given buffer was converted. If conversion fails,
</span><span class="cx"> // the buffer will be set to nullptr.
</span><del>-bool convertWOFFToSfntIfNecessary(RefPtr<ContiguousSharedBuffer>&);
</del><ins>+bool convertWOFFToSfntIfNecessary(RefPtr<SharedBuffer>&);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     return skd;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Vector<Ref<SharedBuffer>> extractSinfData(const SharedBuffer& buffer)
</del><ins>+static Vector<Ref<FragmentedSharedBuffer>> extractSinfData(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // JSON of the format: "{ sinf: [ <base64-encoded-string> ] }"
</span><span class="cx">     if (buffer.size() > std::numeric_limits<unsigned>::max())
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     if (!sinfArray)
</span><span class="cx">         return { };
</span><span class="cx"> 
</span><del>-    Vector<Ref<SharedBuffer>> sinfs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> sinfs;
</ins><span class="cx">     sinfs.reserveInitialCapacity(sinfArray->length());
</span><span class="cx"> 
</span><span class="cx">     for (auto& value : *sinfArray) {
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> using SchemeAndKeyResult = Vector<std::pair<FourCC, Vector<uint8_t>>>;
</span><del>-static SchemeAndKeyResult extractSchemeAndKeyIdFromSinf(const SharedBuffer& buffer)
</del><ins>+static SchemeAndKeyResult extractSchemeAndKeyIdFromSinf(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     auto buffers = extractSinfData(buffer);
</span><span class="cx">     if (!buffers.size())
</span><span class="lines">@@ -170,9 +170,9 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<Vector<Ref<SharedBuffer>>> CDMPrivateFairPlayStreaming::extractKeyIDsSinf(const SharedBuffer& buffer)
</del><ins>+std::optional<Vector<Ref<FragmentedSharedBuffer>>> CDMPrivateFairPlayStreaming::extractKeyIDsSinf(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><del>-    Vector<Ref<SharedBuffer>> keyIDs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> keyIDs;
</ins><span class="cx">     auto results = extractSchemeAndKeyIdFromSinf(buffer);
</span><span class="cx"> 
</span><span class="cx">     for (auto& result : results) {
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">     return keyIDs;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDMPrivateFairPlayStreaming::sanitizeSinf(const SharedBuffer& buffer)
</del><ins>+RefPtr<FragmentedSharedBuffer> CDMPrivateFairPlayStreaming::sanitizeSinf(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // Common SINF Box Format
</span><span class="cx">     UNUSED_PARAM(buffer);
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx">     return buffer.copy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDMPrivateFairPlayStreaming::sanitizeSkd(const SharedBuffer& buffer)
</del><ins>+RefPtr<FragmentedSharedBuffer> CDMPrivateFairPlayStreaming::sanitizeSkd(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(buffer);
</span><span class="cx">     notImplemented();
</span><span class="lines">@@ -198,10 +198,10 @@
</span><span class="cx">     return buffer.copy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<Vector<Ref<SharedBuffer>>> CDMPrivateFairPlayStreaming::extractKeyIDsSkd(const SharedBuffer& buffer)
</del><ins>+std::optional<Vector<Ref<FragmentedSharedBuffer>>> CDMPrivateFairPlayStreaming::extractKeyIDsSkd(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // In the 'skd' scheme, the init data is the key ID.
</span><del>-    Vector<Ref<SharedBuffer>> keyIDs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> keyIDs;
</ins><span class="cx">     keyIDs.append(buffer.copy());
</span><span class="cx">     return keyIDs;
</span><span class="cx"> }
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool CDMPrivateFairPlayStreaming::supportsInitData(const AtomString& initDataType, const SharedBuffer& initData) const
</del><ins>+bool CDMPrivateFairPlayStreaming::supportsInitData(const AtomString& initDataType, const FragmentedSharedBuffer& initData) const
</ins><span class="cx"> {
</span><span class="cx">     if (!validInitDataTypes().contains(initDataType))
</span><span class="cx">         return false;
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> CDMPrivateFairPlayStreaming::sanitizeResponse(const SharedBuffer& response) const
</del><ins>+RefPtr<FragmentedSharedBuffer> CDMPrivateFairPlayStreaming::sanitizeResponse(const FragmentedSharedBuffer& response) const
</ins><span class="cx"> {
</span><span class="cx">     return response.copy();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -71,17 +71,17 @@
</span><span class="cx">     void loadAndInitialize() override;
</span><span class="cx">     bool supportsServerCertificates() const override;
</span><span class="cx">     bool supportsSessions() const override;
</span><del>-    bool supportsInitData(const AtomString&, const SharedBuffer&) const override;
-    RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&) const override;
</del><ins>+    bool supportsInitData(const AtomString&, const FragmentedSharedBuffer&) const override;
+    RefPtr<FragmentedSharedBuffer> sanitizeResponse(const FragmentedSharedBuffer&) const override;
</ins><span class="cx">     std::optional<String> sanitizeSessionId(const String&) const override;
</span><span class="cx"> 
</span><span class="cx">     static const AtomString& sinfName();
</span><del>-    static std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDsSinf(const SharedBuffer&);
-    static RefPtr<SharedBuffer> sanitizeSinf(const SharedBuffer&);
</del><ins>+    static std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDsSinf(const FragmentedSharedBuffer&);
+    static RefPtr<FragmentedSharedBuffer> sanitizeSinf(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     static const AtomString& skdName();
</span><del>-    static std::optional<Vector<Ref<SharedBuffer>>> extractKeyIDsSkd(const SharedBuffer&);
-    static RefPtr<SharedBuffer> sanitizeSkd(const SharedBuffer&);
</del><ins>+    static std::optional<Vector<Ref<FragmentedSharedBuffer>>> extractKeyIDsSkd(const FragmentedSharedBuffer&);
+    static RefPtr<FragmentedSharedBuffer> sanitizeSkd(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     static const Vector<FourCC>& validFairPlayStreamingSchemes();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationFormatDescriptionUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp       2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp  2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">             auto sampleExtensions = static_cast<CFDataRef>(CFDictionaryGetValue(sampleExtensionsDict, CFSTR("avcC")));
</span><span class="cx">             if (!sampleExtensions)
</span><span class="cx">                 return "avc1";
</span><del>-            auto configurationRecordBuffer = ContiguousSharedBuffer::create(sampleExtensions);
</del><ins>+            auto configurationRecordBuffer = SharedBuffer::create(sampleExtensions);
</ins><span class="cx">             auto parameters = parseAVCDecoderConfigurationRecord(configurationRecordBuffer);
</span><span class="cx">             if (!parameters)
</span><span class="cx">                 return "avc1";
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx">             auto sampleExtensions = static_cast<CFDataRef>(CFDictionaryGetValue(sampleExtensionsDict, CFSTR("hvcC")));
</span><span class="cx">             if (!sampleExtensions)
</span><span class="cx">                 return "hvc1";
</span><del>-            auto configurationRecordBuffer = ContiguousSharedBuffer::create(sampleExtensions);
</del><ins>+            auto configurationRecordBuffer = SharedBuffer::create(sampleExtensions);
</ins><span class="cx">             auto parameters = parseHEVCDecoderConfigurationRecord(kCMVideoCodecType_HEVC, configurationRecordBuffer);
</span><span class="cx">             if (!parameters)
</span><span class="cx">                 return "hvc1";
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">             auto sampleExtensions = static_cast<CFDataRef>(CFDictionaryGetValue(sampleExtensionsDict, CFSTR("dvcC")));
</span><span class="cx">             if (!sampleExtensions)
</span><span class="cx">                 return "dvh1";
</span><del>-            auto configurationRecordBuffer = ContiguousSharedBuffer::create(sampleExtensions);
</del><ins>+            auto configurationRecordBuffer = SharedBuffer::create(sampleExtensions);
</ins><span class="cx">             auto parameters = parseDoViDecoderConfigurationRecord(configurationRecordBuffer);
</span><span class="cx">             if (!parameters)
</span><span class="cx">                 return "dvh1";
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx">     ImplementationType implementationType() const final { return ImplementationType::FairPlayStreaming; }
</span><span class="cx"> 
</span><span class="cx">     void initializeWithConfiguration(const CDMKeySystemConfiguration&, AllowDistinctiveIdentifiers, AllowPersistentState, SuccessCallback&&) final;
</span><del>-    void setServerCertificate(Ref<SharedBuffer>&&, SuccessCallback&&) final;
</del><ins>+    void setServerCertificate(Ref<FragmentedSharedBuffer>&&, SuccessCallback&&) final;
</ins><span class="cx">     void setStorageDirectory(const String&) final;
</span><span class="cx">     RefPtr<CDMInstanceSession> createSession() final;
</span><span class="cx">     void setClient(WeakPtr<CDMInstanceClient>&&) final;
</span><span class="lines">@@ -94,10 +94,10 @@
</span><span class="cx"> 
</span><span class="cx">     NSURL *storageURL() const { return m_storageURL.get(); }
</span><span class="cx">     bool persistentStateAllowed() const { return m_persistentStateAllowed; }
</span><del>-    SharedBuffer* serverCertificate() const { return m_serverCertificate.get(); }
</del><ins>+    FragmentedSharedBuffer* serverCertificate() const { return m_serverCertificate.get(); }
</ins><span class="cx">     AVContentKeySession* contentKeySession();
</span><span class="cx"> 
</span><del>-    RetainPtr<AVContentKeyRequest> takeUnexpectedKeyRequestForInitializationData(const AtomString& initDataType, SharedBuffer& initData);
</del><ins>+    RetainPtr<AVContentKeyRequest> takeUnexpectedKeyRequestForInitializationData(const AtomString& initDataType, FragmentedSharedBuffer& initData);
</ins><span class="cx"> 
</span><span class="cx">     // AVContentKeySessionDelegateClient
</span><span class="cx">     void didProvideRequest(AVContentKeyRequest*) final;
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">     void outputObscuredDueToInsufficientExternalProtectionChanged(bool) final;
</span><span class="cx">     void externalProtectionStatusDidChangeForContentKeyRequest(AVContentKeyRequest*) final;
</span><span class="cx"> 
</span><del>-    using Keys = Vector<Ref<SharedBuffer>>;
</del><ins>+    using Keys = Vector<Ref<FragmentedSharedBuffer>>;
</ins><span class="cx">     CDMInstanceSessionFairPlayStreamingAVFObjC* sessionForKeyIDs(const Keys&) const;
</span><span class="cx">     CDMInstanceSessionFairPlayStreamingAVFObjC* sessionForGroup(AVContentKeyReportGroup*) const;
</span><span class="cx">     CDMInstanceSessionFairPlayStreamingAVFObjC* sessionForRequest(AVContentKeyRequest*) const;
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     WeakPtr<CDMInstanceClient> m_client;
</span><span class="cx">     RetainPtr<AVContentKeySession> m_session;
</span><span class="cx">     RetainPtr<WebCoreFPSContentKeySessionDelegate> m_delegate;
</span><del>-    RefPtr<SharedBuffer> m_serverCertificate;
</del><ins>+    RefPtr<FragmentedSharedBuffer> m_serverCertificate;
</ins><span class="cx">     bool m_persistentStateAllowed { true };
</span><span class="cx">     RetainPtr<NSURL> m_storageURL;
</span><span class="cx">     Vector<WeakPtr<CDMInstanceSessionFairPlayStreamingAVFObjC>> m_sessions;
</span><span class="lines">@@ -150,8 +150,8 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // CDMInstanceSession
</span><del>-    void requestLicense(LicenseType, const AtomString& initDataType, Ref<SharedBuffer>&& initData, LicenseCallback&&) final;
-    void updateLicense(const String&, LicenseType, Ref<SharedBuffer>&&, LicenseUpdateCallback&&) final;
</del><ins>+    void requestLicense(LicenseType, const AtomString& initDataType, Ref<FragmentedSharedBuffer>&& initData, LicenseCallback&&) final;
+    void updateLicense(const String&, LicenseType, Ref<FragmentedSharedBuffer>&&, LicenseUpdateCallback&&) final;
</ins><span class="cx">     void loadSession(LicenseType, const String&, const String&, LoadSessionCallback&&) final;
</span><span class="cx">     void closeSession(const String&, CloseSessionCallback&&) final;
</span><span class="cx">     void removeSessionData(const String&, LicenseType, RemoveSessionDataCallback&&) final;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx">     return AtomString(nsInitType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref<SharedBuffer> initializationDataForRequest(AVContentKeyRequest* request)
</del><ins>+static Ref<FragmentedSharedBuffer> initializationDataForRequest(AVContentKeyRequest* request)
</ins><span class="cx"> {
</span><span class="cx">     if (!request)
</span><span class="cx">         return SharedBuffer::create();
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">     return m_session.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<AVContentKeyRequest> CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData(const AtomString& initDataType, SharedBuffer& initData)
</del><ins>+RetainPtr<AVContentKeyRequest> CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData(const AtomString& initDataType, FragmentedSharedBuffer& initData)
</ins><span class="cx"> {
</span><span class="cx">     for (auto requestIter = m_unexpectedKeyRequests.begin(); requestIter != m_unexpectedKeyRequests.end(); ++requestIter) {
</span><span class="cx">         auto& request = *requestIter;
</span><span class="lines">@@ -316,7 +316,7 @@
</span><span class="cx">     ResponseMap m_responses;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static RefPtr<JSON::Value> parseJSONValue(const SharedBuffer& buffer)
</del><ins>+static RefPtr<JSON::Value> parseJSONValue(const FragmentedSharedBuffer& buffer)
</ins><span class="cx"> {
</span><span class="cx">     // Fail on large buffers whose size doesn't fit into a 32-bit unsigned integer.
</span><span class="cx">     size_t size = buffer.size();
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx">     callback(initialize());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceFairPlayStreamingAVFObjC::setServerCertificate(Ref<SharedBuffer>&& serverCertificate, SuccessCallback&& callback)
</del><ins>+void CDMInstanceFairPlayStreamingAVFObjC::setServerCertificate(Ref<FragmentedSharedBuffer>&& serverCertificate, SuccessCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx">     DEBUG_LOG_IF_POSSIBLE(LOGIDENTIFIER);
</span><span class="cx">     m_serverCertificate = WTFMove(serverCertificate);
</span><span class="lines">@@ -585,8 +585,8 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         auto sessionKeys = sessionInterface->keyIDs();
</span><del>-        if (anyOf(sessionKeys, [&](const Ref<SharedBuffer>& sessionKey) {
-            return keyIDs.findMatching([&](const Ref<SharedBuffer>& keyID) {
</del><ins>+        if (anyOf(sessionKeys, [&](const Ref<FragmentedSharedBuffer>& sessionKey) {
+            return keyIDs.findMatching([&](const Ref<FragmentedSharedBuffer>& keyID) {
</ins><span class="cx">                 return keyID.get() == sessionKey.get();
</span><span class="cx">             }) != notFound;
</span><span class="cx">         }))
</span><span class="lines">@@ -673,7 +673,7 @@
</span><span class="cx">     return keyIDs;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense(LicenseType licenseType, const AtomString& initDataType, Ref<SharedBuffer>&& initData, LicenseCallback&& callback)
</del><ins>+void CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense(LicenseType licenseType, const AtomString& initDataType, Ref<FragmentedSharedBuffer>&& initData, LicenseCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx">     if (!isLicenseTypeSupported(licenseType)) {
</span><span class="cx">         DEBUG_LOG_IF_POSSIBLE(LOGIDENTIFIER, " false, licenseType \"", licenseType, "\" not supported");
</span><span class="lines">@@ -736,7 +736,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool isEqual(const SharedBuffer& data, const String& value)
</del><ins>+static bool isEqual(const FragmentedSharedBuffer& data, const String& value)
</ins><span class="cx"> {
</span><span class="cx">     auto arrayBuffer = data.tryCreateArrayBuffer();
</span><span class="cx">     if (!arrayBuffer)
</span><span class="lines">@@ -754,7 +754,7 @@
</span><span class="cx">     return stringOrException.returnValue() == value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense(const String&, LicenseType, Ref<SharedBuffer>&& responseData, LicenseUpdateCallback&& callback)
</del><ins>+void CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense(const String&, LicenseType, Ref<FragmentedSharedBuffer>&& responseData, LicenseUpdateCallback&& callback)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_expiredSessions.isEmpty() && isEqual(responseData, "acknowledged"_s)) {
</span><span class="cx">         auto* certificate = m_instance->serverCertificate();
</span><span class="lines">@@ -856,7 +856,7 @@
</span><span class="cx">             auto keyID = SharedBuffer::create(WTFMove(*keyIDVector));
</span><span class="cx">             auto foundIndex = m_currentRequest.value().requests.findMatching([&] (auto& request) {
</span><span class="cx">                 auto keyIDs = keyIDsForRequest(request.get());
</span><del>-                return keyIDs.findMatching([&](const Ref<SharedBuffer>& id) {
</del><ins>+                return keyIDs.findMatching([&](const Ref<FragmentedSharedBuffer>& id) {
</ins><span class="cx">                     return id.get() == keyID.get();
</span><span class="cx">                 }) != notFound;
</span><span class="cx">             });
</span><span class="lines">@@ -1155,7 +1155,7 @@
</span><span class="cx">     if (auto* certificate = m_instance->serverCertificate())
</span><span class="cx">         appIdentifier = certificate->makeContiguous()->createNSData();
</span><span class="cx"> 
</span><del>-    using RequestsData = Vector<std::pair<RefPtr<SharedBuffer>, RetainPtr<NSData>>>;
</del><ins>+    using RequestsData = Vector<std::pair<RefPtr<FragmentedSharedBuffer>, RetainPtr<NSData>>>;
</ins><span class="cx">     struct CallbackAggregator final : public ThreadSafeRefCounted<CallbackAggregator> {
</span><span class="cx">         using CallbackFunction = Function<void(RequestsData&&)>;
</span><span class="cx">         static RefPtr<CallbackAggregator> create(CallbackFunction&& completionHandler)
</span><span class="lines">@@ -1211,7 +1211,7 @@
</span><span class="cx">     @try {
</span><span class="cx">         for (auto request : m_currentRequest.value().requests) {
</span><span class="cx">             auto keyIDs = keyIDsForRequest(request.get());
</span><del>-            RefPtr<SharedBuffer> keyID = WTFMove(keyIDs.first());
</del><ins>+            RefPtr<FragmentedSharedBuffer> keyID = WTFMove(keyIDs.first());
</ins><span class="cx">             auto contentIdentifier = keyID->makeContiguous()->createNSData();
</span><span class="cx">             [request makeStreamingContentKeyRequestDataForApp:appIdentifier.get() contentIdentifier:contentIdentifier.get() options:nil completionHandler:[keyID = WTFMove(keyID), aggregator] (NSData *contentKeyRequestData, NSError *error) mutable {
</span><span class="cx">                 UNUSED_PARAM(error);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> 
</span><span class="cx"> class ImageDecoderAVFObjC : public ImageDecoder {
</span><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT static RefPtr<ImageDecoderAVFObjC> create(SharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</del><ins>+    WEBCORE_EXPORT static RefPtr<ImageDecoderAVFObjC> create(FragmentedSharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</ins><span class="cx">     virtual ~ImageDecoderAVFObjC();
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT static bool supportsMediaType(MediaType);
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     WEBCORE_EXPORT PlatformImagePtr createFrameImageAtIndex(size_t, SubsamplingLevel = SubsamplingLevel::Default, const DecodingOptions& = DecodingOptions(DecodingMode::Synchronous)) final;
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void setExpectedContentSize(long long) final;
</span><del>-    WEBCORE_EXPORT void setData(SharedBuffer&, bool allDataReceived) final;
</del><ins>+    WEBCORE_EXPORT void setData(FragmentedSharedBuffer&, bool allDataReceived) final;
</ins><span class="cx">     bool isAllDataReceived() const final { return m_isAllDataReceived; }
</span><span class="cx">     WEBCORE_EXPORT void clearFrameBufferCache(size_t) final;
</span><span class="cx"> 
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     WEBCORE_EXPORT Vector<ImageDecoder::FrameInfo> frameInfos() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ImageDecoderAVFObjC(SharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</del><ins>+    ImageDecoderAVFObjC(FragmentedSharedBuffer&, const String& mimeType, AlphaOption, GammaAndColorProfileOption);
</ins><span class="cx"> 
</span><span class="cx">     AVAssetTrack *firstEnabledTrack();
</span><span class="cx">     void readSamples();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm  2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm     2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -289,7 +289,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma mark - ImageDecoderAVFObjC
</span><span class="cx"> 
</span><del>-RefPtr<ImageDecoderAVFObjC> ImageDecoderAVFObjC::create(SharedBuffer& data, const String& mimeType, AlphaOption alphaOption, GammaAndColorProfileOption gammaAndColorProfileOption)
</del><ins>+RefPtr<ImageDecoderAVFObjC> ImageDecoderAVFObjC::create(FragmentedSharedBuffer& data, const String& mimeType, AlphaOption alphaOption, GammaAndColorProfileOption gammaAndColorProfileOption)
</ins><span class="cx"> {
</span><span class="cx">     // AVFoundation may not be available at runtime.
</span><span class="cx">     if (!AVAssetMIMETypeCache::singleton().isAvailable())
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx">     return adoptRef(*new ImageDecoderAVFObjC(data, mimeType, alphaOption, gammaAndColorProfileOption));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ImageDecoderAVFObjC::ImageDecoderAVFObjC(SharedBuffer& data, const String& mimeType, AlphaOption, GammaAndColorProfileOption)
</del><ins>+ImageDecoderAVFObjC::ImageDecoderAVFObjC(FragmentedSharedBuffer& data, const String& mimeType, AlphaOption, GammaAndColorProfileOption)
</ins><span class="cx">     : ImageDecoder()
</span><span class="cx">     , m_mimeType(mimeType)
</span><span class="cx">     , m_uti(WebCore::UTIFromMIMEType(mimeType))
</span><span class="lines">@@ -641,7 +641,7 @@
</span><span class="cx">     m_loader.get().expectedContentSize = expectedContentSize;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ImageDecoderAVFObjC::setData(SharedBuffer& data, bool allDataReceived)
</del><ins>+void ImageDecoderAVFObjC::setData(FragmentedSharedBuffer& data, bool allDataReceived)
</ins><span class="cx"> {
</span><span class="cx">     [m_loader updateData:data.makeContiguous()->createNSData().get() complete:allDataReceived];
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> class MediaPlaybackTarget;
</span><span class="cx"> class MediaSelectionGroupAVFObjC;
</span><span class="cx"> class PixelBufferConformerCV;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> class VideoLayerManagerObjC;
</span><span class="cx"> class VideoTrackPrivateAVFObjC;
</span><span class="cx"> class WebCoreAVFResourceLoader;
</span><span class="lines">@@ -427,7 +427,7 @@
</span><span class="cx">     mutable std::optional<WallTime> m_wallClockAtCachedCurrentTime;
</span><span class="cx">     mutable int m_timeControlStatusAtCachedCurrentTime { 0 };
</span><span class="cx">     mutable double m_requestedRateAtCachedCurrentTime { 0 };
</span><del>-    RefPtr<SharedBuffer> m_keyID;
</del><ins>+    RefPtr<FragmentedSharedBuffer> m_keyID;
</ins><span class="cx">     double m_cachedRate { 0 };
</span><span class="cx">     bool m_requestedPlaying { false };
</span><span class="cx">     double m_requestedRate { 1.0 };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -2798,7 +2798,7 @@
</span><span class="cx">     if (!m_keyID || !m_cdmInstance)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto instanceSession = m_cdmInstance->sessionForKeyIDs(Vector<Ref<SharedBuffer>>::from(*m_keyID));
</del><ins>+    auto instanceSession = m_cdmInstance->sessionForKeyIDs(Vector<Ref<FragmentedSharedBuffer>>::from(*m_keyID));
</ins><span class="cx">     if (!instanceSession)
</span><span class="cx">         return;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h    2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h       2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> class AudioTrackPrivateMediaSourceAVFObjC;
</span><span class="cx"> class VideoTrackPrivateMediaSourceAVFObjC;
</span><span class="cx"> class WebCoreDecompressionSession;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class SourceBufferPrivateAVFObjCErrorClient {
</span><span class="cx"> public:
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">     void didProvideMediaDataForTrackId(Ref<MediaSample>&&, uint64_t trackId, const String& mediaType);
</span><span class="cx"> 
</span><span class="cx">     // SourceBufferPrivate overrides
</span><del>-    void append(Ref<SharedBuffer>&&) final;
</del><ins>+    void append(Ref<FragmentedSharedBuffer>&&) final;
</ins><span class="cx">     void abort() final;
</span><span class="cx">     void resetParserState() final;
</span><span class="cx">     void removedFromMediaSource() final;
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA) && HAVE(AVCONTENTKEYSESSION)
</span><span class="cx">     RefPtr<CDMInstanceFairPlayStreamingAVFObjC> m_cdmInstance;
</span><del>-    Vector<Ref<SharedBuffer>> m_keyIDs;
</del><ins>+    Vector<Ref<FragmentedSharedBuffer>> m_keyIDs;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     std::optional<FloatSize> m_cachedSize;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferPrivateAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm   2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm      2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -563,7 +563,7 @@
</span><span class="cx">     UNUSED_PARAM(hasSessionSemaphore);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SourceBufferPrivateAVFObjC::append(Ref<SharedBuffer>&& data)
</del><ins>+void SourceBufferPrivateAVFObjC::append(Ref<FragmentedSharedBuffer>&& data)
</ins><span class="cx"> {
</span><span class="cx">     ALWAYS_LOG(LOGIDENTIFIER, "data length = ", data->size());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h      2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h 2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> class PlatformResourceMediaLoader;
</span><span class="cx"> class ResourceError;
</span><span class="cx"> class ResourceResponse;
</span><del>-class SharedBuffer;
</del><ins>+class FragmentedSharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class WebCoreAVFResourceLoader : public RefCounted<WebCoreAVFResourceLoader> {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(WebCoreAVFResourceLoader); WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">     void responseReceived(const ResourceResponse&);
</span><span class="cx">     void loadFailed(const ResourceError&);
</span><span class="cx">     void loadFinished();
</span><del>-    void newDataStoredInSharedBuffer(const SharedBuffer&);
</del><ins>+    void newDataStoredInSharedBuffer(const FragmentedSharedBuffer&);
</ins><span class="cx"> 
</span><span class="cx">     MediaPlayerPrivateAVFoundationObjC* m_parent;
</span><span class="cx">     RetainPtr<AVAssetResourceLoadingRequest> m_avRequest;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (287020 => 287021)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm     2021-12-14 10:43:09 UTC (rev 287020)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm        2021-12-14 10:48:01 UTC (rev 287021)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     void redirectReceived(PlatformMediaResource&, ResourceRequest&& request, const ResourceResponse&, CompletionHandler<void(ResourceRequest&&)>&& completionHandler) final { completionHandler(WTFMove(request)); }
</span><span class="cx">     bool shouldCacheResponse(PlatformMediaResource&, const ResourceResponse&) final { return false; }
</span><span class="cx">     void dataSent(PlatformMediaResource&, unsigned long long, unsigned long long) final { }
</span><del>-    void dataReceived(PlatformMediaResource&, Ref<SharedBuffer>&&) final;
</del><ins>+    void dataReceived(PlatformMediaResource&, Ref<FragmentedSharedBuffer>&&) final;
</ins><span class="cx">     void accessControlCheckFailed(PlatformMediaResource&, const ResourceError& error) final { loadFailed(error); }
</span><span class="cx">     void loadFailed(PlatformMediaResource&, const ResourceError& error) final { loadFailed(error); }
</span><span class="cx">     void loadFinished(PlatformMediaResource&, const NetworkLoadMetrics&) final { loadFinished(); }
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx">     m_parent.loadFinished();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlatformResourceMediaLoader::dataReceived(PlatformMediaResource&, Ref<SharedBuffer>&& buffer)
</del><ins>+void PlatformResourceMediaLoader::dataReceived(PlatformMediaResource&, Ref<FragmentedSharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     m_buffer.append(WTFMove(buffer));
</span><span class="cx">     m_parent.newDataStoredInSharedBuffer(*m_buffer.get());
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx"> private:
</span><span class="cx">     WebCoreAVFResourceLoader& m_parent;
</span><span class="cx">     ResourceResponse m_response;
</span><del>-    RefPtr<ContiguousSharedBuffer> m_buffer;
</del><ins>+    RefPtr<SharedBuffer> m_buffer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> DataURLResourceMediaLoader::DataURLResourceMediaLoader(WebCoreAVFResourceLoader& parent, ResourceRequest&& request)
</span><span class="lines">@@ -235,7 +235,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (auto result = DataURLDecoder::decode(request.url(), DataURLDecoder::Mode::ForgivingBase64)) {
</span><span class="cx">         m_response = ResourceResponse::dataURLResponse(request.url(), *result);
</span><del>-        m_buffer = ContiguousSharedBuffer::create(WTFMove(result->data));
</del><ins>+        m_buffer = SharedBuffer::create(WTFMove(result->data));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     callOnMainThread([this, weakThis = WeakPtr { *this }] {
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">     stopLoading();
</span><span class